introduction to docker containers and microservices - …€¦ · 11/09/2016 · chris rosen ....

49
Chris Rosen Senior Technical Offering Manager, IBM Bluemix Container Service Introduction to Docker Containers and Microservices

Upload: dangdung

Post on 27-May-2018

228 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Introduction to Docker Containers and Microservices - …€¦ · 11/09/2016 · Chris Rosen . Senior Technical Offering Manager, IBM Bluemix Container Service . Introduction to Docker

Chris Rosen Senior Technical Offering Manager, IBM Bluemix Container Service

Introduction to Docker Containers and Microservices

Page 2: Introduction to Docker Containers and Microservices - …€¦ · 11/09/2016 · Chris Rosen . Senior Technical Offering Manager, IBM Bluemix Container Service . Introduction to Docker

2 4/14/2017

Agenda

April 14:

• Intro to container technology

• Intro to microservices

April 28 (Advanced Container Discussion):

• Dig into IBM Bluemix Container Service

• Microservices fabric

Page 3: Introduction to Docker Containers and Microservices - …€¦ · 11/09/2016 · Chris Rosen . Senior Technical Offering Manager, IBM Bluemix Container Service . Introduction to Docker

3

IBM Cloud Platform

Domain Services Mobile Cognitive IoT Block

Chain Health Video

Secu

rity

and

Com

plia

nce

Met

hods

& S

ervi

ces

Developer Services

Data & Analytics Integration App Services DevOps

Tooling

Containers Cloud Foundry Event-Driven

Infrastructure Services Compute Storage Network

http://bluemix.net

Page 4: Introduction to Docker Containers and Microservices - …€¦ · 11/09/2016 · Chris Rosen . Senior Technical Offering Manager, IBM Bluemix Container Service . Introduction to Docker

Everybody loves containers

Page 5: Introduction to Docker Containers and Microservices - …€¦ · 11/09/2016 · Chris Rosen . Senior Technical Offering Manager, IBM Bluemix Container Service . Introduction to Docker

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.

Containers

IBM Bluemix Container Service | IBM Confidential | ©2017 IBM Corporation

Page 6: Introduction to Docker Containers and Microservices - …€¦ · 11/09/2016 · Chris Rosen . Senior Technical Offering Manager, IBM Bluemix Container Service . Introduction to Docker

IBM Bluemix Container Service

Unix/chroot BSD

1982 2000 Today 2008 2007 2006 2005

FreeBSD jails/Solaris

zones

OpenVZ Parallels

Cgroups/Process Containers IBM/Google

AIX Wpars IBM

LXC

Container History Lesson

Page 7: Introduction to Docker Containers and Microservices - …€¦ · 11/09/2016 · Chris Rosen . Senior Technical Offering Manager, IBM Bluemix Container Service . Introduction to Docker

Introduction to Docker

• 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

Enabling application development efficiency, making deployment more efficient, eliminating vendor ‘lock-in’ with true portability

Page 8: Introduction to Docker Containers and Microservices - …€¦ · 11/09/2016 · Chris Rosen . Senior Technical Offering Manager, IBM Bluemix Container Service . Introduction to Docker

Docker Mission Docker is an open platform for building distributed applications for developers and system administrators.

Build Ship Run

Anywhere

Any App

Page 9: Introduction to Docker Containers and Microservices - …€¦ · 11/09/2016 · Chris Rosen . Senior Technical Offering Manager, IBM Bluemix Container Service . Introduction to Docker

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 • 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

SaaS Enterprise

Page 10: Introduction to Docker Containers and Microservices - …€¦ · 11/09/2016 · Chris Rosen . Senior Technical Offering Manager, IBM Bluemix Container Service . Introduction to Docker

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

• 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)

Filesystem

Base OS / Kernel

Fedora Ubuntu

tomcat tomcat liberty

CNTR1 CNTR2 CNTR3 CNTR4

app1 app2 app4 app3 Layer

Layer

Layer

Page 11: Introduction to Docker Containers and Microservices - …€¦ · 11/09/2016 · Chris Rosen . Senior Technical Offering Manager, IBM Bluemix Container Service . Introduction to Docker

text

Why Customers are Interested in Containers

Ship More Software

App Portability

Resource Efficiency

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.

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.

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

Containers are a critical foundation for distributed apps in Hybrid Clouds

1. Docker internal research of 800 respondents.

Page 12: Introduction to Docker Containers and Microservices - …€¦ · 11/09/2016 · Chris Rosen . Senior Technical Offering Manager, IBM Bluemix Container Service . Introduction to Docker

IBM and Business Partners Only

Container Orchestration

Physical Infrastructure Layer 1 Raw Compute, Storage, Network

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

Operating System Layer 3 Ubuntu, RHEL, CoreOS, Unikernels

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

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

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

Page 13: Introduction to Docker Containers and Microservices - …€¦ · 11/09/2016 · Chris Rosen . Senior Technical Offering Manager, IBM Bluemix Container Service . Introduction to Docker

Container Orchestration Responsibilities

