What does intermodal shipping have to do with managing your app’s components in different environments? Ken Cochrane, Engineering Manager at Docker, explains in this presentation from Rackspace::Solve NYC. For more information about Rackspace::Solve, visit http://www.rackspacesolve.com.
Rackspace (NYSE: RAX) is the #1 managed cloud company. Our technical expertise and Fanatical Support® allow companies to tap the power of the cloud without the pain of hiring experts in dozens of complex technologies. Rackspace is also the leader in hybrid cloud, giving each customer the best fit for its unique needs — whether on single- or multi-tenant servers, or a combination of those platforms. Rackspace is the founder of OpenStack®, the open-source operating system for the cloud. Headquartered in San Antonio, we serve more than 200,000 business customers from data centers on four continents. We rank 29th on Fortune’s list of 100 Best Companies to Work For. For more information, visit www.rackspace.com.
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
Rackspace::Solve NYC - The Future of Applications with Ken Cochrane, Engineering Manager at Docker
1. The Future
of Applications
KEN COCHRANE ENGINEERING | DOCKER | @KenCochrane
2. Agenda
• The Matrix from Hell and the Need for Containers
• Docker & Containers: how they work
• Docker Overview and Docker Ecosystem
• Current Usage and Adoption
• Creating an Open Environment
• Docker Roadmap & Business Model
4. User DB
Static website
Queue
postgresql + pgv8 + v8 hadoop + hive + thrift + OpenJDK
Redis + redis-sentinel
Web frontend
Analytics DB
nginx 1.5 + modsecurity +
openssl + bootstrap 2
Ruby + Rails + sass + Unicorn
Background workers API endpoint
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
Production Cluster
Customer Data Center
Mul@plicity*of*hardware* Mul@plicity*of*Stacks
environments
Do*services*and*apps*
interact*appropriately?
Can*I*migrate*smoothly
*and*quickly?
The Problem in 2014
5. 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
The Matrix From Hell
6. An Inspiration…and Some Really Ancient History:
Cargo Transport Pre-1960
Do*I*worry*about*how*
goods*interact
*(e.g.*coffee*beans*next*to*spices)
Can*I*transport*
quickly*and*smoothly*
(e.g.*from*boat*to*train*to*truck)
Mul@pilicity*of*methods Mul@plicity*of*Goods
for*transpor@ng/storing
7. Solution: Intermodal Shipping Container
A standard container that
is loaded with virtually
any goods, and stays
sealed until it reaches
final delivery.
Mul@pilicity*of*methods Mul@plicity*of*Goods
for*transpor@ng/storing
Do*I*worry*about*how*
(e.g.*coffee*beans*next*to*spices)
goods*interact*
Can*I*transport*
quickly*and*smoothly**
(e.g.*from*boat*to*train*to*truck)
…in between, can be loaded
and unloaded, stacked, transported
efficiently over long distances, and
transferred from one mode of
transport to another
8. 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
• 5000 ships deliver 200M containers per year
9. Let’s Create a Shipping Container
System for Applications
Static website User DB Web frontend Queue Analytics DB
An engine that enables any
payload to be encapsulated
as a lightweight, portable,
self-sufficient container…
Mul@plicity*of*hardware* Mul@plicity*of*Stacks
environments
Do*services*and*apps
*interact*appropriately?
Development
VM
QA
server
Public
Cloud
Contributor’s !
laptop
Production
Cluster
Customer
Data Center
…that can be manipulated using
standard operations
and run consistently on virtually
any hardware platform
Can*I*migrate*smoothly
*and*quickly
10. And Eliminate 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
11. Step One: Create a Lightweight Container
(vs. VMs)
Hypervisor (Type 2)
Host OS
Server
VM
Containers are isolated, but
share OS kernel and, where
appropriate, bins/libraries
…result is significantly faster deployment, much
less overhead, easier migration, faster restart
App*
A
Bins/*
Libs
Guest*
OS
App*
A’
Bins/*
Libs
Guest*
OS
App*
B
Bins/*
Libs
Guest*
OS
App*A’
Host OS
Server
App*A
App*B
App*B’
App*B’
App*B’
Container
Bins/Libs Bins/Libs
12. A set of slides from IBM: Comparing Docker (Blue) to VM (Red)
13. Step 2: Make the Containers Easy to Use,
Standardized, Interoperable, Automatable
• Container technology has been
around for a while (c.f. LXC, Solaris
Zones, BSD Jails)
• But, their use was largely limited to
specialized organizations,
with special tools & training.
Containers were not portable
Type 1 Hypervisor Linux Containers docker
15. Step 3: Make Containers Super Lightweight
VMs Containers
App*
A
Bins/*
Libs
App*Δ* B/L
Every app, every copy
of an app, and every slight
modification of the app
requires a new virtual server
App*
A
App*
A
!
!
!
App*
A
App*
A’
Guest*
OS
VMs
Original App
(No OS to
take up space,
resources,*
or require restart)
Copy of App
No OS. Can*
Share bins/libs
Modified App
Copy on write allows
us to only save
the diffs Between
container A and
container A’
Guest*
OS
Guest*
OS
Bins/
Libs
Bins/
Libs
Bins/
Libs
App*
A
App*
A
App*
A’
16. Step 4: Build an Open Platform
An Open Platform to Build, Ship, and Run Distributed Applications
17. An Open Platform…
API
Engine Hub
open source software at the
heart of the Docker platform
cloud-based platform services
for distributed applications
API
18. An Open Platform…
API
Engine Hub
cloud-based platform services
for distributed applications
API
Any App
• + 17K apps
•+ 9K projects
open source software at the heart
of the Docker platform
Any Infrastructure
• Physical
• Virtual cloud
19. …to Build, Ship, and Run
Docker Hub
Build Ship
Run
Source
Dev
QA
Staging
Source Code
Repository
DockerFile
Boot2Docker
Mac/Win Dev
Machine
DoDcokcekrer
Linux OS
TEST TEST
TEST TEST
TEST
Docker
Analytics
DB
Users Collab
Provenance Policy
Registries
Public Curated Private
Docker Hub API
Third Party Tools
QA Machine
DockerDocker
DockerDocker
DockerDocker
Linux OS Linux OS Linux OS
Prod Machine Prod Machine Prod Machine
Physical
Docker Docker
Docker Docker
VM VM VM
Docker Docker
Virtual
Cloud
Infrastructure Management
Infrastructure Management
GCE RAX IBM ++
20. …Distributed Applications
Data
User
DB
Queue
Analytics
DB
API
Endpoint
Web
Frontend
Data
Background
Workers
Development VM
QA Server
Disaster Recovery
Contributor’s Laptop
Production Servers
Production Cluster
Customer Data Center
Public Cloud
21. Step 5: Build an Ecosystem
Community*
• 500+ Contributors
• 250+ Meetups on Docker
• 6M Downloads
• 10K Projects on GitHub
Official Repos & 14K+ Dockerized Apps
Support*
• Enterprise Support
• Robust Documentation
• Implementation, Integration,
Training
• Network of Partners
The Docker Platform
Docker Engine
Docker Hub
Partners
Content
Users
Build, Ship, and Run
23. Who is Using Docker?
And hundreds of others… these are just a sample of those who have published use cases
24. Step 6: Build Systems and Infrastructure
to Take Advantage of This New Paradigm
BARE METAL SERVERS
Instantly Available API-driven Highly Specialized
No
Hypervisor
OnMetal
25. 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
26. Conclusion (cont.)
• 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
Rackspace is a true leader in enabling this revolution!
27. Learn More
Docker project:www.docker.com
Follow Docker on Twitter: @docker
Take the Docker interactive tutorial: www.docker.com/tryit/
Go to the Docker repository on GitHub: github.com/docker/docker
Go to a meetup: www.docker.com/community/