Docker Enables DevOps - Keep C.A.L.M.S. and Docker on ...

196
Docker Enables DevOps Keep C.A.L.M.S. and Docker On … Boyd E. Hemphill @behemphi

Transcript of Docker Enables DevOps - Keep C.A.L.M.S. and Docker on ...

Page 1: Docker Enables DevOps - Keep C.A.L.M.S. and Docker on ...

Docker Enables DevOpsKeep C.A.L.M.S. and Docker On … Boyd E. Hemphill @behemphi

Page 2: Docker Enables DevOps - Keep C.A.L.M.S. and Docker on ...

Let’s Get AcquaintedShare a Perspective

Page 3: Docker Enables DevOps - Keep C.A.L.M.S. and Docker on ...

Background

Oracle Developer, MySQL DBA, PHP Developer, System Architect, DevOps Director (snickering encouraged), Evangelist

Page 4: Docker Enables DevOps - Keep C.A.L.M.S. and Docker on ...

Background

Oracle Developer, MySQL DBA, PHP Developer, System Architect, DevOps Director (snickering encouraged), Evangelist

Founded Austin DevOps 2012. 800+ Members.

Page 5: Docker Enables DevOps - Keep C.A.L.M.S. and Docker on ...

BackgroundOracle Developer, MySQL DBA, PHP Developer, System Architect, DevOps Director (snickering encouraged), Evangelist

Founded Austin DevOps 2012. 800+ Members.

DevOps Days Austin Organizer

Page 6: Docker Enables DevOps - Keep C.A.L.M.S. and Docker on ...

BackgroundOracle Developer, MySQL DBA, PHP Developer, System Architect, DevOps Director (snickering encouraged), Evangelist

Founded Austin DevOps 2012. 800+ Members.

DevOps Days Austin Organizer

Lead Docker Austin 2014. Nearly 500 Members.

Page 7: Docker Enables DevOps - Keep C.A.L.M.S. and Docker on ...

BackgroundOracle Developer, MySQL DBA, PHP Developer, System Architect, DevOps Director (snickering encouraged), Evangelist

Founded Austin DevOps 2012. 800+ Members.

DevOps Days Austin Organizer

Lead Docker Austin 2014. Nearly 500 Members.

Founded Container Days 2015. Austin, Boston, San Fran …

Page 8: Docker Enables DevOps - Keep C.A.L.M.S. and Docker on ...

DevOps PerspectivePhilosophy to Implementation

Page 9: Docker Enables DevOps - Keep C.A.L.M.S. and Docker on ...

So … What is DevOps?

Page 10: Docker Enables DevOps - Keep C.A.L.M.S. and Docker on ...

Text

Is DevOps a Culture?

Page 11: Docker Enables DevOps - Keep C.A.L.M.S. and Docker on ...

Text

Is DevOps Automating all-the-things?

Page 12: Docker Enables DevOps - Keep C.A.L.M.S. and Docker on ...

Text

Is DevOps Lean?

Page 13: Docker Enables DevOps - Keep C.A.L.M.S. and Docker on ...

Text

Is DevOps Measuring impact?

Page 14: Docker Enables DevOps - Keep C.A.L.M.S. and Docker on ...

Text

Is DevOps Sharing?

Page 15: Docker Enables DevOps - Keep C.A.L.M.S. and Docker on ...

Text

The Goal of your Company?

Page 16: Docker Enables DevOps - Keep C.A.L.M.S. and Docker on ...

Text

The Goal of your Company?Make Money!

Page 17: Docker Enables DevOps - Keep C.A.L.M.S. and Docker on ...

So … What is DevOps?

DevOps is a Philosophy

Page 18: Docker Enables DevOps - Keep C.A.L.M.S. and Docker on ...

So … What is DevOps?

DevOps is a Philosophy

All of the previous are models for the implementation of that philosophy

Page 19: Docker Enables DevOps - Keep C.A.L.M.S. and Docker on ...

“DevOps is the way in which a technology organization embeds itself in a business to the

benefit of that business.”

Page 20: Docker Enables DevOps - Keep C.A.L.M.S. and Docker on ...

Pillars of ReasoningFrom Ivory Tower to Neck Beard

Page 21: Docker Enables DevOps - Keep C.A.L.M.S. and Docker on ...

