Managing Docker 
Applications in Production 
Boyd E. Hemphill - @behemphi 
Mike Raab - @stackengine
History - Boyd 
Oracle Developer, 
MySQL DBA, PHP 
Developer, System 
Architect, DevOps 
Director (snickering 
encouraged), 
Evangelist
History - Boyd 
Oracle Developer, 
MySQL DBA, PHP 
Developer, System 
Architect, DevOps 
Director (snickering 
encouraged) 
Started Austin 
DevOps In 2012
History - Boyd 
Oracle Developer, MySQL 
DBA, PHP Developer, 
System Architect, DevOps 
Director (snickering 
encouraged) 
Started Austin DevOps 
In 2012 
Co-Organizer of DevOps 
Days Austin
History - Boyd 
Oracle Developer, MySQL 
DBA, PHP Developer, System 
Architect, DevOps Director 
(snickering encouraged) 
Started Austin DevOps In 
2012 
Co-Organizer of DevOps 
Days Austin 
Became involved in 
Docker Austin in August.
History - Boyd 
Oracle Developer, MySQL DBA, 
PHP Developer, System 
Architect, DevOps Director 
(snickering encouraged) 
Started Austin DevOps In 2012 
Co-Organizer of DevOps Days 
Austin 
Became involved in Docker 
Austin in August. 
Working with Docker on the 
first Docker Days Austin
History - Boyd 
Oracle Developer, MySQL DBA, PHP 
Developer, System Architect, DevOps 
Director (snickering encouraged) 
Started Austin DevOps In 2012 
Co-Organizer of DevOps Days 
Austin 
Became involved in Docker Austin 
in August. 
Working with Docker for the first 
Docker Days Austin 
Keep an eye on @stackengine to 
see if we can make it happen!
History - 
StackEngine 
CopperEgg
History - 
StackEngine 
CopperEgg 
Started in May 2014 
to address 
challenges facing 
Docker adopters
History - 
StackEngine 
CopperEgg 
Started in May 2014 
to address 
challenges facing 
Docker adopters 
Funding 
announcement 
October
History - 
StackEngine 
CopperEgg 
Started in May 2014 to 
address challenges 
facing Docker 
adopters 
Funding 
announcement October 
Currently in private 
beta
History - 
StackEngine 
CopperEgg 
Started in May 2014 to 
address challenges 
facing Docker adopters 
Funding announcement 
October 
Currently in private beta 
mike@stackengine.com
Common Ground
What is The 
Goal of Your 
Company?
What is The 
Goal of Your 
Company? 
Make Money!
So … What is 
DevOps?
Is DevOps a Process?
Is it an intersection of 
overlapping concerns?
Is DevOps a Culture?
DevOps: 
DevOps is the way 
in which a 
technology 
organization 
embeds itself in a 
business to the 
benefit of that 
business.
The Ideal Docker 
Application
Netflix (unicorn) 
Service Oriented Architecture
Benefits 
Feature velocity - Increase 
developer productivity using 
containers to model application 
topology
Benefits 
Feature velocity - Increase 
developer productivity using 
containers to model application 
topology 
Innovation velocity - Decreased 
build and test times make more 
time for trying that next great idea!
Benefits 
Feature velocity - Increase developer 
productivity using containers to 
model application topology 
Innovation velocity - Decreased build 
and test times make more time for 
trying that next great idea! 
Density - Reduce Costs
Benefits 
Feature velocity - Increase developer productivity 
using containers to model application topology 
Innovation velocity - Decreased build and test 
times make more time for trying that next great 
idea! 
Density - Reduce Costs 
Separation of Concerns - “Code to an interface” 
moves to the infrastructure level
Benefits 
Taken together a 
company that 
can get to the 
end state has a 
significant and 
lasting 
competitive 
advantage
Today’s Docker 
Reality
Concerns 
This is still very early days for 
Docker
Concerns 
This is still very early days for 
Docker 
Tools to support Dockerized 
applications are immature or do not 
exist
Concerns 
This is still very early days for 
Docker 
Tools to support Dockerized 
applications immature or do not 
exist 
Service oriented architecture is hard
Concerns 
This is still very early days for Docker 
Tools to support Dockerized 
applications immature or do not exist 
Service oriented architecture is hard 
Increasing developer throughput is only 
a local optima, thus a false economy
Concerns 
Docker adoption 
is the first major 
DevOps initiative 
not driven by 
Ops.
Dev Driven DevOps 
DevOps is hallmarked by Ops 
adopting the best practices of 
developers, servers as code, check in 
all the things, test driven 
infrastructure
Dev Driven DevOps 
DevOps is hallmarked by Ops adopting 
the best practices of developers, 
servers as code, check in all the 
things, test driven infrastructure 
The Docker Revolution is the first 
mass DevOps initiative that harkens 
from Developers applying ops thinking
Dev Driven DevOps 
There is a huge 
social 
engineering 
effort along side 
the tech
Dev Driven DevOps 
There is a huge 
social engineering 
effort along side the 
tech 
DEFN: The 
application of the 
findings of social 
science to the 
solution of actual 
social problems.
SDLC 
Developers are moving forward
SDLC 
Developers are moving forward 
QA sees production modeling, large test 
grids, more effective integration testing
SDLC 
Developers are moving forward 
QA sees production modeling, large test 
grids, more effective integration testing 
Build engineers see parallelized build 
grids for faster feedback and better 
build quality
xkcd … er … SDLC 
Operations panics - no tools or instrumentation
The Final Mile
The Final Mile 
Developer uses containers
The Final Mile 
Developer uses containers 
System is built and images are produced
The Final Mile 
Developer uses containers 
System is built and images are produced 
Images stored in a private registry
The Final Mile 
Developer uses containers 
System is built and images are produced 
Images stored in a private registry 
Now we need to deploy to a QA 
environment
The Final Mile 
So we build a 
manual solution 
depending on 
human behavior
The Final Mile 
So we build a 
manual solution 
depending on 
human behavior 
Someone builds a 
tool
Docker Deployment 
Create a component to represent your registry
Docker Deployment 
Create a component to represent the image you would like to run
Docker Deployment 
Distribute that image and run it on the hosts in your Mesh.
Docker Deployment 
Magic happens.
Docker Deployment 
Life is good
Deployment 
StackEngine is 
developing the 
tooling to make 
this policy based
Docker Deployment 
Fluffy bunnies and rainbows ensue
Container Sprawl
Container Sprawl 
First there was VMware and suddenly a 
large corps departments could easily spin 
up environments
Container Sprawl 
First there was VMware and suddenly a 
large corps departments could easily spin 
up environments 
Then there was the cloud and developers 
could complete circumvent Ops
Container Sprawl 
First there was VMware and suddenly a 
large corps departments could easily spin 
up environments 
Then there was the cloud and developers 
could complete circumvent Ops 
Now there is Docker and Developers are 
creating numerous abstractions that are 
not managed like traditional VMs
Container Sprawl 
Containers on VMs 
on phyical 
hardware located in 
availability zones 
in data centers in 
geographic regions.
My Head Hurts 
Container Sprawl
Container Sprawl 
StackEngine is 
working to make 
this policy based
Inventory 
Management
Where’s My Stuff 
Hosts
Where’s My Stuff 
Images
Where’s My Stuff 
Containers
Where’s My Stuff 
Geography, Data Center, Zone
Telemetry
Telemetry 
What does monitoring a docker app look 
like?
Telemetry 
What does monitoring a docker app look 
like? 
http://goo.gl/VkAQo4
Telemetry 
What does monitoring a docker app look 
like? 
http://goo.gl/VkAQo4 
What does log aggregation look like?
Telemetry 
What does monitoring a docker app look 
like? 
http://goo.gl/VkAQo4 
What does log aggregation look like? 
http://goo.gl/uNPe9P
What’s my stuff (not) doing 
I have this much stuff.
What’s my stuff (not) doing 
How are the containers on a host doing
What’s my stuff (not) doing 
What is the container state?
What’s my stuff (not) doing 
More Location, Host and Container metrics coming!
Components
Components 
Components are infrastructure 
abstractions (cloud provider, data center, 
docker registry, docker image)
Components 
Components are infrastructure 
abstractions (cloud provider, data center, 
docker registry, docker image) 
Components can be arranged in logic 
ways to represent physical infrastructure.
Composing an App 
Where are your components coming from
Composing and App 
What makes the application
Composing an App 
Start the db
Composing and App 
Start the web server
Composing and App 
Run the application server
Composing and App 
Run the Cache
Service Discovery
Service Discovery - 
Consistency Models 
Zookeeper 
Etcd / Consul 
Chef Server / Heira
Service Discovery 
Allows multiple deployments of the same 
service on the same host.
Service Discovery 
Allows multiple deployments of the same 
service on the same host. 
Containers register themselves upon 
startup and are found by tags rather than 
URI’s, fixed ports, etc.
Service Discovery 
Allows multiple deployments of the same 
service on the same host. 
Containers register themselves upon 
startup and are found by tags rather than 
URI’s, fixed ports, etc. 
We favor something like consul with a 
search interface like the chef server.
Service Discovery 
Allows multiple deployments of the same service 
on the same host. 
Containers register themselves upon startup and 
are found by tags rather than URI’s, fixed ports, 
etc. 
We favor something like consul with a search 
interface like the chef server. 
A step towards cattle containers instead of pet 
containers
Roadmap
Roadmap 
Service Discovery
Roadmap 
Service Discovery 
User Management
Roadmap 
Service Discovery 
User Management 
Addition of new 
Components
Roadmap 
Service Discovery 
User Management 
Addition of new 
Components 
Better telemetry
Roadmap 
Service Discovery 
User Management 
Addition of new 
Components 
Better telemetry 
Scheduling
Roadmap 
Service Discovery 
User Management 
Addition of new 
Components 
Better telemetry 
Scheduling 
A/B Deployment support
Live Product Demo 
Al Gore and his gremlins willing
Thank You for Your Time and 
Comments. 
Boyd E. Hemphill - @behemphi 
Mike Raab - @stackengine

