SlideShare a Scribd company logo
1 of 35
Download to read offline
Are VM’s Passé?
Ben Golub
CEO Docker, Inc.
They told me that I needed a
provocative title for this talk.
So…
Q: Are VMs Passé?
A: No
Thank you for attending
A different question…
• Q: Is there a better alternative for many use cases &
environments?
–application management & creation?
–application deployment across clusters & clouds?
–CI & CD?
–scale out?
–high performance?
–collaborative development?
A: Yes
Agenda
• Server Proliferation and the rise of the VM
• The Matrix from Hell and the need for lightweight, interoperable
containers
• Step 1: Making lightweight containers:
• Containers vs. VMs: how they work
• Step 2: Making containers really interoperable:
• Step 3: Making containers really lightweight
• Step 4: Creating a container-based system for app mgt & deployment
• Step 5: Creating an ecosystem around containers
• Where to Use VMs vs. Containers/Docker
• Learn more
Some ancient history: Where did VM’s come from?
• PROBLEM IN 2000: Server Proliferation/Consolidation
- I’ve got a single purpose, physical Microsoft Exchange
Server, Mac print server, and Custom Unix inventory server
- Machines are getting more powerful
- I want to consolidate all those single purpose, physical
servers onto a single server
- BTW--It takes too damn long to provision a physical machine
• ANSWER: Create a Virtual Machine
Results
• Single purpose physical application servers
become single purpose virtual servers
• Provisioning a “server” goes from days/weeks
to minutes
• Huge cost savings
• An awesome solution to the server consolidation
problem
• An awesome solution for creating flexible
infrastructures
• Mature ecosystem and tool set for isolation,
security, management
What has changed since the VM was developed?
2000 2014
Apps are long lived Development is iterative and constant
Apps are monolithic and developed on
a single stack
Apps are created from loosely coupled
components, themselves created from
a multitude of “stacks”
Deployment is to a single server Deployment is to a variety of servers:
VM, physical, cluster, open stack,
public cloud, +++
• Result: An application isn’t easily represented or managed as a
single purpose server (whether physical or virtual)
Static website
Web frontend
User DB
Queue Analytics DB
Background workers
API endpoint
nginx 1.5 + modsecurity + openssl + bootstrap 2
postgresql + pgv8 + v8
hadoop + hive + thrift + OpenJDK
Ruby + Rails + sass + Unicorn
Redis + redis-sentinel
Python 3.0 + celery + pyredis + libcurl + ffmpeg + libopencv + nodejs +
phantomjs
Python 2.7 + Flask + pyredis + celery + psycopg + postgresql-client
Development VM
QA server
Public Cloud
Disaster recovery
Contributor’s laptop
Production Servers
The Problem in 2014MultiplicityofStacks
Multiplicityof
hardware
environments
Production Cluster
Customer Data Center
Doservicesandapps
interact
appropriately?
CanImigrate
smoothlyand
quickly?
The Matrix From Hell
Static website
Web frontend
Background workers
User DB
Analytics DB
Queue
Development
VM
QA Server
Single Prod
Server
Onsite
Cluster
Public Cloud
Contributor’s
laptop
Customer
Servers
? ? ? ? ? ? ?
? ? ? ? ? ? ?
? ? ? ? ? ? ?
? ? ? ? ? ? ?
? ? ? ? ? ? ?
? ? ? ? ? ? ?
MultiplicityofGoods
Multipilicityof
methodsfor
transporting/storing
DoIworryabout
howgoodsinteract
(e.g.coffeebeans
nexttospices)
CanItransportquickly
andsmoothly
(e.g.fromboattotrain
totruck)
An Inspiration…and some really ancient history:
Cargo Transport Pre-1960
MultiplicityofGoods
Multiplicityof
methodsfor
transporting/storing
DoIworryabout
howgoodsinteract
(e.g.coffeebeans
nexttospices)
CanItransport
quicklyandsmoothly
(e.g.fromboatto
traintotruck)
Solution: Intermodal Shipping Container
…in between, can be loaded and
unloaded, stacked, transported
efficiently over long distances,
and transferred from one mode
of transport to another
A standard container that is
loaded with virtually any
goods, and stays sealed until
it reaches final delivery.
This spawned an Intermodal Shipping Container Ecosystem
• 90% of all cargo now shipped in a standard container
• Order of magnitude reduction in cost and time to load and unload ships
• Massive reduction in losses due to theft or damage
• Huge reduction in freight cost as percent of final goods (from >25% to <3%)
 massive globalization
• 5000 ships deliver 200M containers per year
Static website Web frontendUser DB Queue Analytics DB
Development
VM
QA server Public Cloud Contributor’s
laptop
Let’s create a shipping container system for codeMultiplicityofStacks
Multiplicityof
hardware
environments
Production
Cluster
Customer Data
Center
Doservicesandapps
interact
appropriately?
CanImigrate
smoothlyandquickly
…that can be manipulated using
standard operations and run
consistently on virtually any
hardware platform
An engine that enables any
payload to be encapsulated
as a lightweight, portable,
self-sufficient container…
Static website
Web frontend
Background workers
User DB
Analytics DB
Queue
Development
VM
QA Server
Single Prod
Server
Onsite
Cluster
Public Cloud
Contributor’s
laptop
Customer
Servers
Eliminate the matrix from Hell
App
A
Step One: Create a lightweight container (vs. VMs)
Hypervisor (Type 2)
Host OS
Server
Guest
OS
Bins/
Libs
App
A’
Guest
OS
Bins/
Libs
App
B
Guest
OS
Bins/
Libs
AppA’
Host OS
Server
Bins/Libs
AppA
Bins/Libs
AppB
AppB’
AppB’
AppB’
VM
Container
Containers are isolated,
but share OS kernel and, where
appropriate, bins/libraries
Guest
OS
Guest
OS
…result is significantly faster deployment,
much less overhead, easier migration,
faster restart
A great slide stolen from IBM: Why Containers?
 Provision in seconds / milliseconds
 Near bare metal runtime performance
 10 x greater density
 VM-like agility – it’s still “virtualization”
 Flexibility
– Containerize a “system”
– Containerize “application(s)”
 Lightweight
– Just enough Operating System (JeOS)
– Minimal per container penalty
 Open source – free – lower TCO
 Supported with OOTB modern Linux kernel
 Growing in popularity