Framework - Thought to Action

Page 22: Docker Enables DevOps - Keep C.A.L.M.S. and Docker on ...

Framework - Thought to Action

Philosophy

Model

Implementation

Tools

Page 23: Docker Enables DevOps - Keep C.A.L.M.S. and Docker on ...

Economic Observation

Page 24: Docker Enables DevOps - Keep C.A.L.M.S. and Docker on ...

Economic Observation

P = R - C

Page 25: Docker Enables DevOps - Keep C.A.L.M.S. and Docker on ...

Economic Observation

P = R - C

If C = 0, you are out of business.

Page 26: Docker Enables DevOps - Keep C.A.L.M.S. and Docker on ...

Economic Observation

P = R - C

If C = 0, you are out of business.

R has no ceiling!

Page 27: Docker Enables DevOps - Keep C.A.L.M.S. and Docker on ...

Technology vs. Tools

Page 28: Docker Enables DevOps - Keep C.A.L.M.S. and Docker on ...

Technology vs. Tools

Tools are only a result of implementing a DevOps model

Page 29: Docker Enables DevOps - Keep C.A.L.M.S. and Docker on ...

Technology vs. Tools

Tools are only a result of implementing a DevOps model

Technology enables the creation of better tools

Page 30: Docker Enables DevOps - Keep C.A.L.M.S. and Docker on ...

“Technology enables new business models and new DevOps models. Tools are simply an expression of

those models.”

Page 31: Docker Enables DevOps - Keep C.A.L.M.S. and Docker on ...

Technology vs. Tools

Virtualization - VMware, AWS, Heroku

Page 32: Docker Enables DevOps - Keep C.A.L.M.S. and Docker on ...

Technology vs. Tools

Virtualization - VMware, AWS, Heroku

Config Mgmt - CFEngine, Puppet, Chef

Page 33: Docker Enables DevOps - Keep C.A.L.M.S. and Docker on ...

Technology vs. Tools

Virtualization - VMware, AWS, Heroku

Config Mgmt - CFEngine, Puppet, Chef

Continuous Integration - Go, Jenkins, Travis, CircleCI

Page 34: Docker Enables DevOps - Keep C.A.L.M.S. and Docker on ...

Technology vs. Tools

Virtualization - VMware, AWS, Heroku

Config Mgmt - CFEngine, Puppet, Chef

Continuous Integration - Go, Jenkins, Travis, CircleCI

Continuous Delivery - Artifactory, Nexus, Docker Hub

Page 35: Docker Enables DevOps - Keep C.A.L.M.S. and Docker on ...

Technology vs. Tools

Virtualization - VMware, AWS, Heroku

Config Mgmt - CFEngine, Puppet, Chef

Continuous Integration - Go, Jenkins, Travis, CircleCI

Continuous Delivery - Artifactory, Nexus, Docker Hub

Service Discovery - Zookeeper, etcd, consul

Page 36: Docker Enables DevOps - Keep C.A.L.M.S. and Docker on ...

Technology vs. ToolsVirtualization - VMware, AWS, Heroku

Config Mgmt - CFEngine, Puppet, Chef

Continuous Integration - Go, Jenkins, Travis, CircleCI

Continuous Delivery - Artifactory, Nexus, Docker Hub

Service Discovery - Zookeeper, etcd, consul

Containers - Jails, Zones, OpenVZ, LXC, Docker, Rocket

Page 37: Docker Enables DevOps - Keep C.A.L.M.S. and Docker on ...

Language Matters

Page 38: Docker Enables DevOps - Keep C.A.L.M.S. and Docker on ...

Language Matters

We do ourselves a disservice by naming technology with tools

Page 39: Docker Enables DevOps - Keep C.A.L.M.S. and Docker on ...

Language Matters

We do ourselves a disservice by naming technology with tools

Talk about solving a configuration management issue (model)

Page 40: Docker Enables DevOps - Keep C.A.L.M.S. and Docker on ...

Language MattersWe 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)

Page 41: Docker Enables DevOps - Keep C.A.L.M.S. and Docker on ...

Language MattersWe 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

Page 42: Docker Enables DevOps - Keep C.A.L.M.S. and Docker on ...

How Language Happens

