@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
@behemphi
@stackengin
goo.gl/jRXAsN
W H O A M I ?
• Technologist
@behemphi
@stackengin
goo.gl/jRXAsN
W H O A M I ?
• Technologist
• Community Builder
@behemphi
@stackengin
goo.gl/jRXAsN
W H O A M I ?
• Technologist
• Community Builder
• Extroverted Nerd
@behemphi
@stackengin
goo.gl/jRXAsN
W H O A M I ?
• Technologist
• Community Builder
• Extroverted Nerd
• Evangelist
@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.”
@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
@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
@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
@behemphi
@stackengin
goo.gl/jRXAsN
- B O B Q U I L L I N - C E O
“Buy copious amounts of StackEngine goodness.”
@behemphi
@stackengin
goo.gl/jRXAsN
W H O A R E
Y O U ?
• Have heard of Docker
@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?
@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?
@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!”
@behemphi
@stackengin
S O … W H A T I S
D E V O P S ?
@behemphi
@stackengin
e
I S D E V O P S A
C U L T U R E ?
@behemphi
@stackengin
e
I S D E V O P S
A U T O M A T I O N ?
@behemphi
@stackengin
e
I S D E V O P S L E A N ?
@behemphi
@stackengin
e
I S D E V O P S
M E A S U R E M E N T ?
@behemphi
@stackengin
e
I S D E V O P S S H A R I N G ?
@behemphi
@stackengin
“DevOps is the way in which a technology
organization embeds itself in a business to the
benefit of that business.”
@behemphi
@stackengin
goo.gl/jRXAsN
C O M M O N
G R O U N D
• Philosophy
@behemphi
@stackengin
goo.gl/jRXAsN
C O M M O N
G R O U N D
• Philosophy
• Model
@behemphi
@stackengin
goo.gl/jRXAsN
C O M M O N
G R O U N D
• Philosophy
• Model
• Implementation
@behemphi
@stackengin
goo.gl/jRXAsN
C O M M O N
G R O U N D
• Philosophy
• Model
• Implementation
• Tooling
@behemphi
@stackengin
E C O N O M I C
O B S E R V A T I O N
@behemphi
@stackengin
E C O N O M I C
O B S E R V A T I O
N
• P = R - C
@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.
@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!
@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.”
@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
@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)
@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)
@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
@behemphi
@stackengin
“Docker enables the use of Linux containers by
mere mortals. Linux containers enable more rapid
DevOps model adoption.”
@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
@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
@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
@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)
@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)
@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)
@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)
@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
@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)
@behemphi
@stackengin
“Docker isn’t winning because its a better
container. It’s winning because it makes packaging
applications in a container easy.”
@behemphi
@stackengin
e
C U L T U R E
@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
@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.
@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.
@behemphi
@stackengin
B E N E F I T S
@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
@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
@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)
@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
@behemphi
@stackengin
B U S I N E S S
P E R S P E C T I V E
@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
@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
@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
@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”
@behemphi
@stackengin
“Since the service boundary is now a concrete
infrastructure object, SOA becomes much easier to
reason about.”
@behemphi
@stackengin
e
A U T O M A T I O N
@behemphi
@stackengin
B U I L D A N D T E S T
G R I D S
@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
@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.
@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.
@behemphi
@stackengin
B E N E F I T S
@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
@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
@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
@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
@behemphi
@stackengin
B U S I N E S S
P E R S P E C T I V E
@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
@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
@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)
@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
@behemphi
@stackengin
“According to StackEngines State of Containers
survey in Jan 2015, this is the most common
adoption vector.”
@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
@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
@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
@behemphi
@stackengin
B E N E F I T S
@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
@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)
@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.
@behemphi
@stackengin
B U S I N E S S
P E R S P E C T I V E
@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
@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.
@behemphi
@stackengin
“The problem of application state becomes a more
holistic concern about orchestration instead of
configuration management.”
@behemphi
@stackengin
e
M E A S U R E M E N T
@behemphi
@stackengin
P R O C E S S D E N S I T Y
@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
@behemphi
@stackengin
B E N E F I T S
@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
@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
@behemphi
@stackengin
B U S I N E S S
P E R S P E C T I V E
@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)
@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
@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
@behemphi
@stackengin
– S T A C K E N G I N E
“Ants, not Cattle.”
@behemphi
@stackengin
e
S H A R I N G
@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
@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
@behemphi
@stackengin
B E N E F I T S
@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
@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
@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
@behemphi
@stackengin
B U S I N E S S
P E R S P E C T I V E
@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
@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
@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.
@behemphi
@stackengin
“Disposable development environments are likely
the single biggest improvement you can make in
your SDLC.”
@behemphi
@stackengin
e
F O O D F O R T H O U G H T
@behemphi
@stackengin
F O O D F O R
T H O U G H T
• Immutable infrastructure
@behemphi
@stackengin
F O O D F O R
T H O U G H T
• Immutable infrastructure
• A/B Deployments
@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
@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 ?
@behemphi
@stackengin
B U S I N E S S
@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.
@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
@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
@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.
@behemphi
@stackengin
D E V O P S
@behemphi
@stackengin
D E V O P S
• Culture - DevOps thought leaders must determine how
a Docker adoption path looks in their organization
@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.
@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.
@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.
@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.
@behemphi
@stackengin
“Should you be considering Containers as a means
to provide your business with an advantage?”
@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)

