SlideShare a Scribd company logo
1 of 38
Download to read offline
Running 
Riak 
in 
a 
Docker 
cloud 
using 
Apache 
Brooklyn 
Alex 
Heneveld 
@ahtwee<n 
Duncan 
Johnston-­‐Wa@ 
@duncanjw 
RICON 
2014
Agenda 
• Clocker 
– Docker 
– Apache 
Brooklyn 
– Apache 
jclouds 
– Weave 
• Deep 
Dive 
• Demonstra<on
Meet 
Clocker 
The 
Docker 
Cloud 
Maker
Clocker 
• What 
does 
it 
do? 
– Spin 
up 
and 
manage 
Docker 
clouds 
– Serve 
up 
containers 
on-­‐demand 
• What 
is 
it? 
– Apache 
Brooklyn 
Applica<on 
– Apache 
Brooklyn 
Loca<on 
• Who 
started 
it? 
– Andrew 
Kennedy 
@grkvlt
Docker
Orchestra<on 
– 
The 
New 
Fron<er 
“The 
way 
in 
which 
Docker 
has 
enabled 
workloads 
to 
migrate 
across 
any 
opera<ng 
system 
and 
any 
environment 
has 
really 
kind 
of 
freed 
up 
development 
and 
opera<ons. 
We 
want 
to 
keep 
them 
going 
at 
the 
next 
layer 
of 
the 
stack, 
which 
is 
orchestra2on. 
Docker 
containers 
have 
been 
around 
for 
15 
months, 
so 
the 
developers' 
tools 
around 
them 
have 
an 
even 
shorter 
lifecycle. 
We're 
in 
the 
very 
early 
days 
of 
the 
category.” 
Sco$ 
Johnston, 
SVP 
Product, 
Docker
Clocker 
Project 
• Open 
Source 
• Apache 
Licensed 
• S<ll 
in 
Beta 
– 0.7.0-­‐SNAPSHOT 
– h@p://brooklyncentral.github.io/clocker
Apache 
Brooklyn 
• Open 
Source 
• Donated 
to 
the 
Apache 
So^ware 
Founda<on 
• h@p://brooklyn.incubator.apache.org 
• Started 
by 
@ahtwee<n
Apache 
Brooklyn 
• Applica<on 
Management 
Pla`orm 
• Model, 
Deploy 
and 
Manage 
Blueprints 
– Services 
(En<<es) 
– Metrics 
(Sensors) 
– Ac<ons 
(Effectors)
Brooklyn 
Blueprint 
name: 
Riak 
Cluster 
with 
Webapp 
services: 
-­‐ 
type: 
brooklyn.en<ty.nosql.riak.RiakCluster 
ini<alSize: 
2 
id: 
cluster 
brooklyn.config: 
install.version: 
2.0.0 
-­‐ 
type: 
brooklyn.en<ty.webapp.jboss.JBoss7Server 
name: 
Hello 
Riak 
Web 
App 
brooklyn.config: 
wars.root: 
"h@ps://s3-­‐eu-­‐west-­‐1.amazonaws.com/brooklyn-­‐clocker/brooklyn-­‐example-­‐hello-­‐world-­‐sql-­‐webapp.war" 
java.sysprops: 
brooklyn.example.riak.nodes: 
$brooklyn:component("cluster").a@ributeWhenReady("riak.cluster.nodeList") 
loca<on: 
jclouds:so^layer:sjc01
Apache 
Brooklyn 
• Deployment 
– Provisioning 
– Loca<ons 
– Installa<on 
and 
Customiza<on 
• Packages, 
Scripts, 
Chef, 
SaltStack 
• Management 
– Policies 
• AutoScaling, 
Resilience, 
Performance, 
Access
Apache 
jclouds 
• Java 
Cloud 
Library 
– h@p://jclouds.apache.org 
• API 
Agnos<c 
– CloudStack, 
OpenStack, 
AWS 
EC2, 
GCE, 
So^Layer… 
• Create 
Virtual 
Machines 
– Return 
SSH 
Endpoint 
– Manage 
Proper<es
Apache 
jclouds 
• Drivers 
for 
REST 
APIs 
• Docker 
Driver 
– Created 
by 
Andrea 
Turli 
@turlinux 
• Virtual 
Container 
– Using 
SSH 
Daemon 
– Same 
Endpoint 
Type 
as 
VM 
– Composi<on 
on 
any 
Image 
or 
Dockerfile
Weave 
• So^ware 
Defined 
Networking 
– Ethernet 
Switch 
– User 
Space 
– Docker 
Container 
• Sniffs 
Traffic 
on 
Host 
• Forwards 
over 
TCP 
• h@p://github.com/zepo/weave/
Weave
Clocker 
Deep 
Dive
The 
Docker 
Cloud 
Maker 
• Apache 
Brooklyn 
Applica<on 
– Docker 
Infrastructure 
• Docker 
Engine 
• Docker 
Containers 
– Weave 
Infrastructure 
• Weave 
Container
The 
Docker 
Cloud 
Maker 
• Apache 
Brooklyn 
Loca<on 
– Des<na<on 
for 
Blueprints 
• Added 
Features 
– Create 
Containers 
– Provision 
Docker 
Hosts 
– A@ach 
to 
Weave 
Network 
– Manage 
Applica<on
Clocker 
Architecture
Clocker 
Architecture
Clocker 
Features 
• Applica<on 
Deployment 
– Oasis 
CAMP 
Blueprint 
– Same 
as 
Core 
Brooklyn 
• Mixed 
Des<na<ons 
– Some 
Virtual 
Machines 
– Some 
Bare 
Metal 
– Some 
Containers
Clocker 
Features 
• Applica<on 
Deployment 
– Oasis 
CAMP 
Blueprint 
– Same 
as 
Core 
Brooklyn 
• Docker 
Extensions 
– Container 
or 
Image 
– Placement 
Strategy 
– Dockerfile 
URL
Clocker 
Placement 
• Demand 
Side 
– New 
Container 
• Supply 
Side 
– Where? 
– Placement 
Strategy 
– Provisioning 
Strategy
Clocker 
Placement 
• Placement 
Strategies 
– Depth 
First 
– Breadth 
First 
– CPU 
Usage 
– Affinity 
or 
An< 
Affinity 
– Memory 
or 
CPU 
Core 
Availability
Clocker 
Placement 
• Provisioning 
Strategy 
– New 
Docker 
Host 
Loca<on 
• Constraints 
– Docker 
Infrastructure 
Constraints 
– En<ty 
or 
Applica<on 
Constraints 
• User 
Defined 
Strategies 
• Intelligent 
Container 
Orchestra<on
Container 
Management 
• Sources 
– Docker 
Image 
Defini<on 
– Docker 
Hub 
– Dockerfile 
– Brooklyn 
En<ty 
Defini<on 
• Create 
Image 
Automa<cally
Container 
Management 
id: 
dockerfile-­‐mysql 
name: 
Docker 
Hub 
MySQL 
Application 
origin: 
"https://registry.hub.docker.com/_/mysql/" 
locations: 
-­‐ 
my-­‐docker-­‐cloud 
services: 
-­‐ 
type: 
brooklyn.entity.container.docker.application.DockerfileApplication 
id: 
mysql 
name: 
MySQL 
brooklyn.config: 
docker.dockerfile.url: 
file://Users/grkvlt/Git/docker-­‐library/mysql/5.6/ 
env: 
MYSQL_ROOT_PASSWORD: 
"s3cr3t"
Container 
Management 
• Installa<on 
of 
Services 
– Defined 
by 
Brooklyn 
or 
Dockerfile 
– Common 
to 
all 
En<ty 
Instances 
• Commit 
Image 
– Available 
for 
next 
En<ty 
• Push 
Image 
– Available 
for 
all 
Hosts
Networking 
• Shared 
Weave 
LAN 
– Common 
to 
All 
Containers 
– Private 
(Link 
Local) 
Addresses 
• Clocker 
Controls 
IP 
Alloca<on 
– Applica<ons 
Segmented 
by 
CIDR 
• Docker 
Port 
Forwarding 
Access
Networking 
• S<ll 
First 
Steps… 
• Name 
Resolu<on 
– BIND 
and 
DNSmasq 
– Needed 
for 
JMX 
et 
al 
• Enables 
Many 
More 
En<<es 
• But 
Needs 
Tested!
Demonstra2on
Riak 
Blueprint 
name: 
Hello 
Riak 
Web 
App 
services: 
-­‐ 
type: 
brooklyn.en<ty.nosql.riak.RiakCluster 
ini<alSize: 
2 
id: 
cluster 
brooklyn.config: 
install.version: 
2.0.0 
-­‐ 
type: 
brooklyn.en<ty.webapp.jboss.JBoss7Server 
name: 
Web 
App 
brooklyn.config: 
wars.root: 
"h@ps://s3-­‐eu-­‐west-­‐1.amazonaws.com/brooklyn-­‐clocker/brooklyn-­‐example-­‐hello-­‐world-­‐sql-­‐webapp.war" 
java.sysprops: 
brooklyn.example.riak.nodes: 
$brooklyn:component("cluster").a@ributeWhenReady("riak.cluster.nodeList") 
loca<on: 
my-­‐docker-­‐cloud
Summary 
• Clocker 
– Brooklyn 
+ 
Docker 
+ 
Jclouds 
+ 
Weave 
• Solves 
– Docker 
Networking 
– Container 
Placement 
– Applica<on 
Defini<on
Web 
Resources 
http://clocker.io/ 
http://brooklyn.io/ 
http://docker.io/ 
http://github.com/zettio/weave/ 
http://abstractvisitorpattern.co.uk/
Thanks! 
Ques<ons?
Roadmap 
Now 
• Improvements 
To 
Networking 
– DNS 
and 
DNSmasq 
Integra<on 
– Work 
in 
Progress 
• Be@er 
Gepng 
Started 
– Self 
Hos<ng 
on 
Localhost 
– Brooklyn 
Dockerfile
Roadmap 
Soon 
• Be@er 
Integra<on 
with 
Repositories 
– Docker 
Hub, 
Ar<factory, 
Quay.io 
– Private 
Repositories 
• Easier 
Applica<on 
Defini<on 
– Open 
Standard? 
– Kubernetes 
Pods?
Roadmap 
Next 
• Integra<on 
– Google 
Kubernetes 
– ClusterHQ 
Flocker 
– Ar<factory 
• Improvements 
– Bootstrapping

More Related Content

What's hot

Docker Hub: Past, Present and Future by Ken Cochrane & BC Wong
Docker Hub: Past, Present and Future by Ken Cochrane & BC WongDocker Hub: Past, Present and Future by Ken Cochrane & BC Wong
Docker Hub: Past, Present and Future by Ken Cochrane & BC Wong
Docker, Inc.
 

What's hot (20)

How to Train Your Docker Cloud
How to Train Your Docker CloudHow to Train Your Docker Cloud
How to Train Your Docker Cloud
 
"[WORKSHOP] K8S for developers", Denis Romanuk
"[WORKSHOP] K8S for developers", Denis Romanuk"[WORKSHOP] K8S for developers", Denis Romanuk
"[WORKSHOP] K8S for developers", Denis Romanuk
 
Secrets in Kubernetes
Secrets in KubernetesSecrets in Kubernetes
Secrets in Kubernetes
 
Docker Hub: Past, Present and Future by Ken Cochrane & BC Wong
Docker Hub: Past, Present and Future by Ken Cochrane & BC WongDocker Hub: Past, Present and Future by Ken Cochrane & BC Wong
Docker Hub: Past, Present and Future by Ken Cochrane & BC Wong
 
LISA2017 Kubernetes: Hit the Ground Running
LISA2017 Kubernetes: Hit the Ground RunningLISA2017 Kubernetes: Hit the Ground Running
LISA2017 Kubernetes: Hit the Ground Running
 
Cloudfoundry Overview
Cloudfoundry OverviewCloudfoundry Overview
Cloudfoundry Overview
 
Play Support in Cloud Foundry
Play Support in Cloud FoundryPlay Support in Cloud Foundry
Play Support in Cloud Foundry
 
(Draft) Kubernetes - A Comprehensive Overview
(Draft) Kubernetes - A Comprehensive Overview(Draft) Kubernetes - A Comprehensive Overview
(Draft) Kubernetes - A Comprehensive Overview
 
Securing your Containers
Securing your ContainersSecuring your Containers
Securing your Containers
 
Microservices with docker swarm and consul
Microservices with docker swarm and consulMicroservices with docker swarm and consul
Microservices with docker swarm and consul
 
Inside Architecture of Neutron
Inside Architecture of NeutronInside Architecture of Neutron
Inside Architecture of Neutron
 
The Operator Pattern - Managing Stateful Services in Kubernetes
The Operator Pattern - Managing Stateful Services in KubernetesThe Operator Pattern - Managing Stateful Services in Kubernetes
The Operator Pattern - Managing Stateful Services in Kubernetes
 
LISA2017 Big Three Cloud Networking
LISA2017 Big Three Cloud NetworkingLISA2017 Big Three Cloud Networking
LISA2017 Big Three Cloud Networking
 
The Docker Ecosystem
The Docker EcosystemThe Docker Ecosystem
The Docker Ecosystem
 
DockerCon EU 2015: Day 1 General Session
DockerCon EU 2015: Day 1 General SessionDockerCon EU 2015: Day 1 General Session
DockerCon EU 2015: Day 1 General Session
 
Service Discovery using etcd, Consul and Kubernetes
Service Discovery using etcd, Consul and KubernetesService Discovery using etcd, Consul and Kubernetes
Service Discovery using etcd, Consul and Kubernetes
 
Kubernetes - Sailing a Sea of Containers
Kubernetes - Sailing a Sea of ContainersKubernetes - Sailing a Sea of Containers
Kubernetes - Sailing a Sea of Containers
 
Docker Hub Breakout Session at DockerCon by Ken Cochrane
Docker Hub Breakout Session at DockerCon by Ken CochraneDocker Hub Breakout Session at DockerCon by Ken Cochrane
Docker Hub Breakout Session at DockerCon by Ken Cochrane
 
Building Micro-Services with Scala
Building Micro-Services with ScalaBuilding Micro-Services with Scala
Building Micro-Services with Scala
 
Containers docker-docker hub-azureacr-azure aci
Containers docker-docker hub-azureacr-azure aciContainers docker-docker hub-azureacr-azure aci
Containers docker-docker hub-azureacr-azure aci
 

Similar to RICON 2014 Running Riak in a Docker Cloud using Apache Brooklyn

Similar to RICON 2014 Running Riak in a Docker Cloud using Apache Brooklyn (20)

Deploying Complex Applications on Docker using Apache Brooklyn
Deploying Complex Applications on Docker using Apache BrooklynDeploying Complex Applications on Docker using Apache Brooklyn
Deploying Complex Applications on Docker using Apache Brooklyn
 
Simulating Production with Clocker
Simulating Production with ClockerSimulating Production with Clocker
Simulating Production with Clocker
 
Clocker Evolution
Clocker EvolutionClocker Evolution
Clocker Evolution
 
Deploying Complex Applications on Docker using Apache Brooklyn
Deploying Complex Applications on Docker using Apache BrooklynDeploying Complex Applications on Docker using Apache Brooklyn
Deploying Complex Applications on Docker using Apache Brooklyn
 
Clocker: Managing Container Networking and Placement
Clocker: Managing Container Networking and PlacementClocker: Managing Container Networking and Placement
Clocker: Managing Container Networking and Placement
 
Clocker and OpenStack
Clocker and OpenStackClocker and OpenStack
Clocker and OpenStack
 
Introducing Docker Swarm - the orchestration tool by Docker
Introducing Docker Swarm - the orchestration tool by DockerIntroducing Docker Swarm - the orchestration tool by Docker
Introducing Docker Swarm - the orchestration tool by Docker
 
Running Docker in Production
Running Docker in ProductionRunning Docker in Production
Running Docker in Production
 
Clocker: Docker in the Cloud
Clocker: Docker in the CloudClocker: Docker in the Cloud
Clocker: Docker in the Cloud
 
Docker Networking with Clocker and Weave
Docker Networking with Clocker and WeaveDocker Networking with Clocker and Weave
Docker Networking with Clocker and Weave
 
Using Clocker with Project Calico - Running Production Workloads in the Cloud
Using Clocker with Project Calico - Running Production Workloads in the CloudUsing Clocker with Project Calico - Running Production Workloads in the Cloud
Using Clocker with Project Calico - Running Production Workloads in the Cloud
 
Docker 1.11 Presentation
Docker 1.11 PresentationDocker 1.11 Presentation
Docker 1.11 Presentation
 
What's New in Docker 1.12?
What's New in Docker 1.12?What's New in Docker 1.12?
What's New in Docker 1.12?
 
Best Practices for Running Kafka on Docker Containers
Best Practices for Running Kafka on Docker ContainersBest Practices for Running Kafka on Docker Containers
Best Practices for Running Kafka on Docker Containers
 
Orchestrating Linux Containers while tolerating failures
Orchestrating Linux Containers while tolerating failuresOrchestrating Linux Containers while tolerating failures
Orchestrating Linux Containers while tolerating failures
 
Building Bizweb Microservices with Docker
Building Bizweb Microservices with DockerBuilding Bizweb Microservices with Docker
Building Bizweb Microservices with Docker
 
Clocker Now and Next
Clocker Now and NextClocker Now and Next
Clocker Now and Next
 
Continuous Deployment with Akka.Cluster and Kubernetes (Akka.NET)
Continuous Deployment with Akka.Cluster and Kubernetes (Akka.NET)Continuous Deployment with Akka.Cluster and Kubernetes (Akka.NET)
Continuous Deployment with Akka.Cluster and Kubernetes (Akka.NET)
 
Docker Container Security
Docker Container SecurityDocker Container Security
Docker Container Security
 
Microservices with containers in the cloud
Microservices with containers in the cloudMicroservices with containers in the cloud
Microservices with containers in the cloud
 

More from Duncan Johnston-Watt

Cloudcamp scotland - Using cloud without losing control
Cloudcamp scotland - Using cloud without losing controlCloudcamp scotland - Using cloud without losing control
Cloudcamp scotland - Using cloud without losing control
Duncan Johnston-Watt
 

More from Duncan Johnston-Watt (20)

Running Hyperledger Sawtooth in Production - Hyperledger Global Forum 2018
Running Hyperledger Sawtooth in Production - Hyperledger Global Forum 2018Running Hyperledger Sawtooth in Production - Hyperledger Global Forum 2018
Running Hyperledger Sawtooth in Production - Hyperledger Global Forum 2018
 
ScotChain18 - C21st Alchemy - Blockchain & Open Source
ScotChain18  - C21st Alchemy - Blockchain & Open SourceScotChain18  - C21st Alchemy - Blockchain & Open Source
ScotChain18 - C21st Alchemy - Blockchain & Open Source
 
Delivering a packaged Blockchain platform for developers using Hyperledger Sa...
Delivering a packaged Blockchain platform for developers using Hyperledger Sa...Delivering a packaged Blockchain platform for developers using Hyperledger Sa...
Delivering a packaged Blockchain platform for developers using Hyperledger Sa...
 
OpenStack Summit: How companies of all sizes leverage OpenStack based private...
OpenStack Summit: How companies of all sizes leverage OpenStack based private...OpenStack Summit: How companies of all sizes leverage OpenStack based private...
OpenStack Summit: How companies of all sizes leverage OpenStack based private...
 
Deploying and Managing Global Blockchain Networks
Deploying and Managing Global Blockchain Networks Deploying and Managing Global Blockchain Networks
Deploying and Managing Global Blockchain Networks
 
Deploying and Managing a Global Blockchain Network
Deploying and Managing a Global Blockchain NetworkDeploying and Managing a Global Blockchain Network
Deploying and Managing a Global Blockchain Network
 
Defrag X Keynote: Deploying and managing Global Blockchain Network
Defrag X Keynote: Deploying and managing Global Blockchain NetworkDefrag X Keynote: Deploying and managing Global Blockchain Network
Defrag X Keynote: Deploying and managing Global Blockchain Network
 
Gluecon 2016 Keynote: Deploying and Managing Blockchain Applications
Gluecon 2016 Keynote: Deploying and Managing Blockchain ApplicationsGluecon 2016 Keynote: Deploying and Managing Blockchain Applications
Gluecon 2016 Keynote: Deploying and Managing Blockchain Applications
 
Modeling, Deploying & Managing Applications on IBM Blue Box with Cloudsoft AMP
Modeling, Deploying & Managing Applications on IBM Blue Box with Cloudsoft AMPModeling, Deploying & Managing Applications on IBM Blue Box with Cloudsoft AMP
Modeling, Deploying & Managing Applications on IBM Blue Box with Cloudsoft AMP
 
从玩具到生产 - Cloud Foundry 上海峰会2015年
从玩具到生产 - Cloud Foundry 上海峰会2015年从玩具到生产 - Cloud Foundry 上海峰会2015年
从玩具到生产 - Cloud Foundry 上海峰会2015年
 
From Plaything to Production - Cloud Foundry Summit Shanghai 2015
From Plaything to Production - Cloud Foundry Summit Shanghai 2015From Plaything to Production - Cloud Foundry Summit Shanghai 2015
From Plaything to Production - Cloud Foundry Summit Shanghai 2015
 
Working together - Cloud Foundry Unconference Lightning Talk
Working together - Cloud Foundry Unconference Lightning TalkWorking together - Cloud Foundry Unconference Lightning Talk
Working together - Cloud Foundry Unconference Lightning Talk
 
LinuxCon 2015 Keynote: Warning - May contain clouds!
LinuxCon 2015 Keynote: Warning - May contain clouds!LinuxCon 2015 Keynote: Warning - May contain clouds!
LinuxCon 2015 Keynote: Warning - May contain clouds!
 
From Plaything to Production - Defrag 2015
From Plaything to Production - Defrag 2015From Plaything to Production - Defrag 2015
From Plaything to Production - Defrag 2015
 
ApacheCon NA 2015: Warning! May Contain Clouds
ApacheCon NA 2015: Warning! May Contain CloudsApacheCon NA 2015: Warning! May Contain Clouds
ApacheCon NA 2015: Warning! May Contain Clouds
 
C21st Alchemy - Spinning Clouds & Weaving Magic
C21st Alchemy - Spinning Clouds & Weaving MagicC21st Alchemy - Spinning Clouds & Weaving Magic
C21st Alchemy - Spinning Clouds & Weaving Magic
 
Openstack Summit Paris - Clocker Lightning talk - Nov 3
Openstack Summit Paris - Clocker Lightning talk - Nov 3Openstack Summit Paris - Clocker Lightning talk - Nov 3
Openstack Summit Paris - Clocker Lightning talk - Nov 3
 
Enterprise Cloud Forum - Monaco - #DCE2014 - Keynote
Enterprise Cloud Forum - Monaco - #DCE2014 - KeynoteEnterprise Cloud Forum - Monaco - #DCE2014 - Keynote
Enterprise Cloud Forum - Monaco - #DCE2014 - Keynote
 
Cloudcamp scotland - Using cloud without losing control
Cloudcamp scotland - Using cloud without losing controlCloudcamp scotland - Using cloud without losing control
Cloudcamp scotland - Using cloud without losing control
 
Quality control in a cloudy world
Quality control in a cloudy worldQuality control in a cloudy world
Quality control in a cloudy world
 

Recently uploaded

%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
masabamasaba
 
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
masabamasaba
 
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
VictoriaMetrics
 
%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...
masabamasaba
 
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
chiefasafspells
 

Recently uploaded (20)

%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
 
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
 
WSO2CON 2024 - API Management Usage at La Poste and Its Impact on Business an...
WSO2CON 2024 - API Management Usage at La Poste and Its Impact on Business an...WSO2CON 2024 - API Management Usage at La Poste and Its Impact on Business an...
WSO2CON 2024 - API Management Usage at La Poste and Its Impact on Business an...
 
%in Benoni+277-882-255-28 abortion pills for sale in Benoni
%in Benoni+277-882-255-28 abortion pills for sale in Benoni%in Benoni+277-882-255-28 abortion pills for sale in Benoni
%in Benoni+277-882-255-28 abortion pills for sale in Benoni
 
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
 
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
 
WSO2CON2024 - It's time to go Platformless
WSO2CON2024 - It's time to go PlatformlessWSO2CON2024 - It's time to go Platformless
WSO2CON2024 - It's time to go Platformless
 
AI & Machine Learning Presentation Template
AI & Machine Learning Presentation TemplateAI & Machine Learning Presentation Template
AI & Machine Learning Presentation Template
 
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
 
WSO2Con204 - Hard Rock Presentation - Keynote
WSO2Con204 - Hard Rock Presentation - KeynoteWSO2Con204 - Hard Rock Presentation - Keynote
WSO2Con204 - Hard Rock Presentation - Keynote
 
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
 
WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...
WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...
WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...
 
Architecture decision records - How not to get lost in the past
Architecture decision records - How not to get lost in the pastArchitecture decision records - How not to get lost in the past
Architecture decision records - How not to get lost in the past
 
WSO2CON 2024 - Does Open Source Still Matter?
WSO2CON 2024 - Does Open Source Still Matter?WSO2CON 2024 - Does Open Source Still Matter?
WSO2CON 2024 - Does Open Source Still Matter?
 
%in kempton park+277-882-255-28 abortion pills for sale in kempton park
%in kempton park+277-882-255-28 abortion pills for sale in kempton park %in kempton park+277-882-255-28 abortion pills for sale in kempton park
%in kempton park+277-882-255-28 abortion pills for sale in kempton park
 
%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...
 
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
 
%in ivory park+277-882-255-28 abortion pills for sale in ivory park
%in ivory park+277-882-255-28 abortion pills for sale in ivory park %in ivory park+277-882-255-28 abortion pills for sale in ivory park
%in ivory park+277-882-255-28 abortion pills for sale in ivory park
 
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
 
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
 

RICON 2014 Running Riak in a Docker Cloud using Apache Brooklyn

  • 1. Running Riak in a Docker cloud using Apache Brooklyn Alex Heneveld @ahtwee<n Duncan Johnston-­‐Wa@ @duncanjw RICON 2014
  • 2. Agenda • Clocker – Docker – Apache Brooklyn – Apache jclouds – Weave • Deep Dive • Demonstra<on
  • 3. Meet Clocker The Docker Cloud Maker
  • 4. Clocker • What does it do? – Spin up and manage Docker clouds – Serve up containers on-­‐demand • What is it? – Apache Brooklyn Applica<on – Apache Brooklyn Loca<on • Who started it? – Andrew Kennedy @grkvlt
  • 6. Orchestra<on – The New Fron<er “The way in which Docker has enabled workloads to migrate across any opera<ng system and any environment has really kind of freed up development and opera<ons. We want to keep them going at the next layer of the stack, which is orchestra2on. Docker containers have been around for 15 months, so the developers' tools around them have an even shorter lifecycle. We're in the very early days of the category.” Sco$ Johnston, SVP Product, Docker
  • 7. Clocker Project • Open Source • Apache Licensed • S<ll in Beta – 0.7.0-­‐SNAPSHOT – h@p://brooklyncentral.github.io/clocker
  • 8. Apache Brooklyn • Open Source • Donated to the Apache So^ware Founda<on • h@p://brooklyn.incubator.apache.org • Started by @ahtwee<n
  • 9. Apache Brooklyn • Applica<on Management Pla`orm • Model, Deploy and Manage Blueprints – Services (En<<es) – Metrics (Sensors) – Ac<ons (Effectors)
  • 10. Brooklyn Blueprint name: Riak Cluster with Webapp services: -­‐ type: brooklyn.en<ty.nosql.riak.RiakCluster ini<alSize: 2 id: cluster brooklyn.config: install.version: 2.0.0 -­‐ type: brooklyn.en<ty.webapp.jboss.JBoss7Server name: Hello Riak Web App brooklyn.config: wars.root: "h@ps://s3-­‐eu-­‐west-­‐1.amazonaws.com/brooklyn-­‐clocker/brooklyn-­‐example-­‐hello-­‐world-­‐sql-­‐webapp.war" java.sysprops: brooklyn.example.riak.nodes: $brooklyn:component("cluster").a@ributeWhenReady("riak.cluster.nodeList") loca<on: jclouds:so^layer:sjc01
  • 11. Apache Brooklyn • Deployment – Provisioning – Loca<ons – Installa<on and Customiza<on • Packages, Scripts, Chef, SaltStack • Management – Policies • AutoScaling, Resilience, Performance, Access
  • 12. Apache jclouds • Java Cloud Library – h@p://jclouds.apache.org • API Agnos<c – CloudStack, OpenStack, AWS EC2, GCE, So^Layer… • Create Virtual Machines – Return SSH Endpoint – Manage Proper<es
  • 13. Apache jclouds • Drivers for REST APIs • Docker Driver – Created by Andrea Turli @turlinux • Virtual Container – Using SSH Daemon – Same Endpoint Type as VM – Composi<on on any Image or Dockerfile
  • 14. Weave • So^ware Defined Networking – Ethernet Switch – User Space – Docker Container • Sniffs Traffic on Host • Forwards over TCP • h@p://github.com/zepo/weave/
  • 15. Weave
  • 17. The Docker Cloud Maker • Apache Brooklyn Applica<on – Docker Infrastructure • Docker Engine • Docker Containers – Weave Infrastructure • Weave Container
  • 18. The Docker Cloud Maker • Apache Brooklyn Loca<on – Des<na<on for Blueprints • Added Features – Create Containers – Provision Docker Hosts – A@ach to Weave Network – Manage Applica<on
  • 21. Clocker Features • Applica<on Deployment – Oasis CAMP Blueprint – Same as Core Brooklyn • Mixed Des<na<ons – Some Virtual Machines – Some Bare Metal – Some Containers
  • 22. Clocker Features • Applica<on Deployment – Oasis CAMP Blueprint – Same as Core Brooklyn • Docker Extensions – Container or Image – Placement Strategy – Dockerfile URL
  • 23. Clocker Placement • Demand Side – New Container • Supply Side – Where? – Placement Strategy – Provisioning Strategy
  • 24. Clocker Placement • Placement Strategies – Depth First – Breadth First – CPU Usage – Affinity or An< Affinity – Memory or CPU Core Availability
  • 25. Clocker Placement • Provisioning Strategy – New Docker Host Loca<on • Constraints – Docker Infrastructure Constraints – En<ty or Applica<on Constraints • User Defined Strategies • Intelligent Container Orchestra<on
  • 26. Container Management • Sources – Docker Image Defini<on – Docker Hub – Dockerfile – Brooklyn En<ty Defini<on • Create Image Automa<cally
  • 27. Container Management id: dockerfile-­‐mysql name: Docker Hub MySQL Application origin: "https://registry.hub.docker.com/_/mysql/" locations: -­‐ my-­‐docker-­‐cloud services: -­‐ type: brooklyn.entity.container.docker.application.DockerfileApplication id: mysql name: MySQL brooklyn.config: docker.dockerfile.url: file://Users/grkvlt/Git/docker-­‐library/mysql/5.6/ env: MYSQL_ROOT_PASSWORD: "s3cr3t"
  • 28. Container Management • Installa<on of Services – Defined by Brooklyn or Dockerfile – Common to all En<ty Instances • Commit Image – Available for next En<ty • Push Image – Available for all Hosts
  • 29. Networking • Shared Weave LAN – Common to All Containers – Private (Link Local) Addresses • Clocker Controls IP Alloca<on – Applica<ons Segmented by CIDR • Docker Port Forwarding Access
  • 30. Networking • S<ll First Steps… • Name Resolu<on – BIND and DNSmasq – Needed for JMX et al • Enables Many More En<<es • But Needs Tested!
  • 32. Riak Blueprint name: Hello Riak Web App services: -­‐ type: brooklyn.en<ty.nosql.riak.RiakCluster ini<alSize: 2 id: cluster brooklyn.config: install.version: 2.0.0 -­‐ type: brooklyn.en<ty.webapp.jboss.JBoss7Server name: Web App brooklyn.config: wars.root: "h@ps://s3-­‐eu-­‐west-­‐1.amazonaws.com/brooklyn-­‐clocker/brooklyn-­‐example-­‐hello-­‐world-­‐sql-­‐webapp.war" java.sysprops: brooklyn.example.riak.nodes: $brooklyn:component("cluster").a@ributeWhenReady("riak.cluster.nodeList") loca<on: my-­‐docker-­‐cloud
  • 33. Summary • Clocker – Brooklyn + Docker + Jclouds + Weave • Solves – Docker Networking – Container Placement – Applica<on Defini<on
  • 34. Web Resources http://clocker.io/ http://brooklyn.io/ http://docker.io/ http://github.com/zettio/weave/ http://abstractvisitorpattern.co.uk/
  • 36. Roadmap Now • Improvements To Networking – DNS and DNSmasq Integra<on – Work in Progress • Be@er Gepng Started – Self Hos<ng on Localhost – Brooklyn Dockerfile
  • 37. Roadmap Soon • Be@er Integra<on with Repositories – Docker Hub, Ar<factory, Quay.io – Private Repositories • Easier Applica<on Defini<on – Open Standard? – Kubernetes Pods?
  • 38. Roadmap Next • Integra<on – Google Kubernetes – ClusterHQ Flocker – Ar<factory • Improvements – Bootstrapping