SlideShare uses cookies to improve functionality and performance, and to provide you with relevant advertising. If you continue browsing the site, you agree to the use of cookies on this website. See our User Agreement and Privacy Policy.
SlideShare uses cookies to improve functionality and performance, and to provide you with relevant advertising. If you continue browsing the site, you agree to the use of cookies on this website. See our Privacy Policy and User Agreement for details.
Successfully reported this slideshow.
Activate your 14 day free trial to unlock unlimited reading.
Why Docker? Is it cool? Is it the newest thing? Does it solve _my_ problem? In reality, as DevOps thought leaders and professionals the question is really, "How can the cost of a Docker adoption -- in terms of risk and opportunity cost -- benefit my company?"
Why Docker? Is it cool? Is it the newest thing? Does it solve _my_ problem? In reality, as DevOps thought leaders and professionals the question is really, "How can the cost of a Docker adoption -- in terms of risk and opportunity cost -- benefit my company?"
1.
@behemphi
@stackengin
e
D O C K E R E N A B L E S
D E V O P S
K E E P C . A . L . M . S . A N D D O C K E R O N …
B O Y D E . H E M P H I L L
@ B E H E M P H I
2.
@behemphi
@stackengin
goo.gl/jRXAsN
W H O A M I ?
• Technologist
3.
@behemphi
@stackengin
goo.gl/jRXAsN
W H O A M I ?
• Technologist
• Community Builder
4.
@behemphi
@stackengin
goo.gl/jRXAsN
W H O A M I ?
• Technologist
• Community Builder
• Extroverted Nerd
5.
@behemphi
@stackengin
goo.gl/jRXAsN
W H O A M I ?
• Technologist
• Community Builder
• Extroverted Nerd
• Evangelist
6.
@behemphi
@stackengin
goo.gl/jRXAsN
- T H E O R G A N I Z E R S
“Do one thing each month to make _your_ tech
community better.”
7.
@behemphi
@stackengin
goo.gl/jRXAsN
T H I S T H I N G O F
W H I C H Y O U
S P E A K ?
• Docker Docker Docker
8.
@behemphi
@stackengin
goo.gl/jRXAsN
T H I S T H I N G O F
W H I C H Y O U
S P E A K ?
• Docker Docker Docker
• Orchestration, Service
Discovery, Community
9.
@behemphi
@stackengin
goo.gl/jRXAsN
T H I S T H I N G O F
W H I C H Y O U
S P E A K ?
• Docker Docker Docker
• Orchestration, Service
Discovery, Community
• Like what you hear? Come
join the conversation:
http://goo.gl/YyyJOx
10.
@behemphi
@stackengin
goo.gl/jRXAsN
- B O B Q U I L L I N - C E O
“Buy copious amounts of StackEngine goodness.”
11.
@behemphi
@stackengin
goo.gl/jRXAsN
W H O A R E
Y O U ?
• Have heard of Docker
12.
@behemphi
@stackengin
goo.gl/jRXAsN
W H O A R E
Y O U ?
• Have heard of Docker?
• Have experimented with
Docker on the job?
13.
@behemphi
@stackengin
goo.gl/jRXAsN
W H O A R E
Y O U ?
• Have heard of Docker?
• Have experimented with
Docker on the job?
• Are using Docker in a
production environment?
14.
@behemphi
@stackengin
goo.gl/jRXAsN
- S E C U R I T Y H O B B I T S
“Unicorns nothing, Balrogs is more like it!”
15.
@behemphi
@stackengin
S O … W H A T I S
D E V O P S ?
16.
@behemphi
@stackengin
e
I S D E V O P S A
C U L T U R E ?
17.
@behemphi
@stackengin
e
I S D E V O P S
A U T O M A T I O N ?
18.
@behemphi
@stackengin
e
I S D E V O P S L E A N ?
19.
@behemphi
@stackengin
e
I S D E V O P S
M E A S U R E M E N T ?
20.
@behemphi
@stackengin
e
I S D E V O P S S H A R I N G ?
21.
@behemphi
@stackengin
“DevOps is the way in which a technology
organization embeds itself in a business to the
benefit of that business.”
22.
@behemphi
@stackengin
goo.gl/jRXAsN
C O M M O N
G R O U N D
• Philosophy
23.
@behemphi
@stackengin
goo.gl/jRXAsN
C O M M O N
G R O U N D
• Philosophy
• Model
24.
@behemphi
@stackengin
goo.gl/jRXAsN
C O M M O N
G R O U N D
• Philosophy
• Model
• Implementation
25.
@behemphi
@stackengin
goo.gl/jRXAsN
C O M M O N
G R O U N D
• Philosophy
• Model
• Implementation
• Tooling
26.
@behemphi
@stackengin
E C O N O M I C
O B S E R V A T I O N
27.
@behemphi
@stackengin
E C O N O M I C
O B S E R V A T I O
N
• P = R - C
28.
@behemphi
@stackengin
E C O N O M I C
O B S E R V A T I O
N
• P = R - C
• If C = 0, you are out of
business.
29.
@behemphi
@stackengin
E C O N O M I C
O B S E R V A T I O
N
• P = R - C
• If C = 0, you are out of
business.
• R has no ceiling!
30.
@behemphi
@stackengin
– J O H N N Y A P P L E S E E D
“Focus on system throughput as a way to
maximize revenue.”
31.
@behemphi
@stackengin
L A N G U A G E
M A T T E R S
• We do ourselves a
disservice by naming
technology with tools
32.
@behemphi
@stackengin
L A N G U A G E
M A T T E R S
• We do ourselves a
disservice by naming
technology with tools
• Talk about solving a
configuration management
issue (model)
33.
@behemphi
@stackengin
L A N G U A G E
M A T T E R S
• We do ourselves a
disservice by naming
technology with tools
• Talk about solving a
configuration management
issue (model)
• Don’t talk about writing
Chef code (tool)
34.
@behemphi
@stackengin
L A N G U A G E
M A T T E R S
• We do ourselves a disservice
by naming technology with
tools
• Talk about solving a
configuration management
issue (model)
• Don’t talk about writing Chef
code (tool)
• Understanding the nature of the
problem leads to the best
choice of tool
35.
@behemphi
@stackengin
“Docker enables the use of Linux containers by
mere mortals. Linux containers enable more rapid
DevOps model adoption.”
36.
@behemphi
@stackengin
C O N T A I N E R S 1 0 1
-
V M S V S . O S
V I R T U A L I Z A T I O N
• A VM is a full copy of an
entire computer running as
software on a hypervisor
37.
@behemphi
@stackengin
C O N T A I N E R S 1 0 1
-
V M S V S . O S
V I R T U A L I Z A T I O N
• A VM is a full copy of an
entire computer running as
software on a hypervisor
• A container is a slice of the
kernel
38.
@behemphi
@stackengin
C O N T A I N E R S 1 0 1
-
V M S V S . O S
V I R T U A L I Z A T I O N
• A VM is a full copy of an
entire computer running as
software on a hypervisor
• A container is a slice of a
kernel
• Exec Summary: The lack
of extra layers means big
efficiencies
39.
@behemphi
@stackengin
C O N T A I N E R S
1 0 1 -
H I S T O R Y
• BSD Jails (2000)
40.
@behemphi
@stackengin
C O N T A I N E R S
1 0 1 -
H I S T O R Y
• BSD Jails (2000)
• Solaris Zones (2004)
41.
@behemphi
@stackengin
C O N T A I N E R S
1 0 1 -
H I S T O R Y
• BSD Jails (2000)
• Solaris Zones (2004)
• OpenVZ (2005)
42.
@behemphi
@stackengin
C O N T A I N E R S
1 0 1 -
H I S T O R Y
• BSD Jails (2000)
• Solaris Zones (2004)
• OpenVZ (2005)
• LXC (2008)
43.
@behemphi
@stackengin
C O N T A I N E R S
1 0 1 -
H I S T O R Y
• BSD Jails (2000)
• Solaris Zones (2004)
• OpenVZ (2005)
• LXC (2008)
• SILENCE
44.
@behemphi
@stackengin
C O N T A I N E R S
1 0 1 -
H I S T O R Y
• BSD Jails (2000)
• Solaris Zones (2004)
• OpenVZ (2005)
• LXC (2008)
• SILENCE
• Docker (2013)
45.
@behemphi
@stackengin
“Docker isn’t winning because its a better
container. It’s winning because it makes packaging
applications in a container easy.”
47.
@behemphi
@stackengin
M I C R O S E R V I C E S
M E A N M I C R O T E A M S
48.
@behemphi
@stackengin
M I C R O S E R V I C E S
M E A N M I C R O
T E A M S -
D E F I N I T I O N
• Microservices Architecture
is where each process has
a single purpose.
49.
@behemphi
@stackengin
M I C R O S E R V I C E S
M E A N M I C R O
T E A M S -
D E F I N I T I O N
• Microservices Architecture
is where each process has
a single purpose.
• This is SOA recycled -
what’s old is new.
51.
@behemphi
@stackengin
M I C R O S E R V I C E S
M E A N M I C R O
T E A M S -
B E N E F I T S
• “Code to Interface” moves
to infrastructure
52.
@behemphi
@stackengin
M I C R O S E R V I C E S
M E A N M I C R O
T E A M S -
B E N E F I T S
• “Code to Interface” moves
to infrastructure
• Micro team’s service
moves at its own pace
53.
@behemphi
@stackengin
M I C R O S E R V I C E S
M E A N M I C R O
T E A M S -
B E N E F I T S
• “Code to Interface” moves
to infrastructure
• Micro team’s service
moves at its own pace
• Coordination between
people eased (Mythical
Man Month)
54.
@behemphi
@stackengin
M I C R O S E R V I C E S
M E A N M I C R O
T E A M S -
B E N E F I T S
• “Code to Interface” moves
to infrastructure
• Micro team’s service
moves at its own pace
• Coordination between
people eased (Mythical
Man Month)
• Feature velocity increases
55.
@behemphi
@stackengin
B U S I N E S S
P E R S P E C T I V E
56.
@behemphi
@stackengin
M I C R O S E R V I C E S
M E A N M I C R O
T E A M S -
B U S I N E S S
• Extraordinary increase in
Dev Team velocity means
true competitive advantage
57.
@behemphi
@stackengin
M I C R O S E R V I C E S
M E A N M I C R O
T E A M S -
B U S I N E S S
• Extraordinary increase in
Dev Team velocity means
true competitive advantage
• Difficulty of adoption
means advantage is
lasting
58.
@behemphi
@stackengin
M I C R O S E R V I C E S
M E A N M I C R O
T E A M S -
B U S I N E S S
• Extraordinary increase in
Dev Team velocity means
true competitive advantage
• Difficulty of adoption
means advantage is
lasting
• Dip a toe in low risk and
greenfield apps
59.
@behemphi
@stackengin
M I C R O S E R V I C E S
M E A N M I C R O
T E A M S -
B U S I N E S S
• Extraordinary increase in
Dev Team velocity means
true competitive advantage
• Difficulty of adoption means
advantage is lasting
• Dip a toe in low risk and
greenfield apps
• Use the “Strangler Pattern”
60.
@behemphi
@stackengin
“Since the service boundary is now a concrete
infrastructure object, SOA becomes much easier to
reason about.”
62.
@behemphi
@stackengin
B U I L D A N D T E S T
G R I D S
63.
@behemphi
@stackengin
B U I L D A N D T E S T
G R I D S -
D E F I N I T I O N
• Consider the set of all app
versions and environments
64.
@behemphi
@stackengin
B U I L D A N D T E S T
G R I D S -
D E F I N I T I O N
• Consider the set of all app
versions and environments
• Example: Ruby versions
across Ubuntu 12.04,
14.04 and Centos 6.5, 7.3
and Windows.
65.
@behemphi
@stackengin
B U I L D A N D T E S T
G R I D S -
D E F I N I T I O N
• Consider the set of all app
versions and environments
• Example: Ruby versions
across Ubuntu 12.04,
14.04 and Centos 6.5, 7.3
and Windows.
• Very important to installed
software and legacy
application management.
67.
@behemphi
@stackengin
B U I L D A N D T E S T
G R I D S -
B E N E F I T S
• Containers start in less
than one second - faster
builds
68.
@behemphi
@stackengin
B U I L D A N D T E S T
G R I D S -
B E N E F I T S
• Containers start in less
than one second - faster
builds
• Can test more
permutations of the system
69.
@behemphi
@stackengin
B U I L D A N D T E S T
G R I D S -
B E N E F I T S
• Containers start in less
than one second - faster
builds
• Can test more
permutations of the system
• Increase build parallelism
70.
@behemphi
@stackengin
B U I L D A N D T E S T
G R I D S -
B E N E F I T S
• Containers start in less
than one second - faster
builds
• Can test more
permutations of the system
• Increase build parallelism
• Increases feature velocity
and innovation
71.
@behemphi
@stackengin
B U S I N E S S
P E R S P E C T I V E
72.
@behemphi
@stackengin
B U I L D A N D T E S T
G R I D S -
B U S I N E S S
• Grid density lowers cost
73.
@behemphi
@stackengin
B U I L D A N D T E S T
G R I D S -
B U S I N E S S
• Grid density lowers cost
• Increased innovation due
to build time decrease
74.
@behemphi
@stackengin
B U I L D A N D T E S T
G R I D S -
B U S I N E S S
• Grid density lowers cost
• Increased innovation due
to build time decrease
• Increased feature velocity
(unicorn example)
75.
@behemphi
@stackengin
B U I L D A N D T E S T
G R I D S -
B U S I N E S S
• Grid density lowers cost
• Increased innovation due
to build time decrease
• Increased feature velocity
(unicorn example)
• Decrease QA Bottleneck
76.
@behemphi
@stackengin
“According to StackEngines State of Containers
survey in Jan 2015, this is the most common
adoption vector.”
77.
@behemphi
@stackengin
C O N F I G U R A T I O N
M A N A G E M E N T
S I M P L I F I C A T I O N
78.
@behemphi
@stackengin
C O N F I G U R A T I O N
M A N A G E M E N T
S I M P L I F I C A T I O N -
D E F I N I T I O N
• Automate the state of a
single machine
79.
@behemphi
@stackengin
C O N F I G U R A T I O N
M A N A G E M E N T
S I M P L I F I C A T I O N -
D E F I N I T I O N
• Automate the state of a
single machine
• This is not orchestration
81.
@behemphi
@stackengin
C O N F I G U R A T I O N
M A N A G E M E N T
S I M P L I F I C A T I O N -
B E N E F I T S
• Learning curve of typical
CM tool is extremely steep
82.
@behemphi
@stackengin
C O N F I G U R A T I O N
M A N A G E M E N T
S I M P L I F I C A T I O N -
B E N E F I T S
• Learning curve of typical
CM tool is extremely steep
• Docker obviates need for
most host config (bakery)
83.
@behemphi
@stackengin
C O N F I G U R A T I O N
M A N A G E M E N T
S I M P L I F I C A T I O N -
B E N E F I T S
• Learning curve of typical
CM tool is extremely steep
• Docker obviates need for
most host config (bakery)
• Containers are configured
via a simple bash-like file.
84.
@behemphi
@stackengin
B U S I N E S S
P E R S P E C T I V E
85.
@behemphi
@stackengin
C O N F I G U R A T I O N
M A N A G E M E N T
S I M P L I F I C A T I O N -
B U S I N E S S
• Removal of complexity
lowers release and
administrative risk
86.
@behemphi
@stackengin
C O N F I G U R A T I O N
M A N A G E M E N T
S I M P L I F I C A T I O N -
B U S I N E S S
• Removal of complexity
lowers release and
administrative risk
• Scaling issues of many
CM tools are moot.
87.
@behemphi
@stackengin
“The problem of application state becomes a more
holistic concern about orchestration instead of
configuration management.”
89.
@behemphi
@stackengin
P R O C E S S D E N S I T Y
90.
@behemphi
@stackengin
P R O C E S S
D E N S I T Y -
D E F I N I T I O N
• Density increases when
the amount of idle
compute on a host tends
to zero
92.
@behemphi
@stackengin
P R O C E S S
D E N S I T Y -
B E N E F I T S
• Reduce host consumption
reduces cost
93.
@behemphi
@stackengin
P R O C E S S
D E N S I T Y -
B E N E F I T S
• Reduce host consumption
reduces cost
• Reduces power footprint in
large physical setting
94.
@behemphi
@stackengin
B U S I N E S S
P E R S P E C T I V E
95.
@behemphi
@stackengin
P R O C E S S
D E N S I T Y -
B U S I N E S S
• Reduced hosts mean
reduced cost (CapEx and
OpEx)
96.
@behemphi
@stackengin
P R O C E S S
D E N S I T Y -
B U S I N E S S
• Reduced hosts mean
reduced cost (CapEx and
OpEx)
• Does not address revenue
growth
97.
@behemphi
@stackengin
P R O C E S S
D E N S I T Y -
B U S I N E S S
• Reduced hosts mean
reduced cost (CapEx and
OpEx)
• Does not address revenue
growth
• Probably not a compelling
reason, but easy to
understand
98.
@behemphi
@stackengin
– S T A C K E N G I N E
“Ants, not Cattle.”
100.
@behemphi
@stackengin
D I S P O S A B L E
D E V E L O P M E N T
E N V I R O N M E N T S
101.
@behemphi
@stackengin
D I S P O S A B L E
D E V E L O P M E N T
E N V I R O N M E N T S -
D E F I N I T I O N
• A fully functional
development environment
that can be brought up in
minutes or seconds
103.
@behemphi
@stackengin
D I S P O S A B L E
D E V E L O P M E N T
E N V I R O N M E N T S -
B E N E F I T S
• New team members are
productive their first day
104.
@behemphi
@stackengin
D I S P O S A B L E
D E V E L O P M E N T
E N V I R O N M E N T S -
B E N E F I T S
• New team members are
productive their first day
• Innovation - try new things
quickly
105.
@behemphi
@stackengin
D I S P O S A B L E
D E V E L O P M E N T
E N V I R O N M E N T S -
B E N E F I T S
• New team members are
productive their first day
• Innovation - try new things
quickly
• Developers share
improvements easily via
familiar tools
106.
@behemphi
@stackengin
B U S I N E S S
P E R S P E C T I V E
107.
@behemphi
@stackengin
D I S P O S A B L E
D E V E L O P M E N T
E N V I R O N M E N T S -
B U S I N E S S
• Increases feature velocity
108.
@behemphi
@stackengin
D I S P O S A B L E
D E V E L O P M E N T
E N V I R O N M E N T S -
B U S I N E S S
• Increases feature velocity
• Increases innovation
109.
@behemphi
@stackengin
D I S P O S A B L E
D E V E L O P M E N T
E N V I R O N M E N T S -
B U S I N E S S
• Increases feature velocity
• Increases innovation
• Local optima, but
environment
standardization helps in
other areas.
110.
@behemphi
@stackengin
“Disposable development environments are likely
the single biggest improvement you can make in
your SDLC.”
111.
@behemphi
@stackengin
e
F O O D F O R T H O U G H T
112.
@behemphi
@stackengin
F O O D F O R
T H O U G H T
• Immutable infrastructure
113.
@behemphi
@stackengin
F O O D F O R
T H O U G H T
• Immutable infrastructure
• A/B Deployments
114.
@behemphi
@stackengin
F O O D F O R
T H O U G H T
• Immutable infrastructure
• A/B Deployments
• A/B Testing for Marketing
115.
@behemphi
@stackengin
e
C L O S I N G T H O U G H T S
H O W D O I D E T E R M I N E I F D O C K E R I S W O R T H
I N V E S T I G A T I N G ?
117.
@behemphi
@stackengin
B U S I N E S S
• Developer adoption of Docker is only valuable as a
first step. There is not enough benefit from it alone to
justify the effort, it must inform system architecture and
production operations over time.
118.
@behemphi
@stackengin
B U S I N E S S
• Developer adoption of Docker is only valuable as a
first step. There is not enough benefit from it alone to
justify the effort, it must inform system architecture and
production operations over time.
• Docker’s system architecture ramifications have the
potential to provide a significant and lasting
competitive advantage
119.
@behemphi
@stackengin
B U S I N E S S
• Developer adoption of Docker is only valuable as a first step.
There is not enough benefit from it alone to justify the effort,
it must inform system architecture and production operations
over time.
• Docker’s system architecture ramifications have the potential
to provide a significant and lasting competitive advantage
• Unlike most ops driven improvements derived from applying
DevOps thinking, this must be developer and QA driven
since the greatest benefit is derived from system architecture
120.
@behemphi
@stackengin
B U S I N E S S
• Developer adoption of Docker is only valuable as a first step.
There is not enough benefit from it alone to justify the effort, it
must inform system architecture and production operations over
time.
• Docker’s system architecture ramifications have the potential to
provide a significant and lasting competitive advantage
• Unlike most ops driven improvements derived from applying
DevOps thinking, this must be developer and QA driven since the
greatest benefit is derived from system architecture
• Horses are starting to become unicorns. Evolve or die.
122.
@behemphi
@stackengin
D E V O P S
• Culture - DevOps thought leaders must determine how
a Docker adoption path looks in their organization
123.
@behemphi
@stackengin
D E V O P S
• Culture - DevOps thought leaders must determine how
a Docker adoption path looks in their organization
• Automation - Tools are not there yet. Companies are
showing up with the mission to address this, but it is
very early days.
124.
@behemphi
@stackengin
D E V O P S
• Culture - DevOps thought leaders must determine how
a Docker adoption path looks in their organization
• Automation - Tools are not there yet. Companies are
showing up with the mission to address this, but it is
very early days.
• Lean - DevOps thought leaders are responsible for the
holistic impact of technology decisions at the business
level.
125.
@behemphi
@stackengin
D E V O P S
• Culture - DevOps thought leaders must determine how a
Docker adoption path looks in their organization
• Automation - Tools are not there yet. Companies are showing
up with the mission to address this, but it is very early days.
• Lean - DevOps thought leaders are responsible for the
holistic impact of technology decisions at the business level.
• Measurement - Empiricism is required if we are to meet our
Measurement obligation. Blackbox thinking could
revolutionize compliance.
126.
@behemphi
@stackengin
D E V O P S
• Culture - DevOps thought leaders must determine how a Docker adoption
path looks in their organization
• Automation - Tools are not there yet. Companies are showing up with the
mission to address this, but it is very early days.
• Lean - DevOps thought leaders are responsible for the holistic impact of
technology decisions at the business level.
• Measurement - Empiricism is required if we are to meet our Measurement
obligation. Blackbox thinking could revolutionize compliance.
• Sharing - DevOps thought leaders should be working with peers and
collaborators in their company to determine if they can derive the proposed
business benefits.
127.
@behemphi
@stackengin
“Should you be considering Containers as a means
to provide your business with an advantage?”
128.
@behemphi
@stackengin
B E S T E V E R D E V O P S T O O L :
A U D I B L E . C O M
• The Lean Startup - Reis (tech)
• The Goal - Goldratt (Theory of Constraints)
• It’s not Luck - Goldratt (Theory of Constraints)
• Good to Great - Collins (Culture)
• The No Asshole Rule - Sutton (Culture)
• The Phoenix Project - Kim (*) (tech)
• Continuous Deliver - Humble (*) (hardcore tech)
• The Lean Enterprise - Humble (*) (tech)