Transcript
Page 1: Amplifying Docker - Alex Heneveld

AMPlifying DockerDevOps London — 28 May 2014

Alex Heneveld @ahtweetin

Page 2: Amplifying Docker - Alex Heneveld

• Deployment Patterns • Simplicity — Docker • Complexity — platforms all the way down • Simplicity — Apache Brooklyn & Cloudsoft AMP • Demo

Agenda

Page 3: Amplifying Docker - Alex Heneveld

Patterns

Bare Metal

The Application

Page 4: Amplifying Docker - Alex Heneveld

Patterns

Cloud Bare Metal

The Application

Page 5: Amplifying Docker - Alex Heneveld

Patterns

Cloud Bare Metal

Software Defined{Compute,Storage,Networking}

Real ThingsThat You Plug In

The Application

Page 6: Amplifying Docker - Alex Heneveld

Patterns

Cloud Bare Metal

Software Defined{Compute,Storage,Networking}

Real ThingsThat You Plug In

Docker

The Application

Page 7: Amplifying Docker - Alex Heneveld

Patterns

Cloud Bare Metal

Software Defined{Compute,Storage,Networking}

Real ThingsThat You Plug In

Docker

PaaS

The Application

Page 8: Amplifying Docker - Alex Heneveld

Patterns

Cloud Bare Metal

Software Defined{Compute,Storage,Networking}

Real ThingsThat You Plug In

Docker

PaaS

The Application

Page 9: Amplifying Docker - Alex Heneveld

Patterns

Cloud Bare Metal

Software Defined{Compute,Storage,Networking}

Real ThingsThat You Plug In

Docker

PaaS NoSQL

The Application

Page 10: Amplifying Docker - Alex Heneveld

Patterns

Cloud Bare Metal

Software Defined{Compute,Storage,Networking}

Real ThingsThat You Plug In

Docker

PaaS NoSQL Analytics

The Application

Page 11: Amplifying Docker - Alex Heneveld

Patterns

Cloud Bare Metal

Software Defined{Compute,Storage,Networking}

Real ThingsThat You Plug In

Docker

PaaS NoSQL API MgmtAnalytics

The Application

Page 12: Amplifying Docker - Alex Heneveld

Patterns

Cloud Bare Metal

Software Defined{Compute,Storage,Networking}

Real ThingsThat You Plug In

Docker

PaaS NoSQL API MgmtAnalytics

The Application

Page 13: Amplifying Docker - Alex Heneveld

Patterns

Cloud Bare Metal

Software Defined{Compute,Storage,Networking}

Real ThingsThat You Plug In

Docker LXC

PaaS NoSQL API MgmtAnalytics

The Application

Page 14: Amplifying Docker - Alex Heneveld

Patterns

Cloud Bare Metal

Software Defined{Compute,Storage,Networking}

Real ThingsThat You Plug In

Docker LXC Waratek

PaaS NoSQL API MgmtAnalytics

The Application

Page 15: Amplifying Docker - Alex Heneveld

Patterns

Cloud Bare Metal

Software Defined{Compute,Storage,Networking}

Real ThingsThat You Plug In

Docker LXC Waratek Mesos

PaaS NoSQL API MgmtAnalytics

The Application

Page 16: Amplifying Docker - Alex Heneveld

Patterns

Cloud Bare Metal

Software Defined{Compute,Storage,Networking}

Real ThingsThat You Plug In

Docker LXC Waratek Mesos

PaaS NoSQL API MgmtAnalytics

The Application

Page 17: Amplifying Docker - Alex Heneveld

Patterns

Cloud Bare Metal

Software Defined{Compute,Storage,Networking}

Real ThingsThat You Plug In

Docker LXC Waratek Mesos

PaaS NoSQL API MgmtAnalytics

The Application

Page 18: Amplifying Docker - Alex Heneveld

Tools

Page 19: Amplifying Docker - Alex Heneveld

Tools

Model, Monitor, and Manage:Portable Application Blueprints