3/28/2014 20
“Containers as poised as the next VM in our modern Cloud era…”
Manual VM LXC
Provision Time
Days
Minutes
Seconds / ms
linpack performance @ 45000
0
50
100
150
200
250
1
3
5
7
9
11
13
15
17
19
21
23
25
27
29
31
BM
vcpus
GFlops
Google trends - LXC Google trends - docker
Step 2: Make the containers easy to use,
standardized, interoperable, automatable
• Shipping containers are a standard size, and
have hooks and holes in all the same places
• With Docker, Containers get the following:
- Ease of use, tooling
- Re-usable components
- Ability to run on any Linux server today: physical, virtual,
VM, cloud, OpenStack, +++
- (Stay tuned for other O/S’s)
- Ability to move between any of the above in a matter of
seconds-no modification or delay
- Ability to share containerized components
- Interoperability with all existing devops tools
- Self contained environment—no dependency hell
- Tools for how containers work together: linking, nesting,
discovery, orchestration, ++
• You get ability to separate app management
from infrastructure management
Technical & cultural revolution: separation of concerns
• Dan the Developer
• Worries about what’s “inside” the
container
• His code
• His Libraries
• His Package Manager
• His Apps
• His Data
• All Linux servers look the same
• Oscar the Ops Guy
• Worries about what’s “outside” the
container
• Logging
• Remote access
• Monitoring
• Network config
• All containers start, stop, copy, attach,
migrate, etc. the same way
Step 3: Make containers super lightweight
Bins/
Libs
App
A
Original App
(No OS to take
up space, resources,
or require restart)
AppΔ
Bins/
App
A
Bins/
Libs
App
A’
Guest
OS
Bins/
Libs
Modified App
Copy on write allows
us to only save the diffs
Between container A
and container
A’
VMs
Every app, every copy of an
app, and every slight modification
of the app requires a new virtual server
App
A
Guest
OS
Bins/
Libs
Copy of
App
No OS. Can
Share bins/libs
App
A
Guest
OS
Guest
OS
VMs Containers
Prod Hosts 21000+: OS (Linux)Prod Hosts 21000+: OS (Linux)
Step 4: Build a System for creating, managing,
deploying code
Source
Code
Repository
Dockerfile
For
A
Docker
Registry
Build
Docker
Prod Hosts: OS (Linux)
ContainerA
ContainerB
ContainerC
ContainerA
Push
Search
Pull
Run
Dev Host : OS (Linux)
Docker
Including a System for Changes and Updates
Docker
Registry
Push
Update
Bins/
Libs
App
A
AppΔ
Bins/
Base
Container
Image
Hosts are now running A’’
Container
Mod A’’
AppΔ
Bins/
Bins/
Libs
App
A
Bins/
Bins/
Libs
App
A’’
Host(s) running A want to upgrade to A’’.
Requests update. Gets only diffs
Container
Mod A’
Prod Hosts 21000+: OS (Linux)Prod Hosts 21000+: OS (Linux)Prod Hosts: OS (Linux)
Prod Hosts 21000+: OS (Linux)Prod Hosts 21000+: OS (Linux)Prod Hosts: OS (Linux)
Including a System for the Full Lifecycle
Develop Test/QA Build Run Scale
Hyper
scale
APP CREATION
APP DEPLOYMENT
APP MANAGEMENT
Docker
engine
Docker
engine
Docker
engine
Docker
engine
Containers can
be linked and
assembled into
complex service-
oriented stacks.
v0.7 Stacks can span
multiple machines,
using encrypted and
authenticated tunnels.
v0.9
docker.io
v0.really soon
Docker deployments can
span multiple
datacenters and cloud
providers by using the
docker.io service.
Docker.io acts as a hub
and federates
authentication, service
discovery and
orchestration across all
docker engines across
an organization
Including a System for Complex Apps
Step 5: Create an Ecosystem
45,000
Open Ecosystem Momentum
• Truly open: Apache license, open design, open
tooling, non-Docker maintainers
• Downloads: Over 1.2 m container downloads
• Users: Over 45,000 trained developers
• Content: Over 8000 repositories now
publishing containers to Docker Index
• Contributors: 380 contributors, 95% of whom
don’t work for Docker, In.c
• Meetups: Over 80 cities in 30 countries have
Docker meetups
• Integrations: OpenStack, RHEL, Ubuntu, Salt,
Chef, Puppet, Salt +++
• Github
• Over 10,000 stars
• Over 1.7 K forks
• Over 350 derivative projects
Who is using Docker?
… and hundreds of other small and big companies
Four major use cases
• Continuous Integration/Continuous Delivery:
• Go from developer’s laptop, through automated test, to production, and through
scaling without modification
• Alternative form of virtualization for multi-tenant services
• Scale-out:
• Rapidly scale same application across hundreds or thousands of servers…and
scale down as rapidly
• Cross Cloud Deployment
• Move the same application across multiple clouds (public, private, or hybrid)
without modification or noticeable delay
Where should I use VMs?
• VMs are definitely the way to go to solve many problems
• Heterogeneous O/S families: Run Windows app on a Mac Server
• Using O/S or kernel that doesn’t support containers
• Your real problem is infrastructure management
• You want the maturity of the VM toolset
• VM requires unique kernel setup which is not applicable to other VMs on the host
(i.e. per VM kernel config)
• Need to freeze state and live migrate
• But… you can pursue a hybrid strategy: containers on VMs
• Stay tuned for better Docker/Container answers for many of the above
Conclusion
• Multiple forces are driving a reconsideration of how applications should be
created, built, deployed, scaled, and managed
• We believe that the right approach is to decouple application management from
infrastructure management
• Container based approach (vs. VM approach) provides right level of abstraction
• Enables infrastructure to be managed consistently and stably
• Enables applications to be built flexibly and deployed flexibly
• Provides greater degree of visibility, control, and management of what runs
where and what components are allowed
• Massive cost, speed, efficiency savings
• Docker is becoming the standard for containerization
Learn More
• LXC Technical discussion: slideshare.net/BodenRussell/realizing-linux-containerslxc
• Docker project: www.docker.io/
• Follow Docker on Twitter: twitter.com/docker
• Take the Docker interactive tutorial: www.docker.io/gettingstarted/
• Join Docker on IRC: botbot.me/freenode/docker/
• Go to the Docker repository on GitHub: github.com/dotcloud/docker/
• Go to a meetup: www.docker.io/community/#Docker-Meetups
• See what others are doing: www.docker.io/community/
• Come to DockerCon, Jun 9-10, San Francisco: www.dockercon.com
Are VM’s Passé?
Ben Golub
CEO Docker, Inc.

More Related Content

What's hot

Docker Basic to Advance
Docker Basic to AdvanceDocker Basic to Advance
Docker Basic to AdvanceParas Jain
 
Docker vs VM | | Containerization or Virtualization - The Differences | DevOp...
Docker vs VM | | Containerization or Virtualization - The Differences | DevOp...Docker vs VM | | Containerization or Virtualization - The Differences | DevOp...
Docker vs VM | | Containerization or Virtualization - The Differences | DevOp...Edureka!
 
Introduction to Docker - VIT Campus
Introduction to Docker - VIT CampusIntroduction to Docker - VIT Campus
Introduction to Docker - VIT CampusAjeet Singh Raina
 
Demystifying Containerization Principles for Data Scientists
Demystifying Containerization Principles for Data ScientistsDemystifying Containerization Principles for Data Scientists
Demystifying Containerization Principles for Data ScientistsDr Ganesh Iyer
 
