Docker and Immutable
Infrastructure
John Willis
Director of Ecosystem Development
2
What If I told you you
could be 2000 times
faster than your
competitors
3
What if I told you that
you could be 100
times more reliable
than your
competitors
4
What if you
could have
both
About Me
• One of the founding members of the “Devops” movement.
• Author of the “Devops Handbook”.
• Author of the “Introduction to Devops” on Linux Foundation edX.
• Podcaster at
• Devops Enterprise Summit - Cofounder
• Found of Socketplane (Acquired by Docker)
• Formally Director of Devops at Dell
• Formally Director at Chef
• 10 Startups over 25 years
Linkedin:
5
Conventional Wisdom - Iron Triangle
7
Speed
Reliability Cost
Faster, Effective, Reliable
• Devops (Faster)
• Docker (Effective)
• Supply Chain (Reliable)
8
Immutable
Service
Delivery
Devops … faster
Faster… ( Devops Practices and Patterns )
10
What is Devops?
11
Devops is a set of
practices and patterns
that turn human capital
into high performance
organizational capital.
Devops Practices and Patterns
• Continuous Delivery
• Everything in version control
• Small batch principle
• Trunk based deployments
• Manage flow (WIP)
• Automate everything
• Culture
• Everyone is responsible
• Done means released
• Stop the line when it breaks
• Remove silos
12
Devops Automated Deployment Pipeline
13
Source: Wikipedia - Continuous Delivery
14
Devops Results
Google
• Over 15,000 engineers in over 40 offices
• 4,000+ projects under active development
• 5500+ code submissions per day (20+ p/m)
• Over 75M test cases run daily
• 50% of code changes monthly
• Single source tree
15
Devops Results
Amazon
• second mean time between deploys.
• 1079 max deploys in a single hour.
• 10,000 mean number of hosts
simultaneously receiving a deploy.
• 30,000 max number of hosts simultaneously
receiving a deploy
16
Unicorns and Horses (Enterprises)
Unicorns
Enterprise
17
Devops Results
Enterprise Organizations
• Ticketmaster - 98% reduction in MTTR
• Nordstrom - 20% shorter Lead Time
• Target - Full Stack Deploy 3 months to minutes
• USAA - Release from 28 days to 7 days
• ING - 500 applications teams doing devops
• CSG - From 200 incidents per release to 18
Docker … effective
19
Build, Ship, Run Distributed Applications
Anywhere
Enables Containers as a Service
• Integrated platform for IT and developers
• Commercial technical support provider
(Docker, IBM)
Docker Project Sponsor
• Primary contributor and maintainer to
Docker project
• 4B+ Image Downloads, 2900+ Contributors,
450K+ Dockerized Applications
Docker Driving the Containerization Movement
State of Applications Survey - Docker Q1 2016
Docker users
running in
production
Driving force behind modern app initiatives
Cloud
Microservices
80%
Docker is
central to cloud
strategy
State of App development Survey: Q1 - 2016
3 out 4
Top initiatives revolve
around applications
44%
Looking to
adopt DevOpsDevOps
20
Docker Containers as a Service (CaaS) Workflow
Developers IT Operations
BUILD
Development
Environments
SHIP
Secure Content &
Collaboration
RUN
Deploy, Manage, Scale
21
22
Meta Points
• Isolation
• Speed
• Light Weight
Why Docker?
Introducing Built-in Orchestration in Docker
Docker democratizes orchestration with out of the box capabilities for
multi-container on multi-host application deployments. Docker Engine is
the uniform building block for a self-organizing and -healing group of
nodes.
● “Swarm mode” provides powerful, yet optional ability to create
coordinated groups of decentralized Docker Engines (swarms)
● Service deployment API ensures application service consistency and
resiliency
● Routing mesh for services provides container-aware dynamic load
balancing
● Secure by default with end-to-end encryption across the swarm
● Distributed application bundles declare a stack of services
24
Docker Results
Riot Games
• Million Builds a Year
• 10,000 - 14,000 Containers A Week
• 120 Build Jobs An Hour
• 30% of all Environments are
Containerized
25
Docker Results
Uber
• 4,000 upgrades per week
• 3,000 builds per week
• 300 rollbacks per week
• Managed more than 600 services in the
system
Supply Chain … Reliable
27
“Raw Innovation” versus “Net Innovation”
28
29
Supply&chain&advantage&
Source:(Toyota(Supply(Chain(
Management:(A(Strategic(
Approach(to(Toyota’s(
Renowned(System,(by(Ananth(
Iyer(and(Sridhar(Seshadri(
Toyota&
Advantage&
Toyota&
Prius&
Chevy&
Volt&
Unit%Retail%Price% 61%& $24,200% $39,900%
Units%Sold/Month% 13x& 23,294% 1,788%
In?House%ProducBon% 50%& 27%% 54%%
Plant%Suppliers% 16%&& 125% 800%
Firm@Wide(Suppliers( 4%# 224( 5,500(
30
Variety
• Determine your variety of
offerings based on operational
efficiency and market demand
Velocity
• Maintain a steady flow through all
processes of the supply chain
Variability
• Manage inconsistencies carefully
to reduce cost and improve
quality
Visibility
• Ensure the transparency of all
processes to enable continuous
learning and improvement
Toyota Production Systems - 4VL
31
Docker and the Three Ways of Devops
32
Variety
• Learn faster, Limited frameworks,
Limited operating systems, Limit
vendors.
Velocity
• Small Batch, Small Teams,
Microservices and Containers
Variability
• Docker and Immutable Delivery
Visibility
• Automated Testing, Docker Trust,
Docker Security Scanning, Bounded
Context, Bill of Materials
Immutable Service Delivery (4VL)
Use their highest
quality parts
Use fewer, better
suppliers
Track which parts
you use & where
33
Variety
• Lean Startup
• Minimal Viable Product
• Pivot
• Build Measure Learn
• Customer Development Methodology
Software Supply Chain - 4VL
34
Velocity
• Developer Flow
• Integration Flow
• Deployment Flow
Software Supply Chain - 4VL
35
Variability
• Developer Flow
• Integration Flow
• Deployment Flow
Software Supply Chain - 4VL
36
Visibility
• Containerization
• Microservices
• Small Teams
Software Supply Chain - 4VL
37
Visibility - Docker - Bill of Material
• Where and when was it built and why
• What was its ancestor images
• How do I start, validate, monitor and update it
• What git repo is being built, what hash of that git repo
was built
• What are all the tags this specific container is known as
at time of build
• What’s the project name this belongs to
• Have the ability to have arbitrary user supplied rich
metadata
Software Supply Chain - 4VL
38
Why Order Matters - Variability
“The least-cost way to ensure that the behavior of
any two hosts will remain completely identical is
always to implement the same changes in the
same order on both hosts.”
39
• Divergence
• Convergence
• Congruence
Delivery Models
40
No CRUD allowed for…
• Packages
• Configuration Files
• Application Software
• Data (RUD)
Immutable Delivery Patterns
41
Immutable Delivery Patterns
42
Immutable Service Delivery
Large Insurance Company
• Tracks critical and high security defect rate per 10k
lines of code
• Started out with (10/10k)
• After applying Devops practices and principles (4/10k)
• After applying Toyota Supply Chain 4VL (1/10k )
• After Docker with Immutable Delivery (
Immutable Service Delivery
• Devops (Faster)
• Docker (Effective)
• Supply Chain (Reliable)
43
2000x Faster
and
100x Reliable
THANK YOU