Page 20: Amplifying Docker - Alex Heneveld

Tools

Page 21: Amplifying Docker - Alex Heneveld

Tools

Page 22: Amplifying Docker - Alex Heneveld

Tools

The Application

Page 23: Amplifying Docker - Alex Heneveld

Tools

The Application

IaaS

Page 24: Amplifying Docker - Alex Heneveld

Tools

IaaS

OpenStack CloudStack

AWS, GCE, SL

Fixed IP

Networking

The Application

Page 25: Amplifying Docker - Alex Heneveld

Tools

IaaS

Bash Chef Salt

Images

OpenStack CloudStack

AWS, GCE, SL

Fixed IP

Networking

The Application

Page 26: Amplifying Docker - Alex Heneveld

Tools

IaaS

Graphite / Collectd Logstash / Elasticsearch

Bash Chef Salt

Images

OpenStack CloudStack

AWS, GCE, SL

Fixed IP

Networking

The Application

Page 27: Amplifying Docker - Alex Heneveld

Policies

Tools

IaaS

Graphite / Collectd Logstash / Elasticsearch

Bash Chef Salt

Images

OpenStack CloudStack

AWS, GCE, SL

Fixed IP

Networking

The Application

Page 28: Amplifying Docker - Alex Heneveld

Policies

Docker LXC Waratek Mesos

PaaS NoSQL API MgmtAnalytics

Tools

The Application

Page 29: Amplifying Docker - Alex Heneveld

Policies

Docker LXC Waratek Mesos

PaaS NoSQL API MgmtAnalytics

Tools

The Application

Graphite / Collectd / statsd !Logstash / Elasticsearch

Bash Chef Salt

Images

OpenStack CloudStack

AWS, GCE, SL

Fixed IP

Networking

Page 30: Amplifying Docker - Alex Heneveld

Demo

Page 31: Amplifying Docker - Alex Heneveld

Demo

Page 32: Amplifying Docker - Alex Heneveld

Demo

Page 33: Amplifying Docker - Alex Heneveld

Demo

Page 34: Amplifying Docker - Alex Heneveld

Demo

Page 35: Amplifying Docker - Alex Heneveld

Demo

Page 36: Amplifying Docker - Alex Heneveld

Demo

Page 37: Amplifying Docker - Alex Heneveld

Demo

Page 38: Amplifying Docker - Alex Heneveld

Demo

Page 39: Amplifying Docker - Alex Heneveld

Demo

Page 40: Amplifying Docker - Alex Heneveld

Demo

Page 41: Amplifying Docker - Alex Heneveld

Demo

Page 42: Amplifying Docker - Alex Heneveld

Demo

Page 43: Amplifying Docker - Alex Heneveld

Demo

Page 44: Amplifying Docker - Alex Heneveld

name: MyWebClusterservices:- type: WebAppCluster brooklyn.config: wars.root: hello-db.war http.port: 8080+ java.sysprops: db.url: $brooklyn:component("db"). attributeWhenReady(“database.url") policies: - type: AutoScaler sensor: webapp.reqs.sec range: [100,200]- type: MySqlNode id: db brooklyn.config: creation.script: hello-db.sql!location: my-docker-cloud

Demo

Page 45: Amplifying Docker - Alex Heneveld

name: cassandra-cluster-app!services:- type: brooklyn.entity.nosql.cassandra.CassandraCluster name: Cassandra Cluster brooklyn.config: cluster.initial.size: 5 cluster.initial.quorumSize: 3 provisioning.properties: minCores: 4 minRam: 8192!location: softlayer:sjc01

Demo

Page 46: Amplifying Docker - Alex Heneveld

Demo

Page 47: Amplifying Docker - Alex Heneveld

Demo

Page 48: Amplifying Docker - Alex Heneveld

To Learn More

Alex Heneveld @ahtweetin

cloudsoftcorp.com

brooklyn.io

github.com/cloudsoft/ brooklyn-docker

github.com/ brooklyncentral/