A Shift from Monolith to Microservice using Docker
A Shift from Monolith to Microservice using DockerA Shift from Monolith to Microservice using Docker
A Shift from Monolith to Microservice using DockerAjeet Singh Raina
 
2014, April 15, Atlanta Java Users Group
2014, April 15, Atlanta Java Users Group2014, April 15, Atlanta Java Users Group
2014, April 15, Atlanta Java Users GroupTodd Fritz
 
Containers, microservices and serverless for realists
Containers, microservices and serverless for realistsContainers, microservices and serverless for realists
Containers, microservices and serverless for realistsKarthik Gaekwad
 
Containers and microservices for realists
Containers and microservices for realistsContainers and microservices for realists
Containers and microservices for realistsKarthik Gaekwad
 
Docker open stack boston
Docker open stack bostonDocker open stack boston
Docker open stack bostondotCloud
 
DockerCon SF 2015: Keynote Day 1
DockerCon SF 2015: Keynote Day 1DockerCon SF 2015: Keynote Day 1
DockerCon SF 2015: Keynote Day 1Docker, Inc.
 
Infinit: Modern Storage Platform for Container Environments
Infinit: Modern Storage Platform for Container EnvironmentsInfinit: Modern Storage Platform for Container Environments
Infinit: Modern Storage Platform for Container EnvironmentsDocker, Inc.
 
VMware@Night: Container & Virtualisierung
VMware@Night: Container & VirtualisierungVMware@Night: Container & Virtualisierung
VMware@Night: Container & VirtualisierungDigicomp Academy AG
 
Why docker | OSCON 2013
Why docker | OSCON 2013Why docker | OSCON 2013
Why docker | OSCON 2013dotCloud
 
Introduction to Docker - Vellore Institute of Technology
Introduction to Docker - Vellore Institute of TechnologyIntroduction to Docker - Vellore Institute of Technology
Introduction to Docker - Vellore Institute of TechnologyAjeet Singh Raina
 
What's New in Docker - February 2017
What's New in Docker - February 2017What's New in Docker - February 2017
What's New in Docker - February 2017Patrick Chanezon
 
Hypervisor "versus" Linux Containers with Docker !
Hypervisor "versus" Linux Containers with Docker !Hypervisor "versus" Linux Containers with Docker !
Hypervisor "versus" Linux Containers with Docker !Francisco Gonçalves
 

What's hot (20)

Docker Basic to Advance
Docker Basic to AdvanceDocker Basic to Advance
Docker Basic to Advance
 
Docker intro
Docker introDocker intro
Docker intro
 
Docker vs VM | | Containerization or Virtualization - The Differences | DevOp...
Docker vs VM | | Containerization or Virtualization - The Differences | DevOp...Docker vs VM | | Containerization or Virtualization - The Differences | DevOp...
Docker vs VM | | Containerization or Virtualization - The Differences | DevOp...
 
Introduction to Docker - VIT Campus
Introduction to Docker - VIT CampusIntroduction to Docker - VIT Campus
Introduction to Docker - VIT Campus
 
Demystifying Containerization Principles for Data Scientists
Demystifying Containerization Principles for Data ScientistsDemystifying Containerization Principles for Data Scientists
Demystifying Containerization Principles for Data Scientists
 
A Shift from Monolith to Microservice using Docker
A Shift from Monolith to Microservice using DockerA Shift from Monolith to Microservice using Docker
A Shift from Monolith to Microservice using Docker
 
Docker introduction
Docker introductionDocker introduction
Docker introduction
 
2014, April 15, Atlanta Java Users Group
2014, April 15, Atlanta Java Users Group2014, April 15, Atlanta Java Users Group
2014, April 15, Atlanta Java Users Group
 
Containers, microservices and serverless for realists
Containers, microservices and serverless for realistsContainers, microservices and serverless for realists
Containers, microservices and serverless for realists
 
Containers and microservices for realists
Containers and microservices for realistsContainers and microservices for realists
Containers and microservices for realists
 
7+1 myths of the new os
7+1 myths of the new os7+1 myths of the new os
7+1 myths of the new os
 
Docker open stack boston
Docker open stack bostonDocker open stack boston
Docker open stack boston
 
DockerCon SF 2015: Keynote Day 1
DockerCon SF 2015: Keynote Day 1DockerCon SF 2015: Keynote Day 1
DockerCon SF 2015: Keynote Day 1
 
Infinit: Modern Storage Platform for Container Environments
Infinit: Modern Storage Platform for Container EnvironmentsInfinit: Modern Storage Platform for Container Environments
Infinit: Modern Storage Platform for Container Environments
 
VMware@Night: Container & Virtualisierung
VMware@Night: Container & VirtualisierungVMware@Night: Container & Virtualisierung
VMware@Night: Container & Virtualisierung
 
Why docker | OSCON 2013
Why docker | OSCON 2013Why docker | OSCON 2013
Why docker | OSCON 2013
 
Introduction to Docker - Vellore Institute of Technology
Introduction to Docker - Vellore Institute of TechnologyIntroduction to Docker - Vellore Institute of Technology
Introduction to Docker - Vellore Institute of Technology
 
What's New in Docker - February 2017
What's New in Docker - February 2017What's New in Docker - February 2017
What's New in Docker - February 2017
 
Hypervisor "versus" Linux Containers with Docker !
Hypervisor "versus" Linux Containers with Docker !Hypervisor "versus" Linux Containers with Docker !
Hypervisor "versus" Linux Containers with Docker !
 
Docker Basics
Docker BasicsDocker Basics
Docker Basics
 

Viewers also liked

Patterns & Antipatterns in Docker Image Lifecycle
Patterns & Antipatterns in Docker Image LifecyclePatterns & Antipatterns in Docker Image Lifecycle
Patterns & Antipatterns in Docker Image Lifecycleyoavl
 
Authentication and Policy Enforcement for Docker
Authentication and Policy Enforcement for DockerAuthentication and Policy Enforcement for Docker
Authentication and Policy Enforcement for DockerDocker, Inc.
 
Open source is good for both business and humanity
Open source is good for both business and humanityOpen source is good for both business and humanity
Open source is good for both business and humanityDocker, Inc.
 
On-the-Fly Containerization of Enterprise Java & .NET Apps by Amjad Afanah
On-the-Fly Containerization of Enterprise Java & .NET Apps by Amjad AfanahOn-the-Fly Containerization of Enterprise Java & .NET Apps by Amjad Afanah
On-the-Fly Containerization of Enterprise Java & .NET Apps by Amjad AfanahDocker, Inc.
 
DockerCon SF 2015: Orchestration for Devs (machine + compose)
DockerCon SF 2015:  Orchestration for Devs (machine + compose)DockerCon SF 2015:  Orchestration for Devs (machine + compose)
DockerCon SF 2015: Orchestration for Devs (machine + compose)Docker, Inc.
 