Page 14: Introduction to Docker Containers and Microservices - …€¦ · 11/09/2016 · Chris Rosen . Senior Technical Offering Manager, IBM Bluemix Container Service . Introduction to Docker

More to Containers than just Docker

Container Engine

Container Orchestration

PaaS

Serverless

Swarm/ Swarm Mode

Page 15: Introduction to Docker Containers and Microservices - …€¦ · 11/09/2016 · Chris Rosen . Senior Technical Offering Manager, IBM Bluemix Container Service . Introduction to Docker

Everyone’s container journey starts with one container….

IBM Bluemix Container Service

Page 16: Introduction to Docker Containers and Microservices - …€¦ · 11/09/2016 · Chris Rosen . Senior Technical Offering Manager, IBM Bluemix Container Service . Introduction to Docker

At first the growth is easy to handle….

IBM Bluemix Container Service

Page 17: Introduction to Docker Containers and Microservices - …€¦ · 11/09/2016 · Chris Rosen . Senior Technical Offering Manager, IBM Bluemix Container Service . Introduction to Docker

But soon it is overwhelming… chaos reins

IBM Bluemix Container Service

Page 18: Introduction to Docker Containers and Microservices - …€¦ · 11/09/2016 · Chris Rosen . Senior Technical Offering Manager, IBM Bluemix Container Service . Introduction to Docker

Regain control with Kubernetes

IBM Bluemix Container Service

Page 19: Introduction to Docker Containers and Microservices - …€¦ · 11/09/2016 · Chris Rosen . Senior Technical Offering Manager, IBM Bluemix Container Service . Introduction to Docker

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

IBM Bluemix Container Service

Page 20: Introduction to Docker Containers and Microservices - …€¦ · 11/09/2016 · Chris Rosen . Senior Technical Offering Manager, IBM Bluemix Container Service . Introduction to Docker

Microservices

Page 21: Introduction to Docker Containers and Microservices - …€¦ · 11/09/2016 · Chris Rosen . Senior Technical Offering Manager, IBM Bluemix Container Service . Introduction to Docker

The Hype

Feb 26, 2… Sep 1, 2013 Mar 8, 2016 Sep 11, 2016

Interest over time

68% of organizations are using or investigating microservices.

NGINX survey, 3/29/16

Businesses using microservices report a 75% drop in development lead times. Techcrunch, 1/23/16

75% 68%

Page 22: Introduction to Docker Containers and Microservices - …€¦ · 11/09/2016 · Chris Rosen . Senior Technical Offering Manager, IBM Bluemix Container Service . Introduction to Docker

The Motivation

Page 23: Introduction to Docker Containers and Microservices - …€¦ · 11/09/2016 · Chris Rosen . Senior Technical Offering Manager, IBM Bluemix Container Service . Introduction to Docker

Being competitive requires:

– Rapid delivery – Leveraging public cloud – Simple, rapid scaling

Page 24: Introduction to Docker Containers and Microservices - …€¦ · 11/09/2016 · Chris Rosen . Senior Technical Offering Manager, IBM Bluemix Container Service . Introduction to Docker

Traditional monoliths fail: – Changes are coupled

– Not designed for public cloud – Scaling is complex

Page 25: Introduction to Docker Containers and Microservices - …€¦ · 11/09/2016 · Chris Rosen . Senior Technical Offering Manager, IBM Bluemix Container Service . Introduction to Docker

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.

Page 26: Introduction to Docker Containers and Microservices - …€¦ · 11/09/2016 · Chris Rosen . Senior Technical Offering Manager, IBM Bluemix Container Service . Introduction to Docker

Microservices is about people

Microservices accelerate delivery by minimizing communication and coordination between people while reducing the scope and risk of change.

Page 27: Introduction to Docker Containers and Microservices - …€¦ · 11/09/2016 · Chris Rosen . Senior Technical Offering Manager, IBM Bluemix Container Service . Introduction to Docker

The Meal

Page 28: Introduction to Docker Containers and Microservices - …€¦ · 11/09/2016 · Chris Rosen . Senior Technical Offering Manager, IBM Bluemix Container Service . Introduction to Docker

The Kitchen

Page 29: Introduction to Docker Containers and Microservices - …€¦ · 11/09/2016 · Chris Rosen . Senior Technical Offering Manager, IBM Bluemix Container Service . Introduction to Docker

The Station

Page 30: Introduction to Docker Containers and Microservices - …€¦ · 11/09/2016 · Chris Rosen . Senior Technical Offering Manager, IBM Bluemix Container Service . Introduction to Docker

The Tools

Page 31: Introduction to Docker Containers and Microservices - …€¦ · 11/09/2016 · Chris Rosen . Senior Technical Offering Manager, IBM Bluemix Container Service . Introduction to Docker

Why now?

Born from DevOps

Enabled by Cloud

Page 32: Introduction to Docker Containers and Microservices - …€¦ · 11/09/2016 · Chris Rosen . Senior Technical Offering Manager, IBM Bluemix Container Service . Introduction to Docker

Challenges

