An Open Platform to Build, Ship, and Run Distributed Applications
whoami
Jonas Rosland
Developer Advocate
EMC {code}
emccode.com
@jonasrosland
jonas.rosland@emc.com
March 20, 2013: Docker Launches
https://www.youtube.com/watch?v=wW9CAH9nSLs
15 Months Later: An Incredible Platform and Ecosystem
Official Repos & 14K+ Dockerized Apps
Community
460+ Contributors
250+ Meetups on Docker
2.75M Downloads
6.7K Projects on GitHub
Support
Enterprise Support
Robust Documentation
Implementation, Integration, Training
Network of Partners
The Docker Platform
Docker Engine
Docker Hub
Build, Ship, and Run
Partners
Content
Users
24 Months Later: An Incredible Platform and Ecosystem
Official Repos & 14K+ Dockerized Apps
Community
790+ Contributors
150+ Meetup Groups
100M+ Downloads
50K Projects on GitHub
Support
Enterprise Support
Robust Documentation
Implementation, Integration, Training
Network of Partners
The Docker Platform
Docker Engine
Docker Hub
75K Apps in the Hub
Build, Ship, and Run
Partners
Content
Users
We know we’re riding on your shoulders
Thank You to the Giants
• Namespaces (IBM)
• Cgroups (Google)
• LXC tools
• The Linux Kernel
• Git
• SELinux (Red Hat)
• Solaris Zones
• BSD Jails
• +++
Thank You Users/Use Cases*
*A small subset of the 100s who are using and/or writing about us
Thanks to those above for talking about their experiences at DockerCon
• Using Docker in our ECS appliances
And of course…
Thank You Partner Ecosystem
The Docker Ecosystem
Agenda
Official Repos & 14K + Dockerized Apps
Partners
Content
Users
Community
460+ Contributors
250+ Meetups on Docker
2.75M Downloads
6.7K Projects on GitHub
Support
Enterprise Support
Robust Documentation
Implementation, Integration, Training
Network of Partners
The Docker Platform
Docker Engine
Docker Hub
Build, Ship, and Run
~2000 2014
Long lived Development is iterative and constant
Monolithic and built on a single stack Built from loosely coupled components
Deployed to a single server Deployed to a multitude of servers
Apps Have Fundamentally Changed
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 LaptopProduction Servers
MultiplicityofStacks
MultiplicityofHardware
Environments
Production Cluster
Customer Data Center
Doservicesandapps
interactappropriately?
CanImigratesmoothly
andquickly?
The Problem in 2014
Results in NxN compatibility nightmare
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
? ? ? ? ? ? ?
? ? ? ? ? ? ?
? ? ? ? ? ? ?
? ? ? ? ? ? ?
? ? ? ? ? ? ?
? ? ? ? ? ? ?
A useful analogy…
Cargo Transport Pre-1960
Multiplicityof
Goods
Multiplicityof
methodsfor
transporting/stori
ng
DoIworryabout
howgoodsinteract
(e.g.coffeebeans
nexttospices)
CanItransport
quicklyandsmoothly
(e.g.fromboatto
traintotruck)
Also an NxN Matrix
? ? ? ? ? ? ?
? ? ? ? ? ? ?
? ? ? ? ? ? ?
? ? ? ? ? ? ?
? ? ? ? ? ? ?
? ? ? ? ? ? ?
Solution: Intermodal Shipping Container
Multiplicityof
Goods
DoIworryabouthow
goodsinteract(e.g.
coffeebeansnextto
spices)
CanItransportquickly
andsmoothly
(e.g.fromboattotrain
totruck)
…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 eliminated the NxN problem
The Right Approach to Containers Matters
• Separation of concerns
• Automation
• Efficiency
• Broad ecosystem
Images courtesy of PokkO / Shutterstock.com, Lewis Hine - http://www.archives.gov/research_room/research_topics/american_cities/images/american_cities_069.jpg
Docker is a shipping container system for code
Static website Web frontendUser DB Queue Analytics DB
Developmen
t VM
QA server Public Cloud Contributor’
s laptop
Multiplicityof
Stacks
Production
Cluster
Customer
Data Center
Doservicesand
appsinteract
appropriately?
CanImigrate
smoothlyand
quickly
…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…
…or put more simply
Static website Web frontendUser DB Queue Analytics DB
Developmen
t VM
QA server Public Cloud Contributor’
s laptop
Multiplicityof
Stacks
Production
Cluster
Customer
Data Center
Doservicesand
appsinteract
appropriately?
CanImigrate
smoothlyand
quickly
Operator: Configure Once,
Run Anything
Developer: Build Once,
Run Anywhere (Finally)
An Open Platform to Build, Ship, and Run Distributed Applications
Containers vs. VMs
Why are Docker containers lightweight?
What are the basics of the Docker system?
An Open Platform…
API
Engine Hub
open source software at the heart
of the Docker platform
cloud-based platform services for distributed
applications
API
An Open Platform…
Any App
Any infrastructure
• Physical
• Virtual cloud
+ 75K apps
+ 50K projects
API
Engine Hub
cloud-based platform services for distributed
applications
API
open source software at the heart
of the Docker platform
…to Build, Ship, and Run
Build Ship
Run
Dev
QA
Source
Staging
Physical
Virtual
Cloud
Infrastructure Management
Infrastructure Management
DockerFile
Source Code
Repository
TESTTEST
TESTTEST
TEST
GCE RAX IBM
Mac/Win Dev
Machine
Boot2Docker
Docker
Analytics
DB
Prod Machine
Linux OS
DockerDocker
++
Users Collab
Provenance Policy
Docker Hub
Registries
Public Curated Private
Docker Hub API
Third Party Tools
Prod Machine
Linux OS
DockerDocker
Prod Machine
Linux OS
DockerDocker
VM
DockerDocker
VM
DockerDocker
VM
DockerDocker
QA Machine
Linux OS
DockerDocker
…Distributed Applications
Data
User
DB
Queue
Analytics
DB
API
Endpoint
Web
Frontend
Data
Background
Workers
Development VM
QA Server
Public Cloud
Disaster Recovery
Contributor’s LaptopProduction Servers
Production Cluster
Customer Data Center
• Faster delivery of your applications
• Deploying and scaling more easily
• Achieving higher density and running more
workloads
So to finish up, Docker enables
An Open Platform to Build, Ship, and Run Distributed Applications