Docker at DevTable
Docker at DevTableDocker at DevTable
Docker at DevTableDocker, Inc.
 
Docker Online Meetup #30: Docker Trusted Registry 1.4.1
Docker Online Meetup #30: Docker Trusted Registry 1.4.1Docker Online Meetup #30: Docker Trusted Registry 1.4.1
Docker Online Meetup #30: Docker Trusted Registry 1.4.1Docker, Inc.
 
Containerize All the (Multi-Platform) Things! by Phil Estes
Containerize All the (Multi-Platform) Things! by Phil EstesContainerize All the (Multi-Platform) Things! by Phil Estes
Containerize All the (Multi-Platform) Things! by Phil EstesDocker, Inc.
 
DockerCon SF 2015: Networking Breakout
DockerCon SF 2015: Networking BreakoutDockerCon SF 2015: Networking Breakout
DockerCon SF 2015: Networking BreakoutDocker, Inc.
 
DockerCon SF 2015: MomOps in DevOps w/ Mukta Aphale
DockerCon SF 2015: MomOps in DevOps w/ Mukta AphaleDockerCon SF 2015: MomOps in DevOps w/ Mukta Aphale
DockerCon SF 2015: MomOps in DevOps w/ Mukta AphaleDocker, Inc.
 
DockerCon SF 2015: Education for a digital world
DockerCon SF 2015: Education for a digital worldDockerCon SF 2015: Education for a digital world
DockerCon SF 2015: Education for a digital worldDocker, Inc.
 
Docker Plugin for Heat II
Docker Plugin for Heat IIDocker Plugin for Heat II
Docker Plugin for Heat IIDocker, Inc.
 
Dockerizing Stashboard
Dockerizing StashboardDockerizing Stashboard
Dockerizing StashboardDocker, Inc.
 
Why should I care about stateful containers?
Why should I care about stateful containers?Why should I care about stateful containers?
Why should I care about stateful containers?Docker, Inc.
 
Trust and Image Provenance by Derek McGowan
Trust and Image Provenance by Derek McGowanTrust and Image Provenance by Derek McGowan
Trust and Image Provenance by Derek McGowanDocker, Inc.
 
DockerCon Recap - Online Meetup by Ben Firshman
DockerCon Recap - Online Meetup by Ben FirshmanDockerCon Recap - Online Meetup by Ben Firshman
DockerCon Recap - Online Meetup by Ben FirshmanDocker, Inc.
 
DockerCon EU 2015: It's in the game: the path to micro-services at Electronic...
DockerCon EU 2015: It's in the game: the path to micro-services at Electronic...DockerCon EU 2015: It's in the game: the path to micro-services at Electronic...
DockerCon EU 2015: It's in the game: the path to micro-services at Electronic...Docker, Inc.
 
Docker 1.11 @ Docker SF Meetup
Docker 1.11 @ Docker SF MeetupDocker 1.11 @ Docker SF Meetup
Docker 1.11 @ Docker SF MeetupDocker, Inc.
 
A Gentle Introduction to Docker and Containers
A Gentle Introduction to Docker and ContainersA Gentle Introduction to Docker and Containers
A Gentle Introduction to Docker and ContainersDocker, Inc.
 

Viewers also liked (20)

Patterns & Antipatterns in Docker Image Lifecycle
Patterns & Antipatterns in Docker Image LifecyclePatterns & Antipatterns in Docker Image Lifecycle
Patterns & Antipatterns in Docker Image Lifecycle
 
Authentication and Policy Enforcement for Docker
Authentication and Policy Enforcement for DockerAuthentication and Policy Enforcement for Docker
Authentication and Policy Enforcement for Docker
 
Open source is good for both business and humanity
Open source is good for both business and humanityOpen source is good for both business and humanity
Open source is good for both business and humanity
 
On-the-Fly Containerization of Enterprise Java & .NET Apps by Amjad Afanah
On-the-Fly Containerization of Enterprise Java & .NET Apps by Amjad AfanahOn-the-Fly Containerization of Enterprise Java & .NET Apps by Amjad Afanah
On-the-Fly Containerization of Enterprise Java & .NET Apps by Amjad Afanah
 
DockerCon SF 2015: Orchestration for Devs (machine + compose)
DockerCon SF 2015:  Orchestration for Devs (machine + compose)DockerCon SF 2015:  Orchestration for Devs (machine + compose)
DockerCon SF 2015: Orchestration for Devs (machine + compose)
 
Docker at DevTable
Docker at DevTableDocker at DevTable
Docker at DevTable
 
DockerCon14 eBay
DockerCon14 eBayDockerCon14 eBay
DockerCon14 eBay
 
Docker Online Meetup #30: Docker Trusted Registry 1.4.1
Docker Online Meetup #30: Docker Trusted Registry 1.4.1Docker Online Meetup #30: Docker Trusted Registry 1.4.1
Docker Online Meetup #30: Docker Trusted Registry 1.4.1
 
Containerize All the (Multi-Platform) Things! by Phil Estes
Containerize All the (Multi-Platform) Things! by Phil EstesContainerize All the (Multi-Platform) Things! by Phil Estes
Containerize All the (Multi-Platform) Things! by Phil Estes
 
DockerCon SF 2015: Networking Breakout
DockerCon SF 2015: Networking BreakoutDockerCon SF 2015: Networking Breakout
DockerCon SF 2015: Networking Breakout
 
DockerCon SF 2015: MomOps in DevOps w/ Mukta Aphale
DockerCon SF 2015: MomOps in DevOps w/ Mukta AphaleDockerCon SF 2015: MomOps in DevOps w/ Mukta Aphale
DockerCon SF 2015: MomOps in DevOps w/ Mukta Aphale
 
DockerCon SF 2015: Education for a digital world
DockerCon SF 2015: Education for a digital worldDockerCon SF 2015: Education for a digital world
DockerCon SF 2015: Education for a digital world
 
Docker Plugin for Heat II
Docker Plugin for Heat IIDocker Plugin for Heat II
Docker Plugin for Heat II
 
Dockerizing Stashboard
Dockerizing StashboardDockerizing Stashboard
Dockerizing Stashboard
 
Why should I care about stateful containers?
Why should I care about stateful containers?Why should I care about stateful containers?
Why should I care about stateful containers?
 
Trust and Image Provenance by Derek McGowan
Trust and Image Provenance by Derek McGowanTrust and Image Provenance by Derek McGowan
Trust and Image Provenance by Derek McGowan
 
DockerCon Recap - Online Meetup by Ben Firshman
DockerCon Recap - Online Meetup by Ben FirshmanDockerCon Recap - Online Meetup by Ben Firshman
DockerCon Recap - Online Meetup by Ben Firshman
 
DockerCon EU 2015: It's in the game: the path to micro-services at Electronic...
DockerCon EU 2015: It's in the game: the path to micro-services at Electronic...DockerCon EU 2015: It's in the game: the path to micro-services at Electronic...
DockerCon EU 2015: It's in the game: the path to micro-services at Electronic...
 
