SlideShare uma empresa Scribd logo
1 de 27
Baixar para ler offline
An Open Platform to Build, Ship, and 
Run Distributed Applications
Who am I? 
• Nick Stinemates | @nickstinemates | bitbucket.org/keeb 
• Work: Head of Business Development / Tech Alliances @ 
Docker
A long history of work with Atlassian Products 
• JIRA critical to Issue and Agile management 
• Over 400 Bamboo Jobs running / day 
• Workflow built with SCM integratgion 
• … and a special thanks for introducing me to Docker and for the 
amazing early support of the Docker project
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
Apps Have Fundamentally Changed 
~2000 
2014 
Long 
lived 
Development 
is 
itera2ve 
and 
constant 
Monolithic 
and 
built 
on 
a 
single 
stack 
Built 
from 
loosely 
coupled 
components 
Deployed 
to 
a 
single 
server 
Deployed 
to 
a 
mul2tude 
of 
servers
Static website 
User DB 
Web frontend 
Queue 
Analytics DB 
Background workers 
API endpoint 
nginx 1.5 + modsecurity + openssl + bootstrap 2 
postgresql + pgv8 + v8 
hadoop + hive + thrift + OpenJDK 
Redis + redis-sentinel 
Ruby + Rails + sass + Unicorn 
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 2014 
Mul*plicity 
of 
Stacks 
Mul*plicity 
of 
hardware 
environments 
Production Cluster 
Customer Data Center 
Do 
services 
and 
apps 
interact 
appropriately? 
Can 
I 
migrate 
smoothly 
and 
quickly?
The Matrix From Hell 
Static website 
Web frontend 
Background workers 
User DB 
Analytics DB 
Queue 
? 
? 
? 
? 
? 
? 
? 
? 
? 
? 
? 
? 
? 
? 
? 
? 
? 
? 
? 
? 
? 
? 
? 
? 
? 
? 
? 
? 
? 
? 
? 
? 
? 
? 
? 
? 
? 
? 
? 
? 
? 
? 
Developme 
nt VM 
QA Server 
Single Prod 
Server 
Onsite 
Cluster 
Public 
Cloud 
Contributo 
r’s laptop 
Customer 
Servers
Goods 
Mul*plicity 
of 
storing 
Mul*pilicity 
of 
methods 
for 
transpor*ng/ 
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) 
An Inspiration…and some really ancient 
history: Cargo Transport Pre-1960
Mul2plicity 
of 
Goods 
transpor2ng/storing 
Mul2plicity 
of 
methods 
for 
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) 
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 
reduc2on 
in 
cost 
and 
2me 
to 
load 
and 
unload 
ships 
• Massive 
reduc2on 
in 
losses 
due 
to 
theK 
or 
damage 
• Huge 
reduc2on 
in 
freight 
cost 
as 
percent 
of 
final 
goods 
(from 
>25% 
to 
<3%) 
à massive 
globaliza2on
Let’s create a shipping container system for applications 
Static website 
User DB 
Web frontend 
Queue 
Analytics DB 
Development VM 
QA server 
Public Cloud 
Contributor’s laptop 
Mul2plicity 
of 
Stacks 
Mul2plicity 
of 
hardware 
environments 
Customer Data Center 
Production Cluster 
Do 
services 
and 
apps 
interact 
appropriately? 
Can 
I 
migrate 
smoothly 
and 
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…
Static website 
Web frontend 
Background workers 
User DB 
Analytics DB 
Queue 
Developme 
nt VM 
QA Server 
Single Prod 
Server 
Onsite 
Cluster 
Public 
Cloud 
Contributo 
r’s laptop 
Customer 
Servers 
And eliminate the matrix from Hell
Step One: Create a lightweight container (vs. 
VMs) 
App 
A 
Bins/ 
Libs 
Bins/ 
Libs 
Bins/ 
Libs 
Hypervisor 
(Type 
2) 
Host 
OS 
Server 
Guest 
OS 
App 
A’ 
Guest 
OS 
App 
B 
Guest 
OS 
App 
A’ 
Host 
OS 
Server 
App 
A 
Bins/Libs 
Bins/Libs 
App 
B 
App 
B’ 
App 
B’ 
App 
B’ 
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 
migra2on, 
faster 
restart
Step 2: Make the containers easy to use, 
standardized, interoperable, automatable 
• With 
Docker, 
low 
level 
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 
maber 
of 
seconds-­‐ 
no 
modifica2on 
or 
delay 
-­‐ Ability 
to 
share 
containerized 
components 
-­‐ Interoperability 
with 
all 
exis2ng 
devops 
tools 
-­‐ Self 
contained 
environment—no 
dependency 
hell 
-­‐ Tools 
for 
how 
containers 
work 
together: 
linking, 
nes2ng, 
discovery, 
orchestra2on, 
++ 
-­‐ “Containeriza2on” 
is 
really 
“Dockeriza2on”
Step 3: Make containers super lightweight 
App 
A 
Bins/ 
Libs 
Original 
App 
(No 
OS 
to 
take 
up 
space, 
resources, 
or 
require 
restart) 
App 
Δ 
Bins 
/ 
App 
A 
Bins/ 
Libs 
App 
A’ 
Bins/ 
Libs 
Guest 
OS 
Modified 
App 
Copy 
on 
write 
allows 
us 
to 
only 
save 
the 
diffs 
Between 
container 
A 
and 
container 
A’ 
VMs 
Bins/ 
Libs 
Guest 
OS 
Every 
app, 
every 
copy 
of 
an 
App 
A 
app, 
and 
every 
slight 
modifica2on 
of 
the 
app 
requires 
a 
new 
virtual 
server 
App 
A 
Copy 
of 
App 
No 
OS. 
Can 
Share 
bins/libs 
Guest 
OS 
Guest 
OS 
VMs 
Containers
A 
set 
of 
slides 
from 
IBM: 
Comparing 
Docker 
to 
VMs 
9/22/14 
16
Step 4: Build an open platform 
An Open Pla*orm to Build, Ship, and Run Distributed Applica;ons
An Open Platform… 
API 
Engine 
Hub 
open 
source 
soKware 
at 
the 
heart 
of 
the 
Docker 
plakorm 
cloud-­‐based 
plakorm 
services 
for 
distributed 
applica2ons 
API
An Open Platform… 
Any 
App 
+ 
25K 
apps 
+ 
10K 
projects 
Any 
infrastructure 
• Physical 
• Virtual 
cloud 
API 
Engine 
Hub 
cloud-­‐based 
plakorm 
services 
for 
distributed 
applica2ons 
API 
open 
source 
soKware 
at 
the 
heart 
of 
the 
Docker 
plakorm
…to Build, Ship, and Run 
Build 
Ship 
Docker 
Hub 
Run 
Source 
Dev 
QA 
Staging 
Linux 
OS 
Infrastructure 
Management 
Linux 
OS 
Physical 
er 
er 
Infrastructure 
Management 
Virtual 
Cloud 
Source 
Code 
Repository 
DockerFile 
Docker 
Boot2Docker 
Linux 
OS 
TEST 
TEST 
TEST 
TEST 
TEST 
Linux 
OS 
GCE 
RAX 
IBM 
Mac/Win 
Dev 
Machine 
Analytics 
DB 
Prod 
Machine 
DDoocckkeerr 
++ 
Users 
Collab 
Provenance 
Policy 
Registries 
Public 
Curated 
Private 
Docker 
Hub 
API 
Third 
Party 
Tools 
Prod 
Machine 
DDoocckkeerr 
Prod 
Machine 
DDoocckkeerr 
VM 
DoDckoecrk 
VM 
DoDckoecrk 
VM 
er 
DoDckoecrk 
QA 
Machine 
DDoocckkeerr
…Distributed Applications 
Data 
User 
DB 
Queue 
Analytics 
DB 
API 
Endpoint 
Web 
Frontend 
Data 
Background 
Workers 
Development VM 
QA Server 
Public Cloud 
Disaster Recovery 
Production Servers 
Production Cluster 
Contributor’s Laptop 
Customer Data Center
Step 5: Build an Ecosystem 
Community 
540+ Contributors 
250+ Meetups on Docker 
7M Downloads 
10K Projects on GitHub 
Repos & 14K+ Dockerized Apps 
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 
Official 
Repos 
& 
25 
K 
Dockerized 
Apps
Partner Ecosystem
Who is using Docker? 
And 
hundreds 
of 
others….these 
are 
just 
a 
sample 
of 
those 
who 
have 
published 
use 
cases
Since DockerCon (as of 7/25) 
• Major inflection points in almost all metrics 
• Projects: From 6.5K to >10K 
• Contributors: From 475à545 
• Downloads: From 2.75M to ~8M 
• Boot2Docker Downloads: 400Kà600K 
• Repositories: 14Kà25K 
• Significant activity in enterprise pipeline (200+ F500 
opportunities, including major financials, energy, bioinformatics, 
government) 
• Joint announcements, developments with virtually every major 
IT company
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 
• All Videos and Talks from DockerCon: http://bit.ly/1AnvHFz 
• Demo of DockerHub: see Ben Golub keynote from DockerCon, http://bit.ly/1xHqUL8 
demo starts at 29:00 
• Sign up for a DockerHub account: https://hub.docker.com/ 
• Security & Isolation: see above, also blog.docker.io 
• Use Cases: https://docker.com/resources/usecases/ 
• Docker project: www.docker.com/ 
• Follow Docker on Twitter: twitter.com/docker 
• Take the Docker interactive tutorial: https://docker.com/tryit/ 
• Join Docker on IRC: botbot.me/freenode/docker/ 
• Go to the Docker repository on GitHub: github.com/docker/docker/ 
• Go to a meetup: https://www.docker.com/community/meetups/