Page 43: Docker Enables DevOps - Keep C.A.L.M.S. and Docker on ...

How Language Happens

Good tools enable technology use

Page 44: Docker Enables DevOps - Keep C.A.L.M.S. and Docker on ...

How Language Happens

Good tools enable technology use

CFEngine vs. Puppet vs. Chef

Page 45: Docker Enables DevOps - Keep C.A.L.M.S. and Docker on ...

How Language Happens

Good tools enable technology use

CFEngine vs. Puppet vs. Chef

VMware vs. Slicehost vs. AWS

Page 46: Docker Enables DevOps - Keep C.A.L.M.S. and Docker on ...

How Language HappensGood tools enable technology use

CFEngine vs. Puppet vs. Chef

VMware vs. Slicehost vs. AWS

LXC vs. Docker

Page 47: Docker Enables DevOps - Keep C.A.L.M.S. and Docker on ...

“Docker enables the use of Linux containers by mere mortals. Thus, it makes the containerization

technology a viable DevOps model.”

Page 48: Docker Enables DevOps - Keep C.A.L.M.S. and Docker on ...

Docker, DevOps and the BusinessLinux Containers for Mere Mortals

Page 49: Docker Enables DevOps - Keep C.A.L.M.S. and Docker on ...

Docker and DevOps

Page 50: Docker Enables DevOps - Keep C.A.L.M.S. and Docker on ...

Docker and DevOps

Culture

Automation

Lean

Measurement

Sharing

Page 51: Docker Enables DevOps - Keep C.A.L.M.S. and Docker on ...

DevOps and the Business

Page 52: Docker Enables DevOps - Keep C.A.L.M.S. and Docker on ...

DevOps and the BusinessDefine an Opportunity

Discuss Benefits

Discuss Concerns

Explore Business Perspective

Available Tools

Adoptions

Page 53: Docker Enables DevOps - Keep C.A.L.M.S. and Docker on ...

CultureLess Communication, More Features, More Quality

Page 54: Docker Enables DevOps - Keep C.A.L.M.S. and Docker on ...

Micro Services mean Micro Teams

Page 55: Docker Enables DevOps - Keep C.A.L.M.S. and Docker on ...

Definition

Page 56: Docker Enables DevOps - Keep C.A.L.M.S. and Docker on ...

Micro Services mean Micro Teams - Definition

Microservices Architecture is where each process has a single purpose.

Page 57: Docker Enables DevOps - Keep C.A.L.M.S. and Docker on ...

Benefits

Page 58: Docker Enables DevOps - Keep C.A.L.M.S. and Docker on ...

Micro Services mean Micro Teams - Benefits

“Code to Interface” moves to infrastructure

Page 59: Docker Enables DevOps - Keep C.A.L.M.S. and Docker on ...

Micro Services mean Micro Teams - Benefits

“Code to Interface” moves to infrastructure

Micro team’s service moves at its own pace

Page 60: Docker Enables DevOps - Keep C.A.L.M.S. and Docker on ...

Micro Services mean Micro Teams - Benefits

“Code to Interface” moves to infrastructure

Micro team’s service moves at its own pace

Coordination between people eased (Mythical Man Month)

Page 61: Docker Enables DevOps - Keep C.A.L.M.S. and Docker on ...

Micro Services mean Micro Teams - Benefits

“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

Page 62: Docker Enables DevOps - Keep C.A.L.M.S. and Docker on ...

Concerns

Page 63: Docker Enables DevOps - Keep C.A.L.M.S. and Docker on ...

Micro Services mean Micro Teams - Concerns

Few coders understand “code to the interface”

Page 64: Docker Enables DevOps - Keep C.A.L.M.S. and Docker on ...

Micro Services mean Micro Teams - Concerns

Few coders understand “code to the interface”

Only Unicorns to reason from currently

Page 65: Docker Enables DevOps - Keep C.A.L.M.S. and Docker on ...

Micro Services mean Micro Teams - Concerns

Few coders understand “code to the interface”

Only Unicorns to reason from currently

Migration of existing apps is high risk

Page 66: Docker Enables DevOps - Keep C.A.L.M.S. and Docker on ...

Business Perspective

Page 67: Docker Enables DevOps - Keep C.A.L.M.S. and Docker on ...