Docker 1.11 @ Docker SF Meetup
Docker 1.11 @ Docker SF MeetupDocker 1.11 @ Docker SF Meetup
Docker 1.11 @ Docker SF Meetup
 
A Gentle Introduction to Docker and Containers
A Gentle Introduction to Docker and ContainersA Gentle Introduction to Docker and Containers
A Gentle Introduction to Docker and Containers
 

Similar to Are VMs Passé?

Intro Docker to Loire Atlantique
Intro Docker to Loire AtlantiqueIntro Docker to Loire Atlantique
Intro Docker to Loire AtlantiqueJulien Barbier
 
Dockers and kubernetes
Dockers and kubernetesDockers and kubernetes
Dockers and kubernetesDr Ganesh Iyer
 
The challenge of application distribution - Introduction to Docker (2014 dec ...
The challenge of application distribution - Introduction to Docker (2014 dec ...The challenge of application distribution - Introduction to Docker (2014 dec ...
The challenge of application distribution - Introduction to Docker (2014 dec ...Sébastien Portebois
 
Docker - Portable Deployment
Docker - Portable DeploymentDocker - Portable Deployment
Docker - Portable Deploymentjavaonfly
 
Docker intro
Docker introDocker intro
Docker introspiddy
 
Write Once and REALLY Run Anywhere | OpenStack Summit HK 2013
Write Once and REALLY Run Anywhere | OpenStack Summit HK 2013Write Once and REALLY Run Anywhere | OpenStack Summit HK 2013
Write Once and REALLY Run Anywhere | OpenStack Summit HK 2013dotCloud
 
Introduction to Docker
Introduction to DockerIntroduction to Docker
Introduction to DockerAditya Konarde
 
Docker, the Future of Distributed Applications | Docker Tour de France 2014
Docker, the Future of Distributed Applications | Docker Tour de France 2014Docker, the Future of Distributed Applications | Docker Tour de France 2014
Docker, the Future of Distributed Applications | Docker Tour de France 2014Julien Barbier
 
Rackspace::Solve NYC - The Future of Applications with Ken Cochrane, Engineer...
Rackspace::Solve NYC - The Future of Applications with Ken Cochrane, Engineer...Rackspace::Solve NYC - The Future of Applications with Ken Cochrane, Engineer...
Rackspace::Solve NYC - The Future of Applications with Ken Cochrane, Engineer...Rackspace
 
Application Deployment on Openstack
Application Deployment on OpenstackApplication Deployment on Openstack
Application Deployment on OpenstackDocker, Inc.
 
Intro Docker october 2013
Intro Docker october 2013Intro Docker october 2013
Intro Docker october 2013dotCloud
 
Docker and OpenStack Boston Meetup
Docker and OpenStack Boston MeetupDocker and OpenStack Boston Meetup
Docker and OpenStack Boston MeetupKamesh Pemmaraju
 
Alibaba Cloud Conference 2016 - Docker Enterprise
Alibaba Cloud Conference   2016 - Docker EnterpriseAlibaba Cloud Conference   2016 - Docker Enterprise
Alibaba Cloud Conference 2016 - Docker EnterpriseJohn Willis
 
Docker Training - June 2015
Docker Training - June 2015Docker Training - June 2015
Docker Training - June 2015{code}
 
The Future of Web Application Architectures
The Future of Web Application ArchitecturesThe Future of Web Application Architectures
The Future of Web Application ArchitecturesLucas Carlson
 

Similar to Are VMs Passé? (20)

Intro Docker to Loire Atlantique
Intro Docker to Loire AtlantiqueIntro Docker to Loire Atlantique
Intro Docker to Loire Atlantique
 
Dockers and kubernetes
Dockers and kubernetesDockers and kubernetes
Dockers and kubernetes
 
The challenge of application distribution - Introduction to Docker (2014 dec ...
The challenge of application distribution - Introduction to Docker (2014 dec ...The challenge of application distribution - Introduction to Docker (2014 dec ...
The challenge of application distribution - Introduction to Docker (2014 dec ...
 
Docker - Portable Deployment
Docker - Portable DeploymentDocker - Portable Deployment
Docker - Portable Deployment
 
OpenStack Summit
OpenStack SummitOpenStack Summit
OpenStack Summit
 
Docker intro
Docker introDocker intro
Docker intro
 
Write Once and REALLY Run Anywhere | OpenStack Summit HK 2013
Write Once and REALLY Run Anywhere | OpenStack Summit HK 2013Write Once and REALLY Run Anywhere | OpenStack Summit HK 2013
Write Once and REALLY Run Anywhere | OpenStack Summit HK 2013
 
Introduction to Docker
Introduction to DockerIntroduction to Docker
Introduction to Docker
 
Docker-Intro
Docker-IntroDocker-Intro
Docker-Intro
 
Docker, the Future of Distributed Applications | Docker Tour de France 2014
Docker, the Future of Distributed Applications | Docker Tour de France 2014Docker, the Future of Distributed Applications | Docker Tour de France 2014
Docker, the Future of Distributed Applications | Docker Tour de France 2014
 
Rackspace::Solve NYC - The Future of Applications with Ken Cochrane, Engineer...
Rackspace::Solve NYC - The Future of Applications with Ken Cochrane, Engineer...Rackspace::Solve NYC - The Future of Applications with Ken Cochrane, Engineer...
Rackspace::Solve NYC - The Future of Applications with Ken Cochrane, Engineer...
 
Application Deployment on Openstack
Application Deployment on OpenstackApplication Deployment on Openstack
Application Deployment on Openstack
 
Webinar Docker Tri Series
Webinar Docker Tri SeriesWebinar Docker Tri Series
Webinar Docker Tri Series
 
Intro Docker october 2013
Intro Docker october 2013Intro Docker october 2013
Intro Docker october 2013
 
Docker and OpenStack Boston Meetup
Docker and OpenStack Boston MeetupDocker and OpenStack Boston Meetup
Docker and OpenStack Boston Meetup
 
Cont0519
Cont0519Cont0519
Cont0519
 
Alibaba Cloud Conference 2016 - Docker Enterprise
Alibaba Cloud Conference   2016 - Docker EnterpriseAlibaba Cloud Conference   2016 - Docker Enterprise
Alibaba Cloud Conference 2016 - Docker Enterprise
 
Docker Introduction
Docker IntroductionDocker Introduction
Docker Introduction
 
Docker Training - June 2015
Docker Training - June 2015Docker Training - June 2015
Docker Training - June 2015
 
The Future of Web Application Architectures
The Future of Web Application ArchitecturesThe Future of Web Application Architectures
The Future of Web Application Architectures
 

More from Docker, Inc.

Containerize Your Game Server for the Best Multiplayer Experience
Containerize Your Game Server for the Best Multiplayer Experience Containerize Your Game Server for the Best Multiplayer Experience
Containerize Your Game Server for the Best Multiplayer Experience Docker, Inc.
 
How to Improve Your Image Builds Using Advance Docker Build
How to Improve Your Image Builds Using Advance Docker BuildHow to Improve Your Image Builds Using Advance Docker Build
How to Improve Your Image Builds Using Advance Docker BuildDocker, Inc.
 
Build & Deploy Multi-Container Applications to AWS
Build & Deploy Multi-Container Applications to AWSBuild & Deploy Multi-Container Applications to AWS
Build & Deploy Multi-Container Applications to AWSDocker, Inc.
 
Securing Your Containerized Applications with NGINX
Securing Your Containerized Applications with NGINXSecuring Your Containerized Applications with NGINX
Securing Your Containerized Applications with NGINXDocker, Inc.
 
How To Build and Run Node Apps with Docker and Compose
How To Build and Run Node Apps with Docker and ComposeHow To Build and Run Node Apps with Docker and Compose
How To Build and Run Node Apps with Docker and ComposeDocker, Inc.
 
Distributed Deep Learning with Docker at Salesforce
Distributed Deep Learning with Docker at SalesforceDistributed Deep Learning with Docker at Salesforce
Distributed Deep Learning with Docker at SalesforceDocker, Inc.
 
The First 10M Pulls: Building The Official Curl Image for Docker Hub
The First 10M Pulls: Building The Official Curl Image for Docker HubThe First 10M Pulls: Building The Official Curl Image for Docker Hub
The First 10M Pulls: Building The Official Curl Image for Docker HubDocker, Inc.
 
Monitoring in a Microservices World
Monitoring in a Microservices WorldMonitoring in a Microservices World
Monitoring in a Microservices WorldDocker, Inc.
 
COVID-19 in Italy: How Docker is Helping the Biggest Italian IT Company Conti...
COVID-19 in Italy: How Docker is Helping the Biggest Italian IT Company Conti...COVID-19 in Italy: How Docker is Helping the Biggest Italian IT Company Conti...
COVID-19 in Italy: How Docker is Helping the Biggest Italian IT Company Conti...Docker, Inc.
 
Predicting Space Weather with Docker
Predicting Space Weather with DockerPredicting Space Weather with Docker
Predicting Space Weather with DockerDocker, Inc.
 
Become a Docker Power User With Microsoft Visual Studio Code
Become a Docker Power User With Microsoft Visual Studio CodeBecome a Docker Power User With Microsoft Visual Studio Code
Become a Docker Power User With Microsoft Visual Studio CodeDocker, Inc.
 
How to Use Mirroring and Caching to Optimize your Container Registry
How to Use Mirroring and Caching to Optimize your Container RegistryHow to Use Mirroring and Caching to Optimize your Container Registry
How to Use Mirroring and Caching to Optimize your Container RegistryDocker, Inc.
 
Monolithic to Microservices + Docker = SDLC on Steroids!
Monolithic to Microservices + Docker = SDLC on Steroids!Monolithic to Microservices + Docker = SDLC on Steroids!
Monolithic to Microservices + Docker = SDLC on Steroids!Docker, Inc.
 
Kubernetes at Datadog Scale
Kubernetes at Datadog ScaleKubernetes at Datadog Scale
Kubernetes at Datadog ScaleDocker, Inc.
 
Labels, Labels, Labels
Labels, Labels, Labels Labels, Labels, Labels
Labels, Labels, Labels Docker, Inc.
 
Using Docker Hub at Scale to Support Micro Focus' Delivery and Deployment Model
Using Docker Hub at Scale to Support Micro Focus' Delivery and Deployment ModelUsing Docker Hub at Scale to Support Micro Focus' Delivery and Deployment Model
Using Docker Hub at Scale to Support Micro Focus' Delivery and Deployment ModelDocker, Inc.
 
Build & Deploy Multi-Container Applications to AWS
Build & Deploy Multi-Container Applications to AWSBuild & Deploy Multi-Container Applications to AWS
Build & Deploy Multi-Container Applications to AWSDocker, Inc.
 
From Fortran on the Desktop to Kubernetes in the Cloud: A Windows Migration S...
From Fortran on the Desktop to Kubernetes in the Cloud: A Windows Migration S...From Fortran on the Desktop to Kubernetes in the Cloud: A Windows Migration S...
From Fortran on the Desktop to Kubernetes in the Cloud: A Windows Migration S...Docker, Inc.
 
Developing with Docker for the Arm Architecture
Developing with Docker for the Arm ArchitectureDeveloping with Docker for the Arm Architecture
Developing with Docker for the Arm ArchitectureDocker, Inc.
 

More from Docker, Inc. (20)

Containerize Your Game Server for the Best Multiplayer Experience
Containerize Your Game Server for the Best Multiplayer Experience Containerize Your Game Server for the Best Multiplayer Experience
Containerize Your Game Server for the Best Multiplayer Experience
 
How to Improve Your Image Builds Using Advance Docker Build
How to Improve Your Image Builds Using Advance Docker BuildHow to Improve Your Image Builds Using Advance Docker Build
How to Improve Your Image Builds Using Advance Docker Build
 
Build & Deploy Multi-Container Applications to AWS
Build & Deploy Multi-Container Applications to AWSBuild & Deploy Multi-Container Applications to AWS
Build & Deploy Multi-Container Applications to AWS
 
Securing Your Containerized Applications with NGINX
Securing Your Containerized Applications with NGINXSecuring Your Containerized Applications with NGINX
Securing Your Containerized Applications with NGINX
 
How To Build and Run Node Apps with Docker and Compose
How To Build and Run Node Apps with Docker and ComposeHow To Build and Run Node Apps with Docker and Compose
How To Build and Run Node Apps with Docker and Compose
 
Hands-on Helm
Hands-on Helm Hands-on Helm
Hands-on Helm
 
Distributed Deep Learning with Docker at Salesforce
Distributed Deep Learning with Docker at SalesforceDistributed Deep Learning with Docker at Salesforce
Distributed Deep Learning with Docker at Salesforce
 
The First 10M Pulls: Building The Official Curl Image for Docker Hub
The First 10M Pulls: Building The Official Curl Image for Docker HubThe First 10M Pulls: Building The Official Curl Image for Docker Hub
The First 10M Pulls: Building The Official Curl Image for Docker Hub
 
Monitoring in a Microservices World
Monitoring in a Microservices WorldMonitoring in a Microservices World
Monitoring in a Microservices World
 
COVID-19 in Italy: How Docker is Helping the Biggest Italian IT Company Conti...
COVID-19 in Italy: How Docker is Helping the Biggest Italian IT Company Conti...COVID-19 in Italy: How Docker is Helping the Biggest Italian IT Company Conti...
COVID-19 in Italy: How Docker is Helping the Biggest Italian IT Company Conti...
 
Predicting Space Weather with Docker
Predicting Space Weather with DockerPredicting Space Weather with Docker
Predicting Space Weather with Docker
 
Become a Docker Power User With Microsoft Visual Studio Code
Become a Docker Power User With Microsoft Visual Studio CodeBecome a Docker Power User With Microsoft Visual Studio Code
Become a Docker Power User With Microsoft Visual Studio Code
 
How to Use Mirroring and Caching to Optimize your Container Registry
How to Use Mirroring and Caching to Optimize your Container RegistryHow to Use Mirroring and Caching to Optimize your Container Registry
How to Use Mirroring and Caching to Optimize your Container Registry
 
Monolithic to Microservices + Docker = SDLC on Steroids!
Monolithic to Microservices + Docker = SDLC on Steroids!Monolithic to Microservices + Docker = SDLC on Steroids!
Monolithic to Microservices + Docker = SDLC on Steroids!
 
Kubernetes at Datadog Scale
Kubernetes at Datadog ScaleKubernetes at Datadog Scale
Kubernetes at Datadog Scale
 
Labels, Labels, Labels
Labels, Labels, Labels Labels, Labels, Labels
Labels, Labels, Labels
 
Using Docker Hub at Scale to Support Micro Focus' Delivery and Deployment Model
Using Docker Hub at Scale to Support Micro Focus' Delivery and Deployment ModelUsing Docker Hub at Scale to Support Micro Focus' Delivery and Deployment Model
Using Docker Hub at Scale to Support Micro Focus' Delivery and Deployment Model
 
Build & Deploy Multi-Container Applications to AWS
Build & Deploy Multi-Container Applications to AWSBuild & Deploy Multi-Container Applications to AWS
Build & Deploy Multi-Container Applications to AWS
 
From Fortran on the Desktop to Kubernetes in the Cloud: A Windows Migration S...
From Fortran on the Desktop to Kubernetes in the Cloud: A Windows Migration S...From Fortran on the Desktop to Kubernetes in the Cloud: A Windows Migration S...
From Fortran on the Desktop to Kubernetes in the Cloud: A Windows Migration S...
 
Developing with Docker for the Arm Architecture
Developing with Docker for the Arm ArchitectureDeveloping with Docker for the Arm Architecture
Developing with Docker for the Arm Architecture
 

Are VMs Passé?

  • 1. Are VM’s Passé? Ben Golub CEO Docker, Inc.
  • 2. They told me that I needed a provocative title for this talk. So…
  • 3. Q: Are VMs Passé?
  • 5. Thank you for attending
  • 6. A different question… • Q: Is there a better alternative for many use cases & environments? –application management & creation? –application deployment across clusters & clouds? –CI & CD? –scale out? –high performance? –collaborative development?
  • 8. Agenda • Server Proliferation and the rise of the VM • The Matrix from Hell and the need for lightweight, interoperable containers • Step 1: Making lightweight containers: • Containers vs. VMs: how they work • Step 2: Making containers really interoperable: • Step 3: Making containers really lightweight • Step 4: Creating a container-based system for app mgt & deployment • Step 5: Creating an ecosystem around containers • Where to Use VMs vs. Containers/Docker • Learn more
  • 9. Some ancient history: Where did VM’s come from? • PROBLEM IN 2000: Server Proliferation/Consolidation - I’ve got a single purpose, physical Microsoft Exchange Server, Mac print server, and Custom Unix inventory server - Machines are getting more powerful - I want to consolidate all those single purpose, physical servers onto a single server - BTW--It takes too damn long to provision a physical machine • ANSWER: Create a Virtual Machine
  • 10. Results • Single purpose physical application servers become single purpose virtual servers • Provisioning a “server” goes from days/weeks to minutes • Huge cost savings • An awesome solution to the server consolidation problem • An awesome solution for creating flexible infrastructures • Mature ecosystem and tool set for isolation, security, management
  • 11. What has changed since the VM was developed? 2000 2014 Apps are long lived Development is iterative and constant Apps are monolithic and developed on a single stack Apps are created from loosely coupled components, themselves created from a multitude of “stacks” Deployment is to a single server Deployment is to a variety of servers: VM, physical, cluster, open stack, public cloud, +++ • Result: An application isn’t easily represented or managed as a single purpose server (whether physical or virtual)
  • 12. Static website Web frontend User DB Queue Analytics DB Background workers API endpoint nginx 1.5 + modsecurity + openssl + bootstrap 2 postgresql + pgv8 + v8 hadoop + hive + thrift + OpenJDK Ruby + Rails + sass + Unicorn Redis + redis-sentinel Python 3.0 + celery + pyredis + libcurl + ffmpeg + libopencv + nodejs + phantomjs Python 2.7 + Flask + pyredis + celery + psycopg + postgresql-client Development VM QA server Public Cloud Disaster recovery Contributor’s laptop Production Servers The Problem in 2014MultiplicityofStacks Multiplicityof hardware environments Production Cluster Customer Data Center Doservicesandapps interact appropriately? CanImigrate smoothlyand quickly?
  • 13. The Matrix From Hell Static website Web frontend Background workers User DB Analytics DB Queue Development VM QA Server Single Prod Server Onsite Cluster Public Cloud Contributor’s laptop Customer Servers ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
  • 15. MultiplicityofGoods Multiplicityof methodsfor transporting/storing DoIworryabout howgoodsinteract (e.g.coffeebeans nexttospices) CanItransport quicklyandsmoothly (e.g.fromboatto traintotruck) Solution: Intermodal Shipping Container …in between, can be loaded and unloaded, stacked, transported efficiently over long distances, and transferred from one mode of transport to another A standard container that is loaded with virtually any goods, and stays sealed until it reaches final delivery.
  • 16. This spawned an Intermodal Shipping Container Ecosystem • 90% of all cargo now shipped in a standard container • Order of magnitude reduction in cost and time to load and unload ships • Massive reduction in losses due to theft or damage • Huge reduction in freight cost as percent of final goods (from >25% to <3%)  massive globalization • 5000 ships deliver 200M containers per year
  • 17. Static website Web frontendUser DB Queue Analytics DB Development VM QA server Public Cloud Contributor’s laptop Let’s create a shipping container system for codeMultiplicityofStacks Multiplicityof hardware environments Production Cluster Customer Data Center Doservicesandapps interact appropriately? CanImigrate smoothlyandquickly …that can be manipulated using standard operations and run consistently on virtually any hardware platform An engine that enables any payload to be encapsulated as a lightweight, portable, self-sufficient container…
  • 18. Static website Web frontend Background workers User DB Analytics DB Queue Development VM QA Server Single Prod Server Onsite Cluster Public Cloud Contributor’s laptop Customer Servers Eliminate the matrix from Hell
  • 19. App A Step One: Create a lightweight container (vs. VMs) Hypervisor (Type 2) Host OS Server Guest OS Bins/ Libs App A’ Guest OS Bins/ Libs App B Guest OS Bins/ Libs AppA’ Host OS Server Bins/Libs AppA Bins/Libs AppB AppB’ AppB’ AppB’ VM Container Containers are isolated, but share OS kernel and, where appropriate, bins/libraries Guest OS Guest OS …result is significantly faster deployment, much less overhead, easier migration, faster restart
  • 20. A great slide stolen from IBM: Why Containers?  Provision in seconds / milliseconds  Near bare metal runtime performance  10 x greater density  VM-like agility – it’s still “virtualization”  Flexibility – Containerize a “system” – Containerize “application(s)”  Lightweight – Just enough Operating System (JeOS) – Minimal per container penalty  Open source – free – lower TCO  Supported with OOTB modern Linux kernel  Growing in popularity 3/28/2014 20 “Containers as poised as the next VM in our modern Cloud era…” Manual VM LXC Provision Time Days Minutes Seconds / ms linpack performance @ 45000 0 50 100 150 200 250 1 3 5 7 9 11 13 15 17 19 21 23 25 27 29 31 BM vcpus GFlops Google trends - LXC Google trends - docker
  • 21. Step 2: Make the containers easy to use, standardized, interoperable, automatable • Shipping containers are a standard size, and have hooks and holes in all the same places • With Docker, Containers get the following: - Ease of use, tooling - Re-usable components - Ability to run on any Linux server today: physical, virtual, VM, cloud, OpenStack, +++ - (Stay tuned for other O/S’s) - Ability to move between any of the above in a matter of seconds-no modification or delay - Ability to share containerized components - Interoperability with all existing devops tools - Self contained environment—no dependency hell - Tools for how containers work together: linking, nesting, discovery, orchestration, ++ • You get ability to separate app management from infrastructure management
  • 22. Technical & cultural revolution: separation of concerns • Dan the Developer • Worries about what’s “inside” the container • His code • His Libraries • His Package Manager • His Apps • His Data • All Linux servers look the same • Oscar the Ops Guy • Worries about what’s “outside” the container • Logging • Remote access • Monitoring • Network config • All containers start, stop, copy, attach, migrate, etc. the same way
  • 23. Step 3: Make containers super lightweight Bins/ Libs App A Original App (No OS to take up space, resources, or require restart) AppΔ Bins/ App A Bins/ Libs App A’ Guest OS Bins/ Libs Modified App Copy on write allows us to only save the diffs Between container A and container A’ VMs Every app, every copy of an app, and every slight modification of the app requires a new virtual server App A Guest OS Bins/ Libs Copy of App No OS. Can Share bins/libs App A Guest OS Guest OS VMs Containers
  • 24. Prod Hosts 21000+: OS (Linux)Prod Hosts 21000+: OS (Linux) Step 4: Build a System for creating, managing, deploying code Source Code Repository Dockerfile For A Docker Registry Build Docker Prod Hosts: OS (Linux) ContainerA ContainerB ContainerC ContainerA Push Search Pull Run Dev Host : OS (Linux) Docker
  • 25. Including a System for Changes and Updates Docker Registry Push Update Bins/ Libs App A AppΔ Bins/ Base Container Image Hosts are now running A’’ Container Mod A’’ AppΔ Bins/ Bins/ Libs App A Bins/ Bins/ Libs App A’’ Host(s) running A want to upgrade to A’’. Requests update. Gets only diffs Container Mod A’ Prod Hosts 21000+: OS (Linux)Prod Hosts 21000+: OS (Linux)Prod Hosts: OS (Linux) Prod Hosts 21000+: OS (Linux)Prod Hosts 21000+: OS (Linux)Prod Hosts: OS (Linux)
  • 26. Including a System for the Full Lifecycle Develop Test/QA Build Run Scale Hyper scale APP CREATION APP DEPLOYMENT APP MANAGEMENT
  • 27. Docker engine Docker engine Docker engine Docker engine Containers can be linked and assembled into complex service- oriented stacks. v0.7 Stacks can span multiple machines, using encrypted and authenticated tunnels. v0.9 docker.io v0.really soon Docker deployments can span multiple datacenters and cloud providers by using the docker.io service. Docker.io acts as a hub and federates authentication, service discovery and orchestration across all docker engines across an organization Including a System for Complex Apps
  • 28. Step 5: Create an Ecosystem 45,000
  • 29. Open Ecosystem Momentum • Truly open: Apache license, open design, open tooling, non-Docker maintainers • Downloads: Over 1.2 m container downloads • Users: Over 45,000 trained developers • Content: Over 8000 repositories now publishing containers to Docker Index • Contributors: 380 contributors, 95% of whom don’t work for Docker, In.c • Meetups: Over 80 cities in 30 countries have Docker meetups • Integrations: OpenStack, RHEL, Ubuntu, Salt, Chef, Puppet, Salt +++ • Github • Over 10,000 stars • Over 1.7 K forks • Over 350 derivative projects
  • 30. Who is using Docker? … and hundreds of other small and big companies
  • 31. Four major use cases • Continuous Integration/Continuous Delivery: • Go from developer’s laptop, through automated test, to production, and through scaling without modification • Alternative form of virtualization for multi-tenant services • Scale-out: • Rapidly scale same application across hundreds or thousands of servers…and scale down as rapidly • Cross Cloud Deployment • Move the same application across multiple clouds (public, private, or hybrid) without modification or noticeable delay
  • 32. Where should I use VMs? • VMs are definitely the way to go to solve many problems • Heterogeneous O/S families: Run Windows app on a Mac Server • Using O/S or kernel that doesn’t support containers • Your real problem is infrastructure management • You want the maturity of the VM toolset • VM requires unique kernel setup which is not applicable to other VMs on the host (i.e. per VM kernel config) • Need to freeze state and live migrate • But… you can pursue a hybrid strategy: containers on VMs • Stay tuned for better Docker/Container answers for many of the above
  • 33. Conclusion • Multiple forces are driving a reconsideration of how applications should be created, built, deployed, scaled, and managed • We believe that the right approach is to decouple application management from infrastructure management • Container based approach (vs. VM approach) provides right level of abstraction • Enables infrastructure to be managed consistently and stably • Enables applications to be built flexibly and deployed flexibly • Provides greater degree of visibility, control, and management of what runs where and what components are allowed • Massive cost, speed, efficiency savings • Docker is becoming the standard for containerization
  • 34. Learn More • LXC Technical discussion: slideshare.net/BodenRussell/realizing-linux-containerslxc • Docker project: www.docker.io/ • Follow Docker on Twitter: twitter.com/docker • Take the Docker interactive tutorial: www.docker.io/gettingstarted/ • Join Docker on IRC: botbot.me/freenode/docker/ • Go to the Docker repository on GitHub: github.com/dotcloud/docker/ • Go to a meetup: www.docker.io/community/#Docker-Meetups • See what others are doing: www.docker.io/community/ • Come to DockerCon, Jun 9-10, San Francisco: www.dockercon.com
  • 35. Are VM’s Passé? Ben Golub CEO Docker, Inc.