Page 33: Introduction to Docker Containers and Microservices - …€¦ · 11/09/2016 · Chris Rosen . Senior Technical Offering Manager, IBM Bluemix Container Service . Introduction to Docker

The Complexity Tradeoff

Page 34: Introduction to Docker Containers and Microservices - …€¦ · 11/09/2016 · Chris Rosen . Senior Technical Offering Manager, IBM Bluemix Container Service . Introduction to Docker

Culture Change

Page 35: Introduction to Docker Containers and Microservices - …€¦ · 11/09/2016 · Chris Rosen . Senior Technical Offering Manager, IBM Bluemix Container Service . Introduction to Docker

Weekend Getaway

Page 36: Introduction to Docker Containers and Microservices - …€¦ · 11/09/2016 · Chris Rosen . Senior Technical Offering Manager, IBM Bluemix Container Service . Introduction to Docker

Weekend Getaway App

Page 37: Introduction to Docker Containers and Microservices - …€¦ · 11/09/2016 · Chris Rosen . Senior Technical Offering Manager, IBM Bluemix Container Service . Introduction to Docker

Personalization Social Spider

The Weekend Getaway Architecture

Users

Concierge Deals

Itinerary

Pricing

Booking

Dealmaker UI Controller

Weekend Getaway UI Controller

Page 38: Introduction to Docker Containers and Microservices - …€¦ · 11/09/2016 · Chris Rosen . Senior Technical Offering Manager, IBM Bluemix Container Service . Introduction to Docker

API Gateway

The Importance of APIs

Social Spider

Deals

Itinerary

Pricing

Booking Concierge

Users Personal-

ization

Page 39: Introduction to Docker Containers and Microservices - …€¦ · 11/09/2016 · Chris Rosen . Senior Technical Offering Manager, IBM Bluemix Container Service . Introduction to Docker

Think Code Deliver Run Learn Manage Culture

Issue Tracker GitHub

Repository GitHub

Repository GitHub

UI GitHub

WED IDE

Slack Pager Duty Sauce Labs

Sauce Labs

Sauce Labs

Devops Insights Pipeline

Pipeline

Pipeline

Bluemix

Integrated and Open DevOps Toolchain

Page 40: Introduction to Docker Containers and Microservices - …€¦ · 11/09/2016 · Chris Rosen . Senior Technical Offering Manager, IBM Bluemix Container Service . Introduction to Docker

Operational Visibility

Page 41: Introduction to Docker Containers and Microservices - …€¦ · 11/09/2016 · Chris Rosen . Senior Technical Offering Manager, IBM Bluemix Container Service . Introduction to Docker

Choose the best runtime

Events Code Containers

Social Spider Pricing

Concierge

Personalization Users

Itinerary

Booking

Deals

Page 42: Introduction to Docker Containers and Microservices - …€¦ · 11/09/2016 · Chris Rosen . Senior Technical Offering Manager, IBM Bluemix Container Service . Introduction to Docker

Polyglot Development – Optimal tool – Ease of integration

Page 43: Introduction to Docker Containers and Microservices - …€¦ · 11/09/2016 · Chris Rosen . Senior Technical Offering Manager, IBM Bluemix Container Service . Introduction to Docker

Existing System

Deals

Itinerary

API G

atew

ay

API C

onne

ct

Book

ing

Fire

wal

l Public Local

Hybrid Integration

Page 44: Introduction to Docker Containers and Microservices - …€¦ · 11/09/2016 · Chris Rosen . Senior Technical Offering Manager, IBM Bluemix Container Service . Introduction to Docker

Microservices Fabric – Failure testing – Routing – Canary testing – Service registration & discovery – Metrics collection

Page 45: Introduction to Docker Containers and Microservices - …€¦ · 11/09/2016 · Chris Rosen . Senior Technical Offering Manager, IBM Bluemix Container Service . Introduction to Docker

Client Success Stories

Page 46: Introduction to Docker Containers and Microservices - …€¦ · 11/09/2016 · Chris Rosen . Senior Technical Offering Manager, IBM Bluemix Container Service . Introduction to Docker

Modernizing Car Rental

– Rewrite using microservices – Modernize infrastructure – Speed and agility – Migrate to hybrid cloud

Page 47: Introduction to Docker Containers and Microservices - …€¦ · 11/09/2016 · Chris Rosen . Senior Technical Offering Manager, IBM Bluemix Container Service . Introduction to Docker

Innovating Rapidly with a Global Automotive Company – Transport & mobility – Better customer experience – Flexible models – Partnered microservices – Social connection

Page 48: Introduction to Docker Containers and Microservices - …€¦ · 11/09/2016 · Chris Rosen . Senior Technical Offering Manager, IBM Bluemix Container Service . Introduction to Docker

More Microservices Resources…

microservicesTV developer.ibm.com/tv/microservices

GameON gameontext.org

Page 49: Introduction to Docker Containers and Microservices - …€¦ · 11/09/2016 · Chris Rosen . Senior Technical Offering Manager, IBM Bluemix Container Service . Introduction to Docker

Thank you! Chris Rosen [email protected] @ChrisRosen188