Micro Services mean Micro Teams - Business

Extraordinary increase in Dev Team velocity means true competitive advantage

Page 68: Docker Enables DevOps - Keep C.A.L.M.S. and Docker on ...

Micro Services mean Micro Teams - Business

Extraordinary increase in Dev Team velocity means true competitive advantage

Difficulty of adoption means advantage is lasting

Page 69: Docker Enables DevOps - Keep C.A.L.M.S. and Docker on ...

Micro Services mean Micro Teams - Business

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

Page 70: Docker Enables DevOps - Keep C.A.L.M.S. and Docker on ...

Tools

Page 71: Docker Enables DevOps - Keep C.A.L.M.S. and Docker on ...

Micro Services mean Micro Teams - Tools

No tools exist to convert legacy apps to a micro service architecture

Page 72: Docker Enables DevOps - Keep C.A.L.M.S. and Docker on ...

Micro Services mean Micro Teams - Tools

No tools exist to convert legacy apps to a micro service architecture

Stuff it all in a single container

Page 73: Docker Enables DevOps - Keep C.A.L.M.S. and Docker on ...

Micro Services mean Micro Teams - Tools

No tools exist to convert legacy apps to a micro service architecture

Stuff it all in a single container

Bring in some help

Page 74: Docker Enables DevOps - Keep C.A.L.M.S. and Docker on ...

Micro Services mean Micro Teams - Tools

No tools exist to convert legacy apps to a micro service architecture

Stuff it all in a single container

Bring in some help

http://12factor.net

Page 75: Docker Enables DevOps - Keep C.A.L.M.S. and Docker on ...

Adoption

Page 76: Docker Enables DevOps - Keep C.A.L.M.S. and Docker on ...

Micro Services mean Micro Teams - Adoption

Shops are experimenting with whole apps in a container first

Page 77: Docker Enables DevOps - Keep C.A.L.M.S. and Docker on ...

Micro Services mean Micro Teams - Adoption

Shops are experimenting with whole apps in a container first

Greenfield startups are designing for micro services

Page 78: Docker Enables DevOps - Keep C.A.L.M.S. and Docker on ...

Micro Services mean Micro Teams - Adoption

Shops are experimenting with whole apps in a container first

Greenfield startups are designing for micro services

Many service companies are springing up to help with “containerization”

Page 79: Docker Enables DevOps - Keep C.A.L.M.S. and Docker on ...

AutomationFaster Delivery means More Innovation

Page 80: Docker Enables DevOps - Keep C.A.L.M.S. and Docker on ...

Build and Test Grids

Page 81: Docker Enables DevOps - Keep C.A.L.M.S. and Docker on ...

Definition

Page 82: Docker Enables DevOps - Keep C.A.L.M.S. and Docker on ...

Build and Test Grids - Definition

Consider the set of all app versions and environments

Page 83: Docker Enables DevOps - Keep C.A.L.M.S. and Docker on ...

Build and Test Grids - Definition

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.

Page 84: Docker Enables DevOps - Keep C.A.L.M.S. and Docker on ...

Build and Test Grids - Definition

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.

Page 85: Docker Enables DevOps - Keep C.A.L.M.S. and Docker on ...

Benefits

Page 86: Docker Enables DevOps - Keep C.A.L.M.S. and Docker on ...

Build and Test Grids - Benefits

Containers start in less than one second - faster builds

Page 87: Docker Enables DevOps - Keep C.A.L.M.S. and Docker on ...

Build and Test Grids - Benefits

Containers start in less than one second - faster builds

Can test more permutations of the system

Page 88: Docker Enables DevOps - Keep C.A.L.M.S. and Docker on ...

Build and Test Grids - Benefits

Containers start in less than one second - faster builds

Can test more permutations of the system

Increase build parallelism

Page 89: Docker Enables DevOps - Keep C.A.L.M.S. and Docker on ...

Build and Test Grids - Benefits

Containers start in less than one second - faster builds

Can test more permutations of the system

Increase build parallelism

Increases feature velocity and innovation

Page 90: Docker Enables DevOps - Keep C.A.L.M.S. and Docker on ...

Concerns

Page 91: Docker Enables DevOps - Keep C.A.L.M.S. and Docker on ...

Build and Test Grids - Concerns