Docker Training - June 2015

  • 1.
    An Open Platformto Build, Ship, and Run Distributed Applications
  • 2.
    whoami Jonas Rosland Developer Advocate EMC{code} emccode.com @jonasrosland jonas.rosland@emc.com
  • 3.
    March 20, 2013:Docker Launches https://www.youtube.com/watch?v=wW9CAH9nSLs
  • 4.
    15 Months Later:An Incredible Platform and Ecosystem Official Repos & 14K+ Dockerized Apps Community 460+ Contributors 250+ Meetups on Docker 2.75M Downloads 6.7K Projects on GitHub Support Enterprise Support Robust Documentation Implementation, Integration, Training Network of Partners The Docker Platform Docker Engine Docker Hub Build, Ship, and Run Partners Content Users
  • 5.
    24 Months Later:An Incredible Platform and Ecosystem Official Repos & 14K+ Dockerized Apps Community 790+ Contributors 150+ Meetup Groups 100M+ Downloads 50K Projects on GitHub Support Enterprise Support Robust Documentation Implementation, Integration, Training Network of Partners The Docker Platform Docker Engine Docker Hub 75K Apps in the Hub Build, Ship, and Run Partners Content Users
  • 6.
    We know we’reriding on your shoulders Thank You to the Giants • Namespaces (IBM) • Cgroups (Google) • LXC tools • The Linux Kernel • Git • SELinux (Red Hat) • Solaris Zones • BSD Jails • +++
  • 7.
    Thank You Users/UseCases* *A small subset of the 100s who are using and/or writing about us Thanks to those above for talking about their experiences at DockerCon
  • 8.
    • Using Dockerin our ECS appliances And of course…
  • 9.
  • 10.
  • 11.
    Agenda Official Repos &14K + Dockerized Apps Partners Content Users Community 460+ Contributors 250+ Meetups on Docker 2.75M Downloads 6.7K Projects on GitHub Support Enterprise Support Robust Documentation Implementation, Integration, Training Network of Partners The Docker Platform Docker Engine Docker Hub Build, Ship, and Run
  • 12.
    ~2000 2014 Long livedDevelopment is iterative and constant Monolithic and built on a single stack Built from loosely coupled components Deployed to a single server Deployed to a multitude of servers Apps Have Fundamentally Changed
  • 13.
    Static website Web frontend UserDB 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 LaptopProduction Servers MultiplicityofStacks MultiplicityofHardware Environments Production Cluster Customer Data Center Doservicesandapps interactappropriately? CanImigratesmoothly andquickly? The Problem in 2014
  • 14.
    Results in NxNcompatibility nightmare 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.
  • 16.
  • 17.
    Also an NxNMatrix ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
  • 18.
    Solution: Intermodal ShippingContainer Multiplicityof Goods DoIworryabouthow goodsinteract(e.g. coffeebeansnextto spices) CanItransportquickly andsmoothly (e.g.fromboattotrain totruck) …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.
  • 19.
  • 20.
    The Right Approachto Containers Matters • Separation of concerns • Automation • Efficiency • Broad ecosystem Images courtesy of PokkO / Shutterstock.com, Lewis Hine - http://www.archives.gov/research_room/research_topics/american_cities/images/american_cities_069.jpg
  • 21.
    Docker is ashipping container system for code Static website Web frontendUser DB Queue Analytics DB Developmen t VM QA server Public Cloud Contributor’ s laptop Multiplicityof Stacks Production Cluster Customer Data Center Doservicesand appsinteract appropriately? CanImigrate smoothlyand quickly …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…
  • 22.
    …or put moresimply Static website Web frontendUser DB Queue Analytics DB Developmen t VM QA server Public Cloud Contributor’ s laptop Multiplicityof Stacks Production Cluster Customer Data Center Doservicesand appsinteract appropriately? CanImigrate smoothlyand quickly Operator: Configure Once, Run Anything Developer: Build Once, Run Anywhere (Finally)
  • 23.
    An Open Platformto Build, Ship, and Run Distributed Applications
  • 24.
  • 25.
    Why are Dockercontainers lightweight?
  • 26.
    What are thebasics of the Docker system?
  • 27.
    An Open Platform… API EngineHub open source software at the heart of the Docker platform cloud-based platform services for distributed applications API
  • 28.
    An Open Platform… AnyApp Any infrastructure • Physical • Virtual cloud + 75K apps + 50K projects API Engine Hub cloud-based platform services for distributed applications API open source software at the heart of the Docker platform
  • 29.
    …to Build, Ship,and Run Build Ship Run Dev QA Source Staging Physical Virtual Cloud Infrastructure Management Infrastructure Management DockerFile Source Code Repository TESTTEST TESTTEST TEST GCE RAX IBM Mac/Win Dev Machine Boot2Docker Docker Analytics DB Prod Machine Linux OS DockerDocker ++ Users Collab Provenance Policy Docker Hub Registries Public Curated Private Docker Hub API Third Party Tools Prod Machine Linux OS DockerDocker Prod Machine Linux OS DockerDocker VM DockerDocker VM DockerDocker VM DockerDocker QA Machine Linux OS DockerDocker
  • 30.
    …Distributed Applications Data User DB Queue Analytics DB API Endpoint Web Frontend Data Background Workers Development VM QAServer Public Cloud Disaster Recovery Contributor’s LaptopProduction Servers Production Cluster Customer Data Center
  • 31.
    • Faster deliveryof your applications • Deploying and scaling more easily • Achieving higher density and running more workloads So to finish up, Docker enables
  • 32.
    An Open Platformto Build, Ship, and Run Distributed Applications