Академический Документы
Профессиональный Документы
Культура Документы
Containers and
Microservices
Chris Rosen
Senior Technical Offering Manager,
IBM Bluemix Container Service
Agenda
April 14:
Intro to container technology
Intro to microservices
2 4/14/2017
IBM Cloud Platform
Domain Block
Mobile Cognitive IoT Health Video
Services Chain
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.
Container History
Lesson
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.
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
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.
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
Serverless
PaaS
Swarm/
Container Orchestration Swarm Mode
Container Engine
IBM Bluemix Container Service
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
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?
Itinerary
Booking
Deals Concierge
Weekend Getaway UI
Users
Controller
Pricing
Dealmaker
UI Controller
Social
Personalization Spider
The Importance of APIs
Booking
Itinerary Concierge
Personal-
Users
ization
Social
Spider
Integrated and Open DevOps Toolchain
Think Code Deliver Run Learn Manage Culture
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