StackEngine Problem Space Demo

  • 1.
    Managing Docker Applicationsin Production Boyd E. Hemphill - @behemphi Mike Raab - @stackengine
  • 2.
    History - Boyd Oracle Developer, MySQL DBA, PHP Developer, System Architect, DevOps Director (snickering encouraged), Evangelist
  • 3.
    History - Boyd Oracle Developer, MySQL DBA, PHP Developer, System Architect, DevOps Director (snickering encouraged) Started Austin DevOps In 2012
  • 4.
    History - Boyd Oracle Developer, MySQL DBA, PHP Developer, System Architect, DevOps Director (snickering encouraged) Started Austin DevOps In 2012 Co-Organizer of DevOps Days Austin
  • 5.
    History - Boyd Oracle Developer, MySQL DBA, PHP Developer, System Architect, DevOps Director (snickering encouraged) Started Austin DevOps In 2012 Co-Organizer of DevOps Days Austin Became involved in Docker Austin in August.
  • 6.
    History - Boyd Oracle Developer, MySQL DBA, PHP Developer, System Architect, DevOps Director (snickering encouraged) Started Austin DevOps In 2012 Co-Organizer of DevOps Days Austin Became involved in Docker Austin in August. Working with Docker on the first Docker Days Austin
  • 7.
    History - Boyd Oracle Developer, MySQL DBA, PHP Developer, System Architect, DevOps Director (snickering encouraged) Started Austin DevOps In 2012 Co-Organizer of DevOps Days Austin Became involved in Docker Austin in August. Working with Docker for the first Docker Days Austin Keep an eye on @stackengine to see if we can make it happen!
  • 8.
  • 9.
    History - StackEngine CopperEgg Started in May 2014 to address challenges facing Docker adopters
  • 10.
    History - StackEngine CopperEgg Started in May 2014 to address challenges facing Docker adopters Funding announcement October
  • 11.
    History - StackEngine CopperEgg Started in May 2014 to address challenges facing Docker adopters Funding announcement October Currently in private beta
  • 12.
    History - StackEngine CopperEgg Started in May 2014 to address challenges facing Docker adopters Funding announcement October Currently in private beta mike@stackengine.com
  • 13.
  • 14.
    What is The Goal of Your Company?
  • 15.
    What is The Goal of Your Company? Make Money!
  • 16.
    So … Whatis DevOps?
  • 17.
    Is DevOps aProcess?
  • 18.
    Is it anintersection of overlapping concerns?
  • 19.
    Is DevOps aCulture?
  • 20.
    DevOps: DevOps isthe way in which a technology organization embeds itself in a business to the benefit of that business.
  • 21.
    The Ideal Docker Application
  • 22.
    Netflix (unicorn) ServiceOriented Architecture
  • 23.
    Benefits Feature velocity- Increase developer productivity using containers to model application topology
  • 24.
    Benefits Feature velocity- Increase developer productivity using containers to model application topology Innovation velocity - Decreased build and test times make more time for trying that next great idea!
  • 25.
    Benefits Feature velocity- Increase developer productivity using containers to model application topology Innovation velocity - Decreased build and test times make more time for trying that next great idea! Density - Reduce Costs
  • 26.
    Benefits Feature velocity- Increase developer productivity using containers to model application topology Innovation velocity - Decreased build and test times make more time for trying that next great idea! Density - Reduce Costs Separation of Concerns - “Code to an interface” moves to the infrastructure level
  • 27.
    Benefits Taken togethera company that can get to the end state has a significant and lasting competitive advantage
  • 28.
  • 29.
    Concerns This isstill very early days for Docker
  • 30.
    Concerns This isstill very early days for Docker Tools to support Dockerized applications are immature or do not exist
  • 31.
    Concerns This isstill very early days for Docker Tools to support Dockerized applications immature or do not exist Service oriented architecture is hard
  • 32.
    Concerns This isstill very early days for Docker Tools to support Dockerized applications immature or do not exist Service oriented architecture is hard Increasing developer throughput is only a local optima, thus a false economy
  • 33.
    Concerns Docker adoption is the first major DevOps initiative not driven by Ops.
  • 34.
    Dev Driven DevOps DevOps is hallmarked by Ops adopting the best practices of developers, servers as code, check in all the things, test driven infrastructure
  • 35.
    Dev Driven DevOps DevOps is hallmarked by Ops adopting the best practices of developers, servers as code, check in all the things, test driven infrastructure The Docker Revolution is the first mass DevOps initiative that harkens from Developers applying ops thinking
  • 36.
    Dev Driven DevOps There is a huge social engineering effort along side the tech
  • 37.
    Dev Driven DevOps There is a huge social engineering effort along side the tech DEFN: The application of the findings of social science to the solution of actual social problems.
  • 38.
    SDLC Developers aremoving forward
  • 39.
    SDLC Developers aremoving forward QA sees production modeling, large test grids, more effective integration testing
  • 40.
    SDLC Developers aremoving forward QA sees production modeling, large test grids, more effective integration testing Build engineers see parallelized build grids for faster feedback and better build quality
  • 41.
    xkcd … er… SDLC Operations panics - no tools or instrumentation
  • 42.
  • 43.
    The Final Mile Developer uses containers
  • 44.
    The Final Mile Developer uses containers System is built and images are produced
  • 45.
    The Final Mile Developer uses containers System is built and images are produced Images stored in a private registry
  • 46.
    The Final Mile Developer uses containers System is built and images are produced Images stored in a private registry Now we need to deploy to a QA environment
  • 47.
    The Final Mile So we build a manual solution depending on human behavior
  • 48.
    The Final Mile So we build a manual solution depending on human behavior Someone builds a tool
  • 49.
    Docker Deployment Createa component to represent your registry
  • 50.
    Docker Deployment Createa component to represent the image you would like to run
  • 51.
    Docker Deployment Distributethat image and run it on the hosts in your Mesh.
  • 52.
  • 53.
  • 54.
    Deployment StackEngine is developing the tooling to make this policy based
  • 55.
    Docker Deployment Fluffybunnies and rainbows ensue
  • 56.
  • 57.
    Container Sprawl Firstthere was VMware and suddenly a large corps departments could easily spin up environments
  • 58.
    Container Sprawl Firstthere was VMware and suddenly a large corps departments could easily spin up environments Then there was the cloud and developers could complete circumvent Ops
  • 59.
    Container Sprawl Firstthere was VMware and suddenly a large corps departments could easily spin up environments Then there was the cloud and developers could complete circumvent Ops Now there is Docker and Developers are creating numerous abstractions that are not managed like traditional VMs
  • 60.
    Container Sprawl Containerson VMs on phyical hardware located in availability zones in data centers in geographic regions.
  • 61.
    My Head Hurts Container Sprawl
  • 62.
    Container Sprawl StackEngineis working to make this policy based
  • 63.
  • 64.
  • 65.
  • 66.
    Where’s My Stuff Containers
  • 67.
    Where’s My Stuff Geography, Data Center, Zone
  • 68.
  • 69.
    Telemetry What doesmonitoring a docker app look like?
  • 70.
    Telemetry What doesmonitoring a docker app look like? http://goo.gl/VkAQo4
  • 71.
    Telemetry What doesmonitoring a docker app look like? http://goo.gl/VkAQo4 What does log aggregation look like?
  • 72.
    Telemetry What doesmonitoring a docker app look like? http://goo.gl/VkAQo4 What does log aggregation look like? http://goo.gl/uNPe9P
  • 73.
    What’s my stuff(not) doing I have this much stuff.
  • 74.
    What’s my stuff(not) doing How are the containers on a host doing
  • 75.
    What’s my stuff(not) doing What is the container state?
  • 76.
    What’s my stuff(not) doing More Location, Host and Container metrics coming!
  • 77.
  • 78.
    Components Components areinfrastructure abstractions (cloud provider, data center, docker registry, docker image)
  • 79.
    Components Components areinfrastructure abstractions (cloud provider, data center, docker registry, docker image) Components can be arranged in logic ways to represent physical infrastructure.
  • 80.
    Composing an App Where are your components coming from
  • 81.
    Composing and App What makes the application
  • 82.
    Composing an App Start the db
  • 83.
    Composing and App Start the web server
  • 84.
    Composing and App Run the application server
  • 85.
    Composing and App Run the Cache
  • 86.
  • 87.
    Service Discovery - Consistency Models Zookeeper Etcd / Consul Chef Server / Heira
  • 88.
    Service Discovery Allowsmultiple deployments of the same service on the same host.
  • 89.
    Service Discovery Allowsmultiple deployments of the same service on the same host. Containers register themselves upon startup and are found by tags rather than URI’s, fixed ports, etc.
  • 90.
    Service Discovery Allowsmultiple deployments of the same service on the same host. Containers register themselves upon startup and are found by tags rather than URI’s, fixed ports, etc. We favor something like consul with a search interface like the chef server.
  • 91.
    Service Discovery Allowsmultiple deployments of the same service on the same host. Containers register themselves upon startup and are found by tags rather than URI’s, fixed ports, etc. We favor something like consul with a search interface like the chef server. A step towards cattle containers instead of pet containers
  • 92.
  • 93.
  • 94.
    Roadmap Service Discovery User Management
  • 95.
    Roadmap Service Discovery User Management Addition of new Components
  • 96.
    Roadmap Service Discovery User Management Addition of new Components Better telemetry
  • 97.
    Roadmap Service Discovery User Management Addition of new Components Better telemetry Scheduling
  • 98.
    Roadmap Service Discovery User Management Addition of new Components Better telemetry Scheduling A/B Deployment support
  • 99.
    Live Product Demo Al Gore and his gremlins willing
  • 100.
    Thank You forYour Time and Comments. Boyd E. Hemphill - @behemphi Mike Raab - @stackengine