Is a container based test bed close enough to production?

Page 92: Docker Enables DevOps - Keep C.A.L.M.S. and Docker on ...

Build and Test Grids - Concerns

Is a container based test bed close enough to production?

Impedance: How does app get to prod if not via container?

Page 93: Docker Enables DevOps - Keep C.A.L.M.S. and Docker on ...

Business

Page 94: Docker Enables DevOps - Keep C.A.L.M.S. and Docker on ...

Build and Test Grids - Business

Grid density lowers cost

Page 95: Docker Enables DevOps - Keep C.A.L.M.S. and Docker on ...

Build and Test Grids - Business

Grid density lowers cost

Increased innovation due to build time decrease

Page 96: Docker Enables DevOps - Keep C.A.L.M.S. and Docker on ...

Build and Test Grids - Business

Grid density lowers cost

Increased innovation due to build time decrease

Increased feature velocity (unicorn example)

Page 97: Docker Enables DevOps - Keep C.A.L.M.S. and Docker on ...

Build and Test Grids - Business

Grid density lowers cost

Increased innovation due to build time decrease

Increased feature velocity (unicorn example)

Decrease QA Bottleneck

Page 98: Docker Enables DevOps - Keep C.A.L.M.S. and Docker on ...

Tools

Page 99: Docker Enables DevOps - Keep C.A.L.M.S. and Docker on ...

Build and Test Grids - Tools

Build and test images as artifacts still immature

Build: Jenkins, CircleCI, Shippable

Page 100: Docker Enables DevOps - Keep C.A.L.M.S. and Docker on ...

Build and Test Grids - ToolsBuild and test images as artifacts still immature

Build: Jenkins, CircleCI, Shippable

Artifact management still immature

Artifact: Docker Registry, Quay.io, Artifactory

Page 101: Docker Enables DevOps - Keep C.A.L.M.S. and Docker on ...

Build and Test Grids - ToolsBuild and test images as artifacts still immature

Build: Jenkins, CircleCI, Shippable

Artifact management still immature

Artifact: Docker Registry, Quay.io, Artifactory

Delivery is unsolved

StackEngine, CircleCI, Shippable

Page 102: Docker Enables DevOps - Keep C.A.L.M.S. and Docker on ...

Adoption

Page 103: Docker Enables DevOps - Keep C.A.L.M.S. and Docker on ...

Build and Test Grids - Adoption

Common adoption path

Page 104: Docker Enables DevOps - Keep C.A.L.M.S. and Docker on ...

Build and Test Grids - Adoption

Common adoption path

Driving legacy apps to containers (Websphere!)

Page 105: Docker Enables DevOps - Keep C.A.L.M.S. and Docker on ...

Build and Test Grids - Adoption

Common adoption path

Driving legacy apps to containers (Websphere!)

Production adoption creates impedance

Page 106: Docker Enables DevOps - Keep C.A.L.M.S. and Docker on ...

Build and Test Grids - Adoption

Common adoption path

Driving legacy apps to containers (Websphere!)

Production adoption creates impedance

Done with no impact to other teams

Page 107: Docker Enables DevOps - Keep C.A.L.M.S. and Docker on ...

Configuration Management Simplification

Page 108: Docker Enables DevOps - Keep C.A.L.M.S. and Docker on ...

Definition

Page 109: Docker Enables DevOps - Keep C.A.L.M.S. and Docker on ...

Configuration Management Simplification - Definition

Automate the state of a single machine

This is not orchestration

Page 110: Docker Enables DevOps - Keep C.A.L.M.S. and Docker on ...

Benefits

Page 111: Docker Enables DevOps - Keep C.A.L.M.S. and Docker on ...

Configuration Management Simplification - Benefits

Learning curve of typical CM tool is extremely steep

Page 112: Docker Enables DevOps - Keep C.A.L.M.S. and Docker on ...

Configuration Management Simplification - Benefits

Learning curve of typical CM tool is extremely steep

Docker obviates need for most host config (bakery)

Page 113: Docker Enables DevOps - Keep C.A.L.M.S. and Docker on ...

Configuration Management Simplification - Benefits

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.

Page 114: Docker Enables DevOps - Keep C.A.L.M.S. and Docker on ...

Concerns

