AMPlifying Docker
Gluecon — 21 May 2014
Alex Heneveld @ahtweetin
• Deployment Patterns
• Simplicity — Docker
• Complexity — Platforms all the way down
• Simplicity — Apache Brooklyn & Cloudsoft AMP
• Demo
Agenda
Patterns
Bare Metal
The Application
Patterns
Cloud Bare Metal
The Application
Patterns
Cloud Bare Metal
Software Defined

{Compute,Storage,Networking}
Real Things

That You Plug In
The Application
Patterns
Cloud Bare Metal
Software Defined

{Compute,Storage,Networking}
Real Things

That You Plug In
Docker
The Application
Patterns
Cloud Bare Metal
Software Defined

{Compute,Storage,Networking}
Real Things

That You Plug In
Docker
PaaS
The Application
Patterns
Cloud Bare Metal
Software Defined

{Compute,Storage,Networking}
Real Things

That You Plug In
Docker
PaaS
The Application
Patterns
Cloud Bare Metal
Software Defined

{Compute,Storage,Networking}
Real Things

That You Plug In
Docker
PaaS NoSQL
The Application
Patterns
Cloud Bare Metal
Software Defined

{Compute,Storage,Networking}
Real Things

That You Plug In
Docker
PaaS NoSQL Analytics
The Application
Patterns
Cloud Bare Metal
Software Defined

{Compute,Storage,Networking}
Real Things

That You Plug In
Docker
PaaS NoSQL API MgmtAnalytics
The Application
Patterns
Cloud Bare Metal
Software Defined

{Compute,Storage,Networking}
Real Things

That You Plug In
Docker
PaaS NoSQL API MgmtAnalytics
The Application
Patterns
Cloud Bare Metal
Software Defined

{Compute,Storage,Networking}
Real Things

That You Plug In
Docker LXC
PaaS NoSQL API MgmtAnalytics
The Application
Patterns
Cloud Bare Metal
Software Defined

{Compute,Storage,Networking}
Real Things

That You Plug In
Docker LXC Waratek
PaaS NoSQL API MgmtAnalytics
The Application
Patterns
Cloud Bare Metal
Software Defined

{Compute,Storage,Networking}
Real Things

That You Plug In
Docker LXC Waratek Mesos
PaaS NoSQL API MgmtAnalytics
The Application
Patterns
Cloud Bare Metal
Software Defined

{Compute,Storage,Networking}
Real Things

That You Plug In
Docker LXC Waratek Mesos
PaaS NoSQL API MgmtAnalytics
The Application
Patterns
Cloud Bare Metal
Software Defined

{Compute,Storage,Networking}
Real Things

That You Plug In
Docker LXC Waratek Mesos
PaaS NoSQL API MgmtAnalytics
The Application
Tools
Tools
Model, Monitor, and Manage:
Portable Application Blueprints
Tools
Tools
Tools
The Application
Tools
The Application
IaaS
Tools
IaaS
OpenStack
CloudStack
AWS, GCE, SL
Fixed IP
Networking
The Application
Tools
IaaS
Bash
Chef
Salt
Images
OpenStack
CloudStack
AWS, GCE, SL
Fixed IP
Networking
The Application
Tools
IaaS
Graphite / Collectd
Logstash / Elasticsearch
Bash
Chef
Salt
Images
OpenStack
CloudStack
AWS, GCE, SL
Fixed IP
Networking
The Application
Policies
Tools
IaaS
Graphite / Collectd
Logstash / Elasticsearch
Bash
Chef
Salt
Images
OpenStack
CloudStack
AWS, GCE, SL
Fixed IP
Networking
The Application
Policies
Docker LXC Waratek Mesos
PaaS NoSQL API MgmtAnalytics
Tools
The Application
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
Demo
Demo
Demo
Demo
Demo
Demo
Demo
Demo
Demo
Demo
Demo
Demo
Demo
Demo
name: MyWebCluster	
services:	
- 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
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
Demo
Demo
To Learn More
Alex Heneveld

@ahtweetin
cloudsoftcorp.com
brooklyn.io
github.com/cloudsoft/ 

brooklyn-docker
github.com/ 

brooklyncentral/

2014-05-gluecon-amplifying-docker