Mais conteúdo relacionado

Mais procurados

Cloud Native Patterns with Bluemix Developer Console
Cloud Native Patterns with Bluemix Developer ConsoleCloud Native Patterns with Bluemix Developer Console
Cloud Native Patterns with Bluemix Developer ConsoleMatthew Perrins
 
Containers and microservices for realists
Containers and microservices for realistsContainers and microservices for realists
Containers and microservices for realistsKarthik Gaekwad
 
IBM Container Service Overview
IBM Container Service OverviewIBM Container Service Overview
IBM Container Service OverviewKyle Brown
 
Delivering Developer Tools at Scale
Delivering Developer Tools at ScaleDelivering Developer Tools at Scale
Delivering Developer Tools at ScaleOracle Developers
 
Oracle Code Keynote with Thomas Kurian
Oracle Code Keynote with Thomas KurianOracle Code Keynote with Thomas Kurian
Oracle Code Keynote with Thomas KurianOracle Developers
 
Introduction into Docker Containers, the Oracle Platform and the Oracle (Nati...
Introduction into Docker Containers, the Oracle Platform and the Oracle (Nati...Introduction into Docker Containers, the Oracle Platform and the Oracle (Nati...
Introduction into Docker Containers, the Oracle Platform and the Oracle (Nati...Lucas Jellema
 
Containers and VMs and Clouds: Oh My. by Mike Coleman
Containers and VMs and Clouds: Oh My. by Mike ColemanContainers and VMs and Clouds: Oh My. by Mike Coleman
Containers and VMs and Clouds: Oh My. by Mike ColemanDocker, Inc.
 
Docker Containers Deep Dive
Docker Containers Deep DiveDocker Containers Deep Dive
Docker Containers Deep DiveWill Kinard
 
DockerCon 2016 - Structured Container Delivery
DockerCon 2016 - Structured Container DeliveryDockerCon 2016 - Structured Container Delivery
DockerCon 2016 - Structured Container DeliveryOscar Renalias
 
OSCON 2014 - Crash Course in Open Source Cloud Computing
OSCON 2014 -  Crash Course in Open Source Cloud ComputingOSCON 2014 -  Crash Course in Open Source Cloud Computing
OSCON 2014 - Crash Course in Open Source Cloud ComputingMark Hinkle
 
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
 
How to build a Distributed Serverless Polyglot Microservices IoT Platform us...
How to build a Distributed Serverless Polyglot Microservices IoT Platform us...How to build a Distributed Serverless Polyglot Microservices IoT Platform us...
How to build a Distributed Serverless Polyglot Microservices IoT Platform us...Animesh Singh
 
Crash Course in Open Source Cloud Computing
Crash Course in Open Source Cloud Computing Crash Course in Open Source Cloud Computing
Crash Course in Open Source Cloud Computing Mark Hinkle
 
VMware@Night: Container & Virtualisierung
VMware@Night: Container & VirtualisierungVMware@Night: Container & Virtualisierung
VMware@Night: Container & VirtualisierungDigicomp Academy AG
 
2015 03-11_todd-fritz_devnexus_2015
2015 03-11_todd-fritz_devnexus_20152015 03-11_todd-fritz_devnexus_2015
2015 03-11_todd-fritz_devnexus_2015Todd Fritz
 
Cloud Native Architectures for Devops
Cloud Native Architectures for DevopsCloud Native Architectures for Devops
Cloud Native Architectures for Devopscornelia davis
 
Evénement Docker Paris: Anticipez les nouveaux business model et réduisez vos...
Evénement Docker Paris: Anticipez les nouveaux business model et réduisez vos...Evénement Docker Paris: Anticipez les nouveaux business model et réduisez vos...
Evénement Docker Paris: Anticipez les nouveaux business model et réduisez vos...Docker, Inc.
 
A Hitchhiker’s Guide to the Cloud Native Stack. #CDS17
A Hitchhiker’s Guide to the Cloud Native Stack. #CDS17A Hitchhiker’s Guide to the Cloud Native Stack. #CDS17
A Hitchhiker’s Guide to the Cloud Native Stack. #CDS17Mario-Leander Reimer
 
DockerPenang Meetup#1
DockerPenang Meetup#1DockerPenang Meetup#1
DockerPenang Meetup#1Sujay Pillai
 
Docker Basic to Advance
Docker Basic to AdvanceDocker Basic to Advance
Docker Basic to AdvanceParas Jain
 

Mais procurados (20)

Cloud Native Patterns with Bluemix Developer Console
Cloud Native Patterns with Bluemix Developer ConsoleCloud Native Patterns with Bluemix Developer Console
Cloud Native Patterns with Bluemix Developer Console
 
Containers and microservices for realists
Containers and microservices for realistsContainers and microservices for realists
Containers and microservices for realists
 
IBM Container Service Overview
IBM Container Service OverviewIBM Container Service Overview
IBM Container Service Overview
 
Delivering Developer Tools at Scale
Delivering Developer Tools at ScaleDelivering Developer Tools at Scale
Delivering Developer Tools at Scale
 
Oracle Code Keynote with Thomas Kurian
Oracle Code Keynote with Thomas KurianOracle Code Keynote with Thomas Kurian
Oracle Code Keynote with Thomas Kurian
 
Introduction into Docker Containers, the Oracle Platform and the Oracle (Nati...
Introduction into Docker Containers, the Oracle Platform and the Oracle (Nati...Introduction into Docker Containers, the Oracle Platform and the Oracle (Nati...
Introduction into Docker Containers, the Oracle Platform and the Oracle (Nati...
 
Containers and VMs and Clouds: Oh My. by Mike Coleman
Containers and VMs and Clouds: Oh My. by Mike ColemanContainers and VMs and Clouds: Oh My. by Mike Coleman
Containers and VMs and Clouds: Oh My. by Mike Coleman
 
Docker Containers Deep Dive
Docker Containers Deep DiveDocker Containers Deep Dive
Docker Containers Deep Dive
 
DockerCon 2016 - Structured Container Delivery
DockerCon 2016 - Structured Container DeliveryDockerCon 2016 - Structured Container Delivery
DockerCon 2016 - Structured Container Delivery
 
OSCON 2014 - Crash Course in Open Source Cloud Computing
OSCON 2014 -  Crash Course in Open Source Cloud ComputingOSCON 2014 -  Crash Course in Open Source Cloud Computing
OSCON 2014 - Crash Course in Open Source Cloud Computing
 
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
 
How to build a Distributed Serverless Polyglot Microservices IoT Platform us...
How to build a Distributed Serverless Polyglot Microservices IoT Platform us...How to build a Distributed Serverless Polyglot Microservices IoT Platform us...
How to build a Distributed Serverless Polyglot Microservices IoT Platform us...
 
Crash Course in Open Source Cloud Computing
Crash Course in Open Source Cloud Computing Crash Course in Open Source Cloud Computing
Crash Course in Open Source Cloud Computing
 
VMware@Night: Container & Virtualisierung
VMware@Night: Container & VirtualisierungVMware@Night: Container & Virtualisierung
VMware@Night: Container & Virtualisierung
 
2015 03-11_todd-fritz_devnexus_2015
2015 03-11_todd-fritz_devnexus_20152015 03-11_todd-fritz_devnexus_2015
2015 03-11_todd-fritz_devnexus_2015
 
Cloud Native Architectures for Devops
Cloud Native Architectures for DevopsCloud Native Architectures for Devops
Cloud Native Architectures for Devops
 
Evénement Docker Paris: Anticipez les nouveaux business model et réduisez vos...
Evénement Docker Paris: Anticipez les nouveaux business model et réduisez vos...Evénement Docker Paris: Anticipez les nouveaux business model et réduisez vos...
Evénement Docker Paris: Anticipez les nouveaux business model et réduisez vos...
 
A Hitchhiker’s Guide to the Cloud Native Stack. #CDS17
A Hitchhiker’s Guide to the Cloud Native Stack. #CDS17A Hitchhiker’s Guide to the Cloud Native Stack. #CDS17
A Hitchhiker’s Guide to the Cloud Native Stack. #CDS17
 
DockerPenang Meetup#1
DockerPenang Meetup#1DockerPenang Meetup#1
DockerPenang Meetup#1
 
Docker Basic to Advance
Docker Basic to AdvanceDocker Basic to Advance
Docker Basic to Advance
 

Semelhante a Build, Ship, and Run Distributed Apps with Docker

Intro Docker to Loire Atlantique
Intro Docker to Loire AtlantiqueIntro Docker to Loire Atlantique
Intro Docker to Loire AtlantiqueJulien Barbier
 
Rackspace::Solve SFO - Solve(Scale) Featuring Docker CEO Ben Golub
Rackspace::Solve SFO - Solve(Scale) Featuring Docker CEO Ben GolubRackspace::Solve SFO - Solve(Scale) Featuring Docker CEO Ben Golub
Rackspace::Solve SFO - Solve(Scale) Featuring Docker CEO Ben GolubRackspace
 
Dockers and kubernetes
Dockers and kubernetesDockers and kubernetes
Dockers and kubernetesDr Ganesh Iyer
 
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
 
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
 
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
 
Tampere Docker meetup - Happy 5th Birthday Docker
Tampere Docker meetup - Happy 5th Birthday DockerTampere Docker meetup - Happy 5th Birthday Docker
Tampere Docker meetup - Happy 5th Birthday DockerSakari Hoisko
 
Docker & aPaaS: Enterprise Innovation and Trends for 2015
Docker & aPaaS: Enterprise Innovation and Trends for 2015Docker & aPaaS: Enterprise Innovation and Trends for 2015
Docker & aPaaS: Enterprise Innovation and Trends for 2015WaveMaker, Inc.
 
Executive Briefing: The Why, What, and Where of Containers
Executive Briefing: The Why, What, and Where of ContainersExecutive Briefing: The Why, What, and Where of Containers
Executive Briefing: The Why, What, and Where of ContainersNVISIA
 
Docker Training - June 2015
Docker Training - June 2015Docker Training - June 2015
Docker Training - June 2015{code}
 
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
 
Intro Docker october 2013
Intro Docker october 2013Intro Docker october 2013
Intro Docker october 2013dotCloud
 
Docker and Containers overview - Docker Workshop
Docker and Containers overview - Docker WorkshopDocker and Containers overview - Docker Workshop
Docker and Containers overview - Docker WorkshopJonas Rosland
 
Docker and OpenStack Boston Meetup
Docker and OpenStack Boston MeetupDocker and OpenStack Boston Meetup
Docker and OpenStack Boston MeetupKamesh Pemmaraju
 
Docker and containers - For Boston Docker Meetup Workshop in March 2015
Docker and containers - For Boston Docker Meetup Workshop in March 2015Docker and containers - For Boston Docker Meetup Workshop in March 2015
Docker and containers - For Boston Docker Meetup Workshop in March 2015Jonas Rosland
 
Docker Birthday #5 Meetup Cluj - Presentation
Docker Birthday #5 Meetup Cluj - PresentationDocker Birthday #5 Meetup Cluj - Presentation
Docker Birthday #5 Meetup Cluj - PresentationAlex Vranceanu
 
Why Docker
Why DockerWhy Docker
Why DockerdotCloud
 

Semelhante a Build, Ship, and Run Distributed Apps with Docker (20)

Are VMs Passé?
Are VMs Passé?Are VMs Passé?
Are VMs Passé?
 
Intro Docker to Loire Atlantique
Intro Docker to Loire AtlantiqueIntro Docker to Loire Atlantique
Intro Docker to Loire Atlantique
 
Rackspace::Solve SFO - Solve(Scale) Featuring Docker CEO Ben Golub
Rackspace::Solve SFO - Solve(Scale) Featuring Docker CEO Ben GolubRackspace::Solve SFO - Solve(Scale) Featuring Docker CEO Ben Golub
Rackspace::Solve SFO - Solve(Scale) Featuring Docker CEO Ben Golub
 
Dockers and kubernetes
Dockers and kubernetesDockers and kubernetes
Dockers and kubernetes
 
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...
 
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 ...
 
Demystifying Containerization Principles for Data Scientists
Demystifying Containerization Principles for Data ScientistsDemystifying Containerization Principles for Data Scientists
Demystifying Containerization Principles for Data Scientists
 
Tampere Docker meetup - Happy 5th Birthday Docker
Tampere Docker meetup - Happy 5th Birthday DockerTampere Docker meetup - Happy 5th Birthday Docker
Tampere Docker meetup - Happy 5th Birthday Docker
 
Webinar Docker Tri Series
Webinar Docker Tri SeriesWebinar Docker Tri Series
Webinar Docker Tri Series
 
Docker & aPaaS: Enterprise Innovation and Trends for 2015
Docker & aPaaS: Enterprise Innovation and Trends for 2015Docker & aPaaS: Enterprise Innovation and Trends for 2015
Docker & aPaaS: Enterprise Innovation and Trends for 2015
 
Executive Briefing: The Why, What, and Where of Containers
Executive Briefing: The Why, What, and Where of ContainersExecutive Briefing: The Why, What, and Where of Containers
Executive Briefing: The Why, What, and Where of Containers
 
Docker Training - June 2015
Docker Training - June 2015Docker Training - June 2015
Docker Training - June 2015
 
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
 
Intro Docker october 2013
Intro Docker october 2013Intro Docker october 2013
Intro Docker october 2013
 
Docker and Containers overview - Docker Workshop
Docker and Containers overview - Docker WorkshopDocker and Containers overview - Docker Workshop
Docker and Containers overview - Docker Workshop
 
Docker and OpenStack Boston Meetup
Docker and OpenStack Boston MeetupDocker and OpenStack Boston Meetup
Docker and OpenStack Boston Meetup
 
Docker and containers - For Boston Docker Meetup Workshop in March 2015
Docker and containers - For Boston Docker Meetup Workshop in March 2015Docker and containers - For Boston Docker Meetup Workshop in March 2015
Docker and containers - For Boston Docker Meetup Workshop in March 2015
 
Docker Birthday #5 Meetup Cluj - Presentation
Docker Birthday #5 Meetup Cluj - PresentationDocker Birthday #5 Meetup Cluj - Presentation
Docker Birthday #5 Meetup Cluj - Presentation
 
Why Docker
Why DockerWhy Docker
Why Docker
 
Cloud Native & Docker
Cloud Native & DockerCloud Native & Docker
Cloud Native & Docker
 

Mais de Atlassian

International Women's Day 2020
International Women's Day 2020International Women's Day 2020
International Women's Day 2020Atlassian
 
10 emerging trends that will unbreak your workplace in 2020
10 emerging trends that will unbreak your workplace in 202010 emerging trends that will unbreak your workplace in 2020
10 emerging trends that will unbreak your workplace in 2020Atlassian
 
Forge App Showcase
Forge App ShowcaseForge App Showcase
Forge App ShowcaseAtlassian
 
Let's Build an Editor Macro with Forge UI
Let's Build an Editor Macro with Forge UILet's Build an Editor Macro with Forge UI
Let's Build an Editor Macro with Forge UIAtlassian
 
Meet the Forge Runtime
Meet the Forge RuntimeMeet the Forge Runtime
Meet the Forge RuntimeAtlassian
 
Forge UI: A New Way to Customize the Atlassian User Experience
Forge UI: A New Way to Customize the Atlassian User ExperienceForge UI: A New Way to Customize the Atlassian User Experience
Forge UI: A New Way to Customize the Atlassian User ExperienceAtlassian
 
Take Action with Forge Triggers
Take Action with Forge TriggersTake Action with Forge Triggers
Take Action with Forge TriggersAtlassian
 
Observability and Troubleshooting in Forge
Observability and Troubleshooting in ForgeObservability and Troubleshooting in Forge
Observability and Troubleshooting in ForgeAtlassian
 
Trusted by Default: The Forge Security & Privacy Model
Trusted by Default: The Forge Security & Privacy ModelTrusted by Default: The Forge Security & Privacy Model
Trusted by Default: The Forge Security & Privacy ModelAtlassian
 
Designing Forge UI: A Story of Designing an App UI System
Designing Forge UI: A Story of Designing an App UI SystemDesigning Forge UI: A Story of Designing an App UI System
Designing Forge UI: A Story of Designing an App UI SystemAtlassian
 
Forge: Under the Hood
Forge: Under the HoodForge: Under the Hood
Forge: Under the HoodAtlassian
 
Access to User Activities - Activity Platform APIs
Access to User Activities - Activity Platform APIsAccess to User Activities - Activity Platform APIs
Access to User Activities - Activity Platform APIsAtlassian
 
Design Your Next App with the Atlassian Vendor Sketch Plugin
Design Your Next App with the Atlassian Vendor Sketch PluginDesign Your Next App with the Atlassian Vendor Sketch Plugin
Design Your Next App with the Atlassian Vendor Sketch PluginAtlassian
 
Tear Up Your Roadmap and Get Out of the Building
Tear Up Your Roadmap and Get Out of the BuildingTear Up Your Roadmap and Get Out of the Building
Tear Up Your Roadmap and Get Out of the BuildingAtlassian
 
Nailing Measurement: a Framework for Measuring Metrics that Matter
Nailing Measurement: a Framework for Measuring Metrics that MatterNailing Measurement: a Framework for Measuring Metrics that Matter
Nailing Measurement: a Framework for Measuring Metrics that MatterAtlassian
 
Building Apps With Color Blind Users in Mind
Building Apps With Color Blind Users in MindBuilding Apps With Color Blind Users in Mind
Building Apps With Color Blind Users in MindAtlassian
 
Creating Inclusive Experiences: Balancing Personality and Accessibility in UX...
Creating Inclusive Experiences: Balancing Personality and Accessibility in UX...Creating Inclusive Experiences: Balancing Personality and Accessibility in UX...
Creating Inclusive Experiences: Balancing Personality and Accessibility in UX...Atlassian
 
Beyond Diversity: A Guide to Building Balanced Teams
Beyond Diversity: A Guide to Building Balanced TeamsBeyond Diversity: A Guide to Building Balanced Teams
Beyond Diversity: A Guide to Building Balanced TeamsAtlassian
 
The Road(map) to Las Vegas - The Story of an Emerging Self-Managed Team
The Road(map) to Las Vegas - The Story of an Emerging Self-Managed TeamThe Road(map) to Las Vegas - The Story of an Emerging Self-Managed Team
The Road(map) to Las Vegas - The Story of an Emerging Self-Managed TeamAtlassian
 
Building Apps With Enterprise in Mind
Building Apps With Enterprise in MindBuilding Apps With Enterprise in Mind
Building Apps With Enterprise in MindAtlassian
 

Mais de Atlassian (20)

International Women's Day 2020
International Women's Day 2020International Women's Day 2020
International Women's Day 2020
 
10 emerging trends that will unbreak your workplace in 2020
10 emerging trends that will unbreak your workplace in 202010 emerging trends that will unbreak your workplace in 2020
10 emerging trends that will unbreak your workplace in 2020
 
Forge App Showcase
Forge App ShowcaseForge App Showcase
Forge App Showcase
 
Let's Build an Editor Macro with Forge UI
Let's Build an Editor Macro with Forge UILet's Build an Editor Macro with Forge UI
Let's Build an Editor Macro with Forge UI
 
Meet the Forge Runtime
Meet the Forge RuntimeMeet the Forge Runtime
Meet the Forge Runtime
 
Forge UI: A New Way to Customize the Atlassian User Experience
Forge UI: A New Way to Customize the Atlassian User ExperienceForge UI: A New Way to Customize the Atlassian User Experience
Forge UI: A New Way to Customize the Atlassian User Experience
 
Take Action with Forge Triggers
Take Action with Forge TriggersTake Action with Forge Triggers
Take Action with Forge Triggers
 
Observability and Troubleshooting in Forge
Observability and Troubleshooting in ForgeObservability and Troubleshooting in Forge
Observability and Troubleshooting in Forge
 
Trusted by Default: The Forge Security & Privacy Model
Trusted by Default: The Forge Security & Privacy ModelTrusted by Default: The Forge Security & Privacy Model
Trusted by Default: The Forge Security & Privacy Model
 
Designing Forge UI: A Story of Designing an App UI System
Designing Forge UI: A Story of Designing an App UI SystemDesigning Forge UI: A Story of Designing an App UI System
Designing Forge UI: A Story of Designing an App UI System
 
Forge: Under the Hood
Forge: Under the HoodForge: Under the Hood
Forge: Under the Hood
 
Access to User Activities - Activity Platform APIs
Access to User Activities - Activity Platform APIsAccess to User Activities - Activity Platform APIs
Access to User Activities - Activity Platform APIs
 
Design Your Next App with the Atlassian Vendor Sketch Plugin
Design Your Next App with the Atlassian Vendor Sketch PluginDesign Your Next App with the Atlassian Vendor Sketch Plugin
Design Your Next App with the Atlassian Vendor Sketch Plugin
 
Tear Up Your Roadmap and Get Out of the Building
Tear Up Your Roadmap and Get Out of the BuildingTear Up Your Roadmap and Get Out of the Building
Tear Up Your Roadmap and Get Out of the Building
 
Nailing Measurement: a Framework for Measuring Metrics that Matter
Nailing Measurement: a Framework for Measuring Metrics that MatterNailing Measurement: a Framework for Measuring Metrics that Matter
Nailing Measurement: a Framework for Measuring Metrics that Matter
 
Building Apps With Color Blind Users in Mind
Building Apps With Color Blind Users in MindBuilding Apps With Color Blind Users in Mind
Building Apps With Color Blind Users in Mind
 
Creating Inclusive Experiences: Balancing Personality and Accessibility in UX...
Creating Inclusive Experiences: Balancing Personality and Accessibility in UX...Creating Inclusive Experiences: Balancing Personality and Accessibility in UX...
Creating Inclusive Experiences: Balancing Personality and Accessibility in UX...
 
Beyond Diversity: A Guide to Building Balanced Teams
Beyond Diversity: A Guide to Building Balanced TeamsBeyond Diversity: A Guide to Building Balanced Teams
Beyond Diversity: A Guide to Building Balanced Teams
 
The Road(map) to Las Vegas - The Story of an Emerging Self-Managed Team
The Road(map) to Las Vegas - The Story of an Emerging Self-Managed TeamThe Road(map) to Las Vegas - The Story of an Emerging Self-Managed Team
The Road(map) to Las Vegas - The Story of an Emerging Self-Managed Team
 
Building Apps With Enterprise in Mind
Building Apps With Enterprise in MindBuilding Apps With Enterprise in Mind
Building Apps With Enterprise in Mind
 

Build, Ship, and Run Distributed Apps with Docker

  • 1. An Open Platform to Build, Ship, and Run Distributed Applications
  • 2. Who am I? • Nick Stinemates | @nickstinemates | bitbucket.org/keeb • Work: Head of Business Development / Tech Alliances @ Docker
  • 3. A long history of work with Atlassian Products • JIRA critical to Issue and Agile management • Over 400 Bamboo Jobs running / day • Workflow built with SCM integratgion • … and a special thanks for introducing me to Docker and for the amazing early support of the Docker project
  • 4. 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
  • 5. Apps Have Fundamentally Changed ~2000 2014 Long lived Development is itera2ve and constant Monolithic and built on a single stack Built from loosely coupled components Deployed to a single server Deployed to a mul2tude of servers
  • 6. Static website User DB Web frontend Queue Analytics DB Background workers API endpoint nginx 1.5 + modsecurity + openssl + bootstrap 2 postgresql + pgv8 + v8 hadoop + hive + thrift + OpenJDK Redis + redis-sentinel Ruby + Rails + sass + Unicorn 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 2014 Mul*plicity of Stacks Mul*plicity of hardware environments Production Cluster Customer Data Center Do services and apps interact appropriately? Can I migrate smoothly and quickly?
  • 7. The Matrix From Hell Static website Web frontend Background workers User DB Analytics DB Queue ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? Developme nt VM QA Server Single Prod Server Onsite Cluster Public Cloud Contributo r’s laptop Customer Servers
  • 8. Goods Mul*plicity of storing Mul*pilicity of methods for transpor*ng/ 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) An Inspiration…and some really ancient history: Cargo Transport Pre-1960
  • 9. Mul2plicity of Goods transpor2ng/storing Mul2plicity of methods for 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) 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.
  • 10. This spawned an Intermodal Shipping Container Ecosystem • 90% of all cargo now shipped in a standard container • Order of magnitude reduc2on in cost and 2me to load and unload ships • Massive reduc2on in losses due to theK or damage • Huge reduc2on in freight cost as percent of final goods (from >25% to <3%) à massive globaliza2on
  • 11. Let’s create a shipping container system for applications Static website User DB Web frontend Queue Analytics DB Development VM QA server Public Cloud Contributor’s laptop Mul2plicity of Stacks Mul2plicity of hardware environments Customer Data Center Production Cluster Do services and apps interact appropriately? Can I migrate smoothly and 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…
  • 12. Static website Web frontend Background workers User DB Analytics DB Queue Developme nt VM QA Server Single Prod Server Onsite Cluster Public Cloud Contributo r’s laptop Customer Servers And eliminate the matrix from Hell
  • 13. Step One: Create a lightweight container (vs. VMs) App A Bins/ Libs Bins/ Libs Bins/ Libs Hypervisor (Type 2) Host OS Server Guest OS App A’ Guest OS App B Guest OS App A’ Host OS Server App A Bins/Libs Bins/Libs App B App B’ App B’ App B’ 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 migra2on, faster restart
  • 14. Step 2: Make the containers easy to use, standardized, interoperable, automatable • With Docker, low level 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 maber of seconds-­‐ no modifica2on or delay -­‐ Ability to share containerized components -­‐ Interoperability with all exis2ng devops tools -­‐ Self contained environment—no dependency hell -­‐ Tools for how containers work together: linking, nes2ng, discovery, orchestra2on, ++ -­‐ “Containeriza2on” is really “Dockeriza2on”
  • 15. Step 3: Make containers super lightweight App A Bins/ Libs Original App (No OS to take up space, resources, or require restart) App Δ Bins / App A Bins/ Libs App A’ Bins/ Libs Guest OS Modified App Copy on write allows us to only save the diffs Between container A and container A’ VMs Bins/ Libs Guest OS Every app, every copy of an App A app, and every slight modifica2on of the app requires a new virtual server App A Copy of App No OS. Can Share bins/libs Guest OS Guest OS VMs Containers
  • 16. A set of slides from IBM: Comparing Docker to VMs 9/22/14 16
  • 17. Step 4: Build an open platform An Open Pla*orm to Build, Ship, and Run Distributed Applica;ons
  • 18. An Open Platform… API Engine Hub open source soKware at the heart of the Docker plakorm cloud-­‐based plakorm services for distributed applica2ons API
  • 19. An Open Platform… Any App + 25K apps + 10K projects Any infrastructure • Physical • Virtual cloud API Engine Hub cloud-­‐based plakorm services for distributed applica2ons API open source soKware at the heart of the Docker plakorm
  • 20. …to Build, Ship, and Run Build Ship Docker Hub Run Source Dev QA Staging Linux OS Infrastructure Management Linux OS Physical er er Infrastructure Management Virtual Cloud Source Code Repository DockerFile Docker Boot2Docker Linux OS TEST TEST TEST TEST TEST Linux OS GCE RAX IBM Mac/Win Dev Machine Analytics DB Prod Machine DDoocckkeerr ++ Users Collab Provenance Policy Registries Public Curated Private Docker Hub API Third Party Tools Prod Machine DDoocckkeerr Prod Machine DDoocckkeerr VM DoDckoecrk VM DoDckoecrk VM er DoDckoecrk QA Machine DDoocckkeerr
  • 21. …Distributed Applications Data User DB Queue Analytics DB API Endpoint Web Frontend Data Background Workers Development VM QA Server Public Cloud Disaster Recovery Production Servers Production Cluster Contributor’s Laptop Customer Data Center
  • 22. Step 5: Build an Ecosystem Community 540+ Contributors 250+ Meetups on Docker 7M Downloads 10K Projects on GitHub Repos & 14K+ Dockerized Apps 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 Official Repos & 25 K Dockerized Apps
  • 24. Who is using Docker? And hundreds of others….these are just a sample of those who have published use cases
  • 25. Since DockerCon (as of 7/25) • Major inflection points in almost all metrics • Projects: From 6.5K to >10K • Contributors: From 475à545 • Downloads: From 2.75M to ~8M • Boot2Docker Downloads: 400Kà600K • Repositories: 14Kà25K • Significant activity in enterprise pipeline (200+ F500 opportunities, including major financials, energy, bioinformatics, government) • Joint announcements, developments with virtually every major IT company
  • 26. 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
  • 27. Learn More • All Videos and Talks from DockerCon: http://bit.ly/1AnvHFz • Demo of DockerHub: see Ben Golub keynote from DockerCon, http://bit.ly/1xHqUL8 demo starts at 29:00 • Sign up for a DockerHub account: https://hub.docker.com/ • Security & Isolation: see above, also blog.docker.io • Use Cases: https://docker.com/resources/usecases/ • Docker project: www.docker.com/ • Follow Docker on Twitter: twitter.com/docker • Take the Docker interactive tutorial: https://docker.com/tryit/ • Join Docker on IRC: botbot.me/freenode/docker/ • Go to the Docker repository on GitHub: github.com/docker/docker/ • Go to a meetup: https://www.docker.com/community/meetups/