Sei sulla pagina 1di 49

Introduction to Docker

Containers and
Microservices

Chris Rosen
Senior Technical Offering Manager,
IBM Bluemix Container Service
Agenda

April 14:
Intro to container technology
Intro to microservices

April 28 (Advanced Container Discussion):


Dig into IBM Bluemix Container Service
Microservices fabric

2 4/14/2017
IBM Cloud Platform

Domain Block
Mobile Cognitive IoT Health Video
Services Chain

Security and Compliance

Methods & Services


Data & DevOps
Integration App Services
Analytics Tooling
Developer
Services
Containers Cloud Foundry Event-Driven

Infrastructure
Compute Storage Network
Services

http://bluemix.net 3
Everybody loves containers
Containers
A standard way to package an application and
all its dependencies so that it can be moved
between environments and run without
changes.

Containers work by isolating the differences


between applications inside the container so
that everything outside the container can be
standardized.

IBM Bluemix Container Service | IBM Confidential | 2017 IBM Corporation


IBM Bluemix Container Service

Container History
Lesson

1982 2000 2005 2006 2007 2008 Today

Unix/chroot OpenVZ AIX Wpars


BSD Parallels IBM

FreeBSD
jails/Solaris
zones Cgroups/Process LXC
Containers
IBM/Google
Introduction to Docker
Enabling application development efficiency, making deployment more efficient,
eliminating vendor lock-in with true portability
Open Software
Launched March 2013
2.0+ billion downloads of Docker images
Open Contribution
2000+ contributors
#2 most popular project
185 community meet-up groups in 58 countries
Open Design
Contributors include IBM, Red Hat, Google,
Microsoft, VMware, AWS, Rackspace, and others
Open Governance
12 member governance advisory board selected by
the community
Docker Mission
Docker is an open platform for building distributed applications for
developers and system administrators.

Build Ship Run

Any App

Anywhere
Docker Basics A Shipping Container for Code
Image
A read-only snapshot of a container stored in Docker Hub to be used as a template for building
containers

Container
The standard unit in which the application service resides or transported

Docker Hub/Registry
Available in SaaS or Enterprise to deploy anywhere you choose
SaaS Enterprise
Stores, distributes and shares container images

Docker Engine
A program that creates, ships and runs application containers
Runs on any physical and virtual machine or server locally, in private or public cloud
Client communicates with Engine to execute commands
Docker Containers
A technical view into the shared and layered file systems technology
Docker uses a copy-on-write (union) filesystem
New files(& edits) are only visible to current/above layers
CNTR1 CNTR2 CNTR3 CNTR4

Layer app1 app2 app3 app4


Layer tomcat liberty tomcat
Layer Fedora Ubuntu
Base OS / Kernel
Filesystem
Layers allow for reuse
More containers per host
Faster start-up/download time base layers are "cached"
Images
Tarball of layers (each layer is a tarball)
Why Customers are Interested in Containers
Containers are a critical foundation for distributed apps in Hybrid Clouds
text Ship More Software
Accelerate development, CI and CD pipelines by eliminating headaches of setting up environments and
dealing with differences between environments. On average, Docker users ship software 7X more
frequently1.

Resource Efficiency

Lightweight containers run on a single machine and share the same OS kernel while images are
layered file systems sharing common files to make efficient use of RAM and disk and start instantly.

App Portability

Isolated containers package the application, dependencies and configurations together. These
containers can then seamlessly move across environments and infrastructures.

1. Docker internal research of 800 respondents.


Container Orchestration

Layer 6
Development Workflow OpenShift, Cloud Foundry, Docker Cloud, Deis, Apcera, Apprenda
Opinionated Containers

Layer 5
Orchestration/Scheduling Kubernetes, Docker Swarm, Marathon/Mesos, Nomad, Diego
Service Model

Layer 4 Container Engine Docker, rkt, runC (OCI), Osv, LXC, LXD

Layer 3 Operating System Ubuntu, RHEL, CoreOS, Unikernels

Layer 2 Virtual Infrastructure vSphere, EC2, GCP, Azure, OpenStack

Layer 1 Physical Infrastructure Raw Compute, Storage, Network

IBM and Business Partners Only


Container Orchestration Responsibilities
More to Containers than just Docker

Serverless

PaaS

Swarm/
Container Orchestration Swarm Mode

Container Engine
IBM Bluemix Container Service

Everyones container journey starts with one container.


IBM Bluemix Container Service

At first the growth is easy to handle.


IBM Bluemix Container Service

But soon it is overwhelming chaos reins


IBM Bluemix Container Service

Regain control with Kubernetes


IBM Bluemix Container Service
Beta available now.

Combining Docker and Kubernetes to deliver powerful tools,


an intuitive user experience, and built-in security and
isolation to enable rapid delivery of applications - all while
leveraging IBM Cloud Services including cognitive
capabilities from Watson.

www.ibm.com/cloud-computing/bluemix/containers
Microservices
The Hype
Interest over time

68% 75%
Feb 26, 2 Sep 1, 2013 Mar 8, 2016 Sep 11, 2016

68% of organizations are using or Businesses using microservices report


investigating microservices. a 75% drop in development lead times.
NGINX survey, 3/29/16 Techcrunch, 1/23/16
The Motivation
Being competitive
requires:

Rapid delivery
Leveraging public cloud
Simple, rapid scaling
Traditional
monoliths
fail:
Changes are
coupled
Not designed for
public cloud
Scaling is complex
The Definition
An engineering approach focused on
decomposing an application into
single-function modules with well-
defined interfaces which are
independently deployed and
operated by a small team who owns
the entire lifecycle of the service.
Microservices is
about people
Microservices accelerate delivery by
minimizing communication and
coordination between people while
reducing the scope and risk of
change.
The
Meal
The
Kitchen
The
Station
The Tools
Why
now?

Born from Enabled


DevOps by Cloud
Challenges
The
Complexity
Tradeoff
Culture Change
Weekend
Getaway
Weekend
Getaway App
The Weekend Getaway Architecture

Itinerary
Booking

Deals Concierge

Weekend Getaway UI
Users
Controller

Pricing

Dealmaker
UI Controller

Social
Personalization Spider
The Importance of APIs

Booking
Itinerary Concierge

Pricing API Gateway Deals

Personal-
Users
ization
Social
Spider
Integrated and Open DevOps Toolchain
Think Code Deliver Run Learn Manage Culture

Issue Tracker Repository Devops


GitHub GitHub
Pipeline Sauce Labs
Insights
Pager Duty Slack

Repository
Pipeline Sauce Labs Bluemix
GitHub

UI Sauce Labs
GitHub Pipeline

WED IDE
Operational
Visibility
Choose the best
runtime

Containers
Events Code
Users
Social Personalization
Spider Itinerary
Pricing
Booking
Concierge Deals
Polyglot
Development
Optimal tool
Ease of integration
Hybrid Integration

Existing
API Gateway

API Connect
Firewall
Booking

Itinerary

System
Deals
Public Local
Microservices
Fabric
Failure testing
Routing
Canary testing
Service registration
& discovery
Metrics collection
Client Success
Stories
Modernizing
Car Rental
Rewrite using microservices
Modernize infrastructure
Speed and agility
Migrate to hybrid cloud
Innovating Rapidly
with a Global
Automotive Company
Transport & mobility
Better customer experience
Flexible models
Partnered microservices
Social connection
More Microservices Resources

microservicesTV GameON
developer.ibm.com/tv/microservices gameontext.org
Thank you!
Chris Rosen
crosen@us.ibm.com
@ChrisRosen188

Potrebbero piacerti anche