stackengine problem space demo

100
Managing Docker Applications in Production Boyd E. Hemphill - @behemphi Mike Raab - @stackengine

Upload: boyd-hemphill

Post on 11-Jul-2015

4.248 views

Category:

Technology


3 download

TRANSCRIPT

Page 1: StackEngine Problem Space Demo

Managing Docker Applications in Production

Boyd E. Hemphill - @behemphi Mike Raab - @stackengine

Page 2: StackEngine Problem Space Demo

History - Boyd

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

Page 3: StackEngine Problem Space Demo

History - Boyd

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

Started Austin DevOps In 2012

Page 4: StackEngine Problem Space Demo

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

Page 5: StackEngine Problem Space Demo

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.

Page 6: StackEngine Problem Space Demo

History - BoydOracle 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

Page 7: StackEngine Problem Space Demo

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!

Page 8: StackEngine Problem Space Demo

History -StackEngine

CopperEgg

Page 9: StackEngine Problem Space Demo

History -StackEngine

CopperEgg

Started in May 2014 to address challenges facing Docker adopters

Page 10: StackEngine Problem Space Demo

History -StackEngine

CopperEgg

Started in May 2014 to address challenges facing Docker adopters

Funding announcement October

Page 11: StackEngine Problem Space Demo

History -StackEngine

CopperEgg

Started in May 2014 to address challenges facing Docker adopters

Funding announcement October

Currently in private beta

Page 12: StackEngine Problem Space Demo

History -StackEngine

CopperEgg

Started in May 2014 to address challenges facing Docker adopters

Funding announcement October

Currently in private beta

[email protected]

Page 13: StackEngine Problem Space Demo

Common Ground

Page 14: StackEngine Problem Space Demo

What is The Goal of Your

Company?

Page 15: StackEngine Problem Space Demo

What is The Goal of Your

Company?Make Money!

Page 16: StackEngine Problem Space Demo

So … What is DevOps?

Page 17: StackEngine Problem Space Demo

Is DevOps a Process?

Page 18: StackEngine Problem Space Demo

Is it an intersection of overlapping concerns?

Page 19: StackEngine Problem Space Demo

Is DevOps a Culture?

Page 20: StackEngine Problem Space Demo

DevOps:

DevOps is the way in which a technology organization embeds itself in a business to the benefit of that business.

Page 21: StackEngine Problem Space Demo

The Ideal Docker Application

Page 22: StackEngine Problem Space Demo

Netflix (unicorn)Service Oriented Architecture

Page 23: StackEngine Problem Space Demo

Benefits

Feature velocity - Increase developer productivity using containers to model application topology

Page 24: StackEngine Problem Space Demo

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!

Page 25: StackEngine Problem Space Demo

BenefitsFeature 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

Page 26: StackEngine Problem Space Demo

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

Page 27: StackEngine Problem Space Demo

Benefits

Taken together a company that can get to the end state has a significant and lasting competitive advantage

Page 28: StackEngine Problem Space Demo

Today’s Docker Reality

Page 29: StackEngine Problem Space Demo

Concerns

This is still very early days for Docker

Page 30: StackEngine Problem Space Demo

Concerns

This is still very early days for Docker

Tools to support Dockerized applications are immature or do not exist

Page 31: StackEngine Problem Space Demo

Concerns

This is still very early days for Docker

Tools to support Dockerized applications immature or do not exist

Service oriented architecture is hard

Page 32: StackEngine Problem Space Demo

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

Page 33: StackEngine Problem Space Demo

Concerns

Docker adoption is the first major DevOps initiative not driven by Ops.

Page 34: StackEngine Problem Space Demo

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

Page 35: StackEngine Problem Space Demo

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

Page 36: StackEngine Problem Space Demo

Dev Driven DevOps

There is a huge social engineering effort along side the tech

Page 37: StackEngine Problem Space Demo

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.

Page 38: StackEngine Problem Space Demo

SDLC

Developers are moving forward

Page 39: StackEngine Problem Space Demo

SDLC

Developers are moving forward

QA sees production modeling, large test grids, more effective integration testing

Page 40: StackEngine Problem Space Demo

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

Page 41: StackEngine Problem Space Demo

xkcd … er … SDLCOperations panics - no tools or instrumentation

Page 42: StackEngine Problem Space Demo

The Final Mile

Page 43: StackEngine Problem Space Demo

The Final Mile

Developer uses containers

Page 44: StackEngine Problem Space Demo

The Final Mile

Developer uses containers

System is built and images are produced

Page 45: StackEngine Problem Space Demo

The Final Mile

Developer uses containers

System is built and images are produced

Images stored in a private registry

Page 46: StackEngine Problem Space Demo

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

Page 47: StackEngine Problem Space Demo

The Final Mile

So we build a manual solution depending on human behavior

Page 48: StackEngine Problem Space Demo

The Final Mile

So we build a manual solution depending on human behavior

Someone builds a tool

Page 49: StackEngine Problem Space Demo

Docker DeploymentCreate a component to represent your registry

Page 50: StackEngine Problem Space Demo

Docker DeploymentCreate a component to represent the image you would like to run