Page 115: Docker Enables DevOps - Keep C.A.L.M.S. and Docker on ...

Configuration Management Simplification - Concerns

Is a Dockerfile enough for complex applications?

Page 116: Docker Enables DevOps - Keep C.A.L.M.S. and Docker on ...

Configuration Management Simplification - Concerns

Is a Dockerfile enough for complex applications?

How to transition from updating in place to immutable release

Page 117: Docker Enables DevOps - Keep C.A.L.M.S. and Docker on ...

Business

Page 118: Docker Enables DevOps - Keep C.A.L.M.S. and Docker on ...

Configuration Management Simplification - Business

Removal of complexity lowers release and administrative risk

Page 119: Docker Enables DevOps - Keep C.A.L.M.S. and Docker on ...

Configuration Management Simplification - Business

Removal of complexity lowers release and administrative risk

Scaling issues of most CM tools are moot.

Page 120: Docker Enables DevOps - Keep C.A.L.M.S. and Docker on ...

Tools

Page 121: Docker Enables DevOps - Keep C.A.L.M.S. and Docker on ...

Configuration Management Simplification - Tools

Bakery model for hosts

Page 122: Docker Enables DevOps - Keep C.A.L.M.S. and Docker on ...

Configuration Management Simplification - Tools

Bakery model for hosts

Dockerfile for containers

Page 123: Docker Enables DevOps - Keep C.A.L.M.S. and Docker on ...

Configuration Management Simplification - Tools

Bakery model for hosts

Dockerfile for containers

Multihost image management: StackEngine

Page 124: Docker Enables DevOps - Keep C.A.L.M.S. and Docker on ...

Adoption

Page 125: Docker Enables DevOps - Keep C.A.L.M.S. and Docker on ...

Configuration Management Simplification - Adoption

Companies who adopt Docker in production gradually realize they need CM less and less

Page 126: Docker Enables DevOps - Keep C.A.L.M.S. and Docker on ...

Configuration Management Simplification - Adoption

Companies who adopt Docker in production gradually realize they need CM less and less

This is true in every case we have encountered including our own

Page 127: Docker Enables DevOps - Keep C.A.L.M.S. and Docker on ...

MeasurementFunction, Performance, Stress, Security

Page 128: Docker Enables DevOps - Keep C.A.L.M.S. and Docker on ...

Process Density

Page 129: Docker Enables DevOps - Keep C.A.L.M.S. and Docker on ...

Definition

Page 130: Docker Enables DevOps - Keep C.A.L.M.S. and Docker on ...

Process Density - Definition

Density increases when the amount of idle compute on a host tends to zero

Page 131: Docker Enables DevOps - Keep C.A.L.M.S. and Docker on ...

Benefits

Page 132: Docker Enables DevOps - Keep C.A.L.M.S. and Docker on ...

Process Density - Benefits

Reduce host consumption reduces cost

Page 133: Docker Enables DevOps - Keep C.A.L.M.S. and Docker on ...

Process Density - Benefits

Reduce host consumption reduces cost

Reduces power footprint in large physical setting

Page 134: Docker Enables DevOps - Keep C.A.L.M.S. and Docker on ...

Concerns

Page 135: Docker Enables DevOps - Keep C.A.L.M.S. and Docker on ...

Process Density - Definition

Spare capacity is no longer there when spikes occur

Page 136: Docker Enables DevOps - Keep C.A.L.M.S. and Docker on ...

Process Density - Definition

Spare capacity is no longer there when spikes occur

Another complexity layer

Page 137: Docker Enables DevOps - Keep C.A.L.M.S. and Docker on ...

Process Density - Definition

Spare capacity is no longer there when spikes occur

Another complexity layer

Container Sprawl

Page 138: Docker Enables DevOps - Keep C.A.L.M.S. and Docker on ...

“Ants not Cattle”

Page 139: Docker Enables DevOps - Keep C.A.L.M.S. and Docker on ...

Business

Page 140: Docker Enables DevOps - Keep C.A.L.M.S. and Docker on ...

Process Density - Business

Reduced hosts mean reduced cost (CapEx and OpEx)

Page 141: Docker Enables DevOps - Keep C.A.L.M.S. and Docker on ...

Process Density - Business

Reduced hosts mean reduced cost (CapEx and OpEx)