Container Days NYC Keynote

  • 1.
    @behemphi @stackengin e D O CK 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
  • 3.
  • 4.
    @behemphi @stackengin goo.gl/jRXAsN W H OA M I ? • Technologist • Community Builder
  • 5.
    @behemphi @stackengin goo.gl/jRXAsN W H OA M I ? • Technologist • Community Builder • Extroverted Nerd
  • 6.
    @behemphi @stackengin goo.gl/jRXAsN W H OA M I ? • Technologist • Community Builder • Extroverted Nerd • Evangelist
  • 7.
    @behemphi @stackengin goo.gl/jRXAsN - T HE O R G A N I Z E R S “Do one thing each month to make _your_ tech community better.”
  • 9.
    @behemphi @stackengin goo.gl/jRXAsN T H IS T H I N G O F W H I C H Y O U S P E A K ? • Docker Docker Docker
  • 10.
    @behemphi @stackengin goo.gl/jRXAsN T H IS 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
  • 11.
    @behemphi @stackengin goo.gl/jRXAsN T H IS 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
  • 12.
    @behemphi @stackengin goo.gl/jRXAsN - B OB Q U I L L I N - C E O “Buy copious amounts of StackEngine goodness.”
  • 14.
    @behemphi @stackengin goo.gl/jRXAsN W H OA R E Y O U ? • Have heard of Docker
  • 15.
    @behemphi @stackengin goo.gl/jRXAsN W H OA R E Y O U ? • Have heard of Docker? • Have experimented with Docker on the job?
  • 16.
    @behemphi @stackengin goo.gl/jRXAsN W H OA R E Y O U ? • Have heard of Docker? • Have experimented with Docker on the job? • Are using Docker in a production environment?
  • 17.
    @behemphi @stackengin goo.gl/jRXAsN - S EC U R I T Y H O B B I T S “Unicorns nothing, Balrogs is more like it!”
  • 18.
    @behemphi @stackengin S O …W H A T I S D E V O P S ?
  • 20.
    @behemphi @stackengin e I S DE V O P S A C U L T U R E ?
  • 21.
    @behemphi @stackengin e I S DE V O P S A U T O M A T I O N ?
  • 22.
    @behemphi @stackengin e I S DE V O P S L E A N ?
  • 23.
    @behemphi @stackengin e I S DE V O P S M E A S U R E M E N T ?
  • 24.
    @behemphi @stackengin e I S DE V O P S S H A R I N G ?
  • 25.
    @behemphi @stackengin “DevOps is theway in which a technology organization embeds itself in a business to the benefit of that business.”
  • 27.
    @behemphi @stackengin goo.gl/jRXAsN C O MM O N G R O U N D • Philosophy
  • 28.
    @behemphi @stackengin goo.gl/jRXAsN C O MM O N G R O U N D • Philosophy • Model
  • 29.
    @behemphi @stackengin goo.gl/jRXAsN C O MM O N G R O U N D • Philosophy • Model • Implementation
  • 30.
    @behemphi @stackengin goo.gl/jRXAsN C O MM O N G R O U N D • Philosophy • Model • Implementation • Tooling
  • 31.
    @behemphi @stackengin E C ON O M I C O B S E R V A T I O N
  • 32.
    @behemphi @stackengin E C ON O M I C O B S E R V A T I O N • P = R - C
  • 33.
    @behemphi @stackengin E C ON 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.
  • 34.
    @behemphi @stackengin E C ON 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!
  • 35.
    @behemphi @stackengin – J OH N N Y A P P L E S E E D “Focus on system throughput as a way to maximize revenue.”
  • 37.
    @behemphi @stackengin L A NG U A G E M A T T E R S • We do ourselves a disservice by naming technology with tools
  • 38.
    @behemphi @stackengin L A NG 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)
  • 39.
    @behemphi @stackengin L A NG 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)
  • 40.
    @behemphi @stackengin L A NG 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
  • 41.
    @behemphi @stackengin “Docker enables theuse of Linux containers by mere mortals. Linux containers enable more rapid DevOps model adoption.”
  • 43.
    @behemphi @stackengin C O NT 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
  • 44.
    @behemphi @stackengin C O NT 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
  • 45.
    @behemphi @stackengin C O NT 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
  • 47.
    @behemphi @stackengin C O NT A I N E R S 1 0 1 - H I S T O R Y • BSD Jails (2000)
  • 48.
    @behemphi @stackengin C O NT A I N E R S 1 0 1 - H I S T O R Y • BSD Jails (2000) • Solaris Zones (2004)
  • 49.
    @behemphi @stackengin C O NT A I N E R S 1 0 1 - H I S T O R Y • BSD Jails (2000) • Solaris Zones (2004) • OpenVZ (2005)
  • 50.
    @behemphi @stackengin C O NT 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)
  • 51.
    @behemphi @stackengin C O NT 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
  • 52.
    @behemphi @stackengin C O NT 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)
  • 53.
    @behemphi @stackengin “Docker isn’t winningbecause its a better container. It’s winning because it makes packaging applications in a container easy.”
  • 54.
  • 55.
    @behemphi @stackengin M I CR O S E R V I C E S M E A N M I C R O T E A M S
  • 56.
    @behemphi @stackengin M I CR 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.
  • 57.
    @behemphi @stackengin M I CR 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.
  • 58.
  • 59.
    @behemphi @stackengin M I CR 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
  • 60.
    @behemphi @stackengin M I CR 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
  • 61.
    @behemphi @stackengin M I CR 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)
  • 62.
    @behemphi @stackengin M I CR 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
  • 63.
    @behemphi @stackengin B U SI N E S S P E R S P E C T I V E
  • 64.
    @behemphi @stackengin M I CR 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
  • 65.
    @behemphi @stackengin M I CR 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
  • 66.
    @behemphi @stackengin M I CR 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
  • 67.
    @behemphi @stackengin M I CR 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”
  • 68.
    @behemphi @stackengin “Since the serviceboundary is now a concrete infrastructure object, SOA becomes much easier to reason about.”
  • 69.
  • 70.
    @behemphi @stackengin B U IL D A N D T E S T G R I D S
  • 71.
    @behemphi @stackengin B U IL 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
  • 72.
    @behemphi @stackengin B U IL 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.
  • 73.
    @behemphi @stackengin B U IL 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.
  • 74.
  • 75.
    @behemphi @stackengin B U IL 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
  • 76.
    @behemphi @stackengin B U IL 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
  • 77.
    @behemphi @stackengin B U IL 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
  • 78.
    @behemphi @stackengin B U IL 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
  • 79.
    @behemphi @stackengin B U SI N E S S P E R S P E C T I V E
  • 80.
    @behemphi @stackengin B U IL 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
  • 81.
    @behemphi @stackengin B U IL 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
  • 82.
    @behemphi @stackengin B U IL 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)
  • 83.
    @behemphi @stackengin B U IL 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
  • 84.
    @behemphi @stackengin “According to StackEnginesState of Containers survey in Jan 2015, this is the most common adoption vector.”
  • 85.
    @behemphi @stackengin C O NF 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
  • 86.
    @behemphi @stackengin C O NF 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
  • 87.
    @behemphi @stackengin C O NF 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
  • 88.
  • 89.
    @behemphi @stackengin C O NF 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
  • 90.
    @behemphi @stackengin C O NF 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)
  • 91.
    @behemphi @stackengin C O NF 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.
  • 92.
    @behemphi @stackengin B U SI N E S S P E R S P E C T I V E
  • 93.
    @behemphi @stackengin C O NF 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
  • 94.
    @behemphi @stackengin C O NF 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.
  • 95.
    @behemphi @stackengin “The problem ofapplication state becomes a more holistic concern about orchestration instead of configuration management.”
  • 96.
  • 97.
    @behemphi @stackengin P R OC E S S D E N S I T Y
  • 98.
    @behemphi @stackengin P R OC 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
  • 99.
  • 100.
    @behemphi @stackengin P R OC E S S D E N S I T Y - B E N E F I T S • Reduce host consumption reduces cost
  • 101.
    @behemphi @stackengin P R OC 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
  • 102.
    @behemphi @stackengin B U SI N E S S P E R S P E C T I V E
  • 103.
    @behemphi @stackengin P R OC 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)
  • 104.
    @behemphi @stackengin P R OC 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
  • 105.
    @behemphi @stackengin P R OC 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
  • 106.
    @behemphi @stackengin – S TA C K E N G I N E “Ants, not Cattle.”
  • 107.
  • 108.
    @behemphi @stackengin D I SP 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
  • 109.
    @behemphi @stackengin D I SP 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
  • 110.
  • 111.
    @behemphi @stackengin D I SP 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
  • 112.
    @behemphi @stackengin D I SP 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
  • 113.
    @behemphi @stackengin D I SP 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
  • 114.
    @behemphi @stackengin B U SI N E S S P E R S P E C T I V E
  • 115.
    @behemphi @stackengin D I SP 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
  • 116.
    @behemphi @stackengin D I SP 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
  • 117.
    @behemphi @stackengin D I SP 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.
  • 118.
    @behemphi @stackengin “Disposable development environmentsare likely the single biggest improvement you can make in your SDLC.”
  • 119.
    @behemphi @stackengin e F O OD F O R T H O U G H T
  • 120.
    @behemphi @stackengin F O OD F O R T H O U G H T • Immutable infrastructure
  • 121.
    @behemphi @stackengin F O OD F O R T H O U G H T • Immutable infrastructure • A/B Deployments
  • 122.
    @behemphi @stackengin F O OD F O R T H O U G H T • Immutable infrastructure • A/B Deployments • A/B Testing for Marketing
  • 123.
    @behemphi @stackengin e C L OS 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 ?
  • 124.
  • 125.
    @behemphi @stackengin B U SI 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.
  • 126.
    @behemphi @stackengin B U SI 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
  • 127.
    @behemphi @stackengin B U SI 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
  • 128.
    @behemphi @stackengin B U SI 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.
  • 129.
  • 130.
    @behemphi @stackengin D E VO P S • Culture - DevOps thought leaders must determine how a Docker adoption path looks in their organization
  • 131.
    @behemphi @stackengin D E VO 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.
  • 132.
    @behemphi @stackengin D E VO 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.
  • 133.
    @behemphi @stackengin D E VO 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.
  • 134.
    @behemphi @stackengin D E VO 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.
  • 135.
    @behemphi @stackengin “Should you beconsidering Containers as a means to provide your business with an advantage?”
  • 136.
    @behemphi @stackengin B E ST 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)