Page 51: StackEngine Problem Space Demo

Docker DeploymentDistribute that image and run it on the hosts in your Mesh.

Page 52: StackEngine Problem Space Demo

Docker DeploymentMagic happens.

Page 53: StackEngine Problem Space Demo

Docker DeploymentLife is good

Page 54: StackEngine Problem Space Demo

Deployment

StackEngine is developing the tooling to make this policy based

Page 55: StackEngine Problem Space Demo

Docker DeploymentFluffy bunnies and rainbows ensue

Page 56: StackEngine Problem Space Demo

Container Sprawl

Page 57: StackEngine Problem Space Demo

Container Sprawl

First there was VMware and suddenly a large corps departments could easily spin up environments

Page 58: StackEngine Problem Space Demo

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

Page 59: StackEngine Problem Space Demo

Container SprawlFirst 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

Page 60: StackEngine Problem Space Demo

Container Sprawl

Containers on VMs on phyical hardware located in availability zones in data centers in geographic regions.

Page 61: StackEngine Problem Space Demo

My Head HurtsContainer Sprawl

Page 62: StackEngine Problem Space Demo

Container Sprawl

StackEngine is working to make this policy based

Page 63: StackEngine Problem Space Demo

Inventory Management

Page 64: StackEngine Problem Space Demo

Where’s My StuffHosts

Page 65: StackEngine Problem Space Demo

Where’s My StuffImages

Page 66: StackEngine Problem Space Demo

Where’s My StuffContainers

Page 67: StackEngine Problem Space Demo

Where’s My StuffGeography, Data Center, Zone

Page 68: StackEngine Problem Space Demo

Telemetry

Page 69: StackEngine Problem Space Demo

Telemetry

What does monitoring a docker app look like?

Page 70: StackEngine Problem Space Demo

Telemetry

What does monitoring a docker app look like?

http://goo.gl/VkAQo4

Page 71: StackEngine Problem Space Demo

Telemetry

What does monitoring a docker app look like?

http://goo.gl/VkAQo4

What does log aggregation look like?

Page 72: StackEngine Problem Space Demo

Telemetry

What does monitoring a docker app look like?

http://goo.gl/VkAQo4

What does log aggregation look like?

http://goo.gl/uNPe9P

Page 73: StackEngine Problem Space Demo

What’s my stuff (not) doing

I have this much stuff.

Page 74: StackEngine Problem Space Demo

What’s my stuff (not) doing

How are the containers on a host doing

Page 75: StackEngine Problem Space Demo

What’s my stuff (not) doing

What is the container state?

Page 76: StackEngine Problem Space Demo

What’s my stuff (not) doingMore Location, Host and Container metrics coming!

Page 77: StackEngine Problem Space Demo

Components

Page 78: StackEngine Problem Space Demo

Components

Components are infrastructure abstractions (cloud provider, data center, docker registry, docker image)

Page 79: StackEngine Problem Space Demo

Components

Components are infrastructure abstractions (cloud provider, data center, docker registry, docker image)

Components can be arranged in logic ways to represent physical infrastructure.

Page 80: StackEngine Problem Space Demo

Composing an AppWhere are your components coming from

Page 81: StackEngine Problem Space Demo

Composing and AppWhat makes the application

Page 82: StackEngine Problem Space Demo

Composing an AppStart the db

Page 83: StackEngine Problem Space Demo

Composing and AppStart the web server

Page 84: StackEngine Problem Space Demo

Composing and AppRun the application server

Page 85: StackEngine Problem Space Demo

Composing and AppRun the Cache

Page 86: StackEngine Problem Space Demo

Service Discovery

Page 87: StackEngine Problem Space Demo

Service Discovery - Consistency Models

Zookeeper

Etcd / Consul

Chef Server / Heira

Page 88: StackEngine Problem Space Demo

Service Discovery

Allows multiple deployments of the same service on the same host.

Page 89: StackEngine Problem Space Demo

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.

Page 90: StackEngine Problem Space Demo

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.

Page 91: StackEngine Problem Space Demo

Service DiscoveryAllows 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

Page 92: StackEngine Problem Space Demo

Roadmap

Page 93: StackEngine Problem Space Demo

Roadmap

Service Discovery

Page 94: StackEngine Problem Space Demo

Roadmap

Service Discovery

User Management

Page 95: StackEngine Problem Space Demo

Roadmap

Service Discovery

User Management

Addition of new Components

Page 96: StackEngine Problem Space Demo

Roadmap

Service Discovery

User Management

Addition of new Components

Better telemetry

Page 97: StackEngine Problem Space Demo

Roadmap

Service Discovery

User Management

Addition of new Components

Better telemetry

Scheduling

Page 98: StackEngine Problem Space Demo

Roadmap

Service Discovery

User Management

Addition of new Components

Better telemetry

Scheduling

A/B Deployment support

Page 99: StackEngine Problem Space Demo

Live Product DemoAl Gore and his gremlins willing

Page 100: StackEngine Problem Space Demo

Boyd E. Hemphill - @behemphi Mike Raab - @stackengine

Thank You for Your Time and Comments.