Does not address revenue growth

Page 142: Docker Enables DevOps - Keep C.A.L.M.S. and Docker on ...

Process Density - BusinessReduced hosts mean reduced cost (CapEx and OpEx)

Does not address revenue growth

Probably not a compelling reason, but easy to understand

Page 143: Docker Enables DevOps - Keep C.A.L.M.S. and Docker on ...

Tools

Page 144: Docker Enables DevOps - Keep C.A.L.M.S. and Docker on ...

Process Density - Tools

Basic management tools for multi host inventory

Page 145: Docker Enables DevOps - Keep C.A.L.M.S. and Docker on ...

Process Density - Tools

Basic management tools for multi host inventory

StackEngine, Tutum, Fleet

Page 146: Docker Enables DevOps - Keep C.A.L.M.S. and Docker on ...

Process Density - Tools

Basic management tools for multi host inventory

StackEngine, Tutum, Fleet

Scheduling to help with usage spikes

Page 147: Docker Enables DevOps - Keep C.A.L.M.S. and Docker on ...

Adoption

Page 148: Docker Enables DevOps - Keep C.A.L.M.S. and Docker on ...

Process Density - Adoption

Mostly production concern

Page 149: Docker Enables DevOps - Keep C.A.L.M.S. and Docker on ...

Process Density - Adoption

Mostly production concern

Much talk, little action

Page 150: Docker Enables DevOps - Keep C.A.L.M.S. and Docker on ...

Process Density - Adoption

Mostly production concern

Much talk, little action

Revolution not evolution

Page 151: Docker Enables DevOps - Keep C.A.L.M.S. and Docker on ...

Process Density - AdoptionMostly production concern

Much talk, little action

Revolution not evolution

Tools for production management are hard to use (Kubernetes, Mesos)

Page 152: Docker Enables DevOps - Keep C.A.L.M.S. and Docker on ...

SharingFaster Features, Fewer Surprises

Page 153: Docker Enables DevOps - Keep C.A.L.M.S. and Docker on ...

Disposable Development Environments

Page 154: Docker Enables DevOps - Keep C.A.L.M.S. and Docker on ...

Definition

Page 155: Docker Enables DevOps - Keep C.A.L.M.S. and Docker on ...

Disposable Development Environments - Definition

A fully functional development environment that can be brought up in minutes or seconds

Page 156: Docker Enables DevOps - Keep C.A.L.M.S. and Docker on ...

Benefits

Page 157: Docker Enables DevOps - Keep C.A.L.M.S. and Docker on ...

Disposable Development Environments - Benefits

New team members are productive their first day

Page 158: Docker Enables DevOps - Keep C.A.L.M.S. and Docker on ...

Disposable Development Environments - Benefits

New team members are productive their first day

Innovation - try new things quickly

Page 159: Docker Enables DevOps - Keep C.A.L.M.S. and Docker on ...

Disposable Development Environments - Benefits

New team members are productive their first day

Innovation - try new things quickly

Developers share improvements easily via familiar tools

Page 160: Docker Enables DevOps - Keep C.A.L.M.S. and Docker on ...

Concerns

Page 161: Docker Enables DevOps - Keep C.A.L.M.S. and Docker on ...

Disposable Development Environments - Concerns

Impedance: Config changes across teams (Dev, QA, Ops)

Page 162: Docker Enables DevOps - Keep C.A.L.M.S. and Docker on ...

Business

Page 163: Docker Enables DevOps - Keep C.A.L.M.S. and Docker on ...

Disposable Development Environments - Business

Increases feature velocity

Page 164: Docker Enables DevOps - Keep C.A.L.M.S. and Docker on ...

Disposable Development Environments - Business

Increases feature velocity

Increases innovation

Page 165: Docker Enables DevOps - Keep C.A.L.M.S. and Docker on ...

Disposable Development Environments - Business

Increases feature velocity

Increases innovation

Local optima

Page 166: Docker Enables DevOps - Keep C.A.L.M.S. and Docker on ...

Tools

Page 167: Docker Enables DevOps - Keep C.A.L.M.S. and Docker on ...

Disposable Development Environments - Tools

Virtual Box

Page 168: Docker Enables DevOps - Keep C.A.L.M.S. and Docker on ...

Disposable Development Environments - Tools

Virtual Box

Vagrant

Page 169: Docker Enables DevOps - Keep C.A.L.M.S. and Docker on ...

Disposable Development Environments - Tools

Virtual Box

Vagrant

boot2docker

Page 170: Docker Enables DevOps - Keep C.A.L.M.S. and Docker on ...

Disposable Development Environments - Tools

Virtual Box

Vagrant

boot2docker

kitematic

Page 171: Docker Enables DevOps - Keep C.A.L.M.S. and Docker on ...

Disposable Development Environments - Tools

Virtual Box

Vagrant

boot2docker

kitematic

docker compose

Page 172: Docker Enables DevOps - Keep C.A.L.M.S. and Docker on ...

Adoption

Page 173: Docker Enables DevOps - Keep C.A.L.M.S. and Docker on ...

Disposable Development Environments - Adoption

Common adoption path

Page 174: Docker Enables DevOps - Keep C.A.L.M.S. and Docker on ...

Disposable Development Environments - Adoption

Common adoption path

Typically done in lieu of Vagrant

Page 175: Docker Enables DevOps - Keep C.A.L.M.S. and Docker on ...

Disposable Development Environments - Adoption

Common adoption path

Typically done in lieu of Vagrant

Often gains traction with QA!

Page 176: Docker Enables DevOps - Keep C.A.L.M.S. and Docker on ...

Food for ThoughtLess developed use cases.

Page 177: Docker Enables DevOps - Keep C.A.L.M.S. and Docker on ...

Food for Thought

Immutable infrastructure

Page 178: Docker Enables DevOps - Keep C.A.L.M.S. and Docker on ...

Food for Thought

Immutable infrastructure

A/B Deployments

Page 179: Docker Enables DevOps - Keep C.A.L.M.S. and Docker on ...

Food for Thought

Immutable infrastructure

A/B Deployments

A/B Testing for Marketing

Page 180: Docker Enables DevOps - Keep C.A.L.M.S. and Docker on ...

Future PastContainers in production are already happening.

Page 181: Docker Enables DevOps - Keep C.A.L.M.S. and Docker on ...

Future PastPantheon/Rackspace blog: http://bit.ly/15a2UIW

Note the date: October 7th, 2013

Docker makes this easier to consider in our own context

Page 182: Docker Enables DevOps - Keep C.A.L.M.S. and Docker on ...

Text

Robots and UnicornsDocker makes containers available to mere mortals.

Page 183: Docker Enables DevOps - Keep C.A.L.M.S. and Docker on ...

Closing ThoughtsHow do I determine if Docker is worth investigating?

Page 184: Docker Enables DevOps - Keep C.A.L.M.S. and Docker on ...

Business

Page 185: Docker Enables DevOps - Keep C.A.L.M.S. and Docker on ...

Business

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.

Page 186: Docker Enables DevOps - Keep C.A.L.M.S. and Docker on ...

Business

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

Page 187: Docker Enables DevOps - Keep C.A.L.M.S. and Docker on ...

BusinessDeveloper 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

Page 188: Docker Enables DevOps - Keep C.A.L.M.S. and Docker on ...

BusinessDeveloper 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.

Page 189: Docker Enables DevOps - Keep C.A.L.M.S. and Docker on ...

DevOps

Page 190: Docker Enables DevOps - Keep C.A.L.M.S. and Docker on ...

DevOps

Culture - DevOps thought leaders must determine how a Docker adoption path looks in their organization

Page 191: Docker Enables DevOps - Keep C.A.L.M.S. and Docker on ...

DevOps

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.

Page 192: Docker Enables DevOps - Keep C.A.L.M.S. and Docker on ...

DevOpsCulture - 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.

Page 193: Docker Enables DevOps - Keep C.A.L.M.S. and Docker on ...

DevOpsCulture - 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.

Page 194: Docker Enables DevOps - Keep C.A.L.M.S. and Docker on ...

DevOpsCulture - 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.

Page 195: Docker Enables DevOps - Keep C.A.L.M.S. and Docker on ...

Should you be considering a Docker adoption?

Page 196: Docker Enables DevOps - Keep C.A.L.M.S. and Docker on ...

Best Ever DevOps Tool: audible.com

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)