Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Deploying Complex Applications on Docker using ...
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
Andrew Kennedy
October 15, 2014
Technology
2
330
Deploying Complex Applications on Docker using Apache Brooklyn
Talk given at CloudOpen Düsseldorf, October 2014
Andrew Kennedy
October 15, 2014
Tweet
Share
More Decks by Andrew Kennedy
See All by Andrew Kennedy
Building a Blockchain Platform with Hyperledger Sawtooth and Seth
grkvlt
1
300
Building a Blockchain
grkvlt
1
110
Blockchain and Brooklyn
grkvlt
0
170
Hyperledger in Action
grkvlt
1
140
Keeping OpenShift Evergreen
grkvlt
0
130
Orchestrating the Blockchain Using Containers
grkvlt
0
180
Introducing Cloudsoft Container Service
grkvlt
0
65
Managing Blockchain Applications with Hyperledger and Docker on Cloudsoft AMP
grkvlt
0
330
Multi-Container Applications Spanning Docker, Mesos and OpenStack
grkvlt
2
830
Other Decks in Technology
See All in Technology
30万人の同時アクセスに耐えたい!新サービスの盤石なリリースを支える負荷試験 / SRE Kaigi 2026
genda
3
1.2k
GSIが複数キー対応したことで、俺達はいったい何が嬉しいのか?
smt7174
3
150
20260204_Midosuji_Tech
takuyay0ne
1
140
Bill One 開発エンジニア 紹介資料
sansan33
PRO
4
17k
AIエージェントを開発しよう!-AgentCore活用の勘所-
yukiogawa
0
140
Claude_CodeでSEOを最適化する_AI_Ops_Community_Vol.2__マーケティングx_AIはここまで進化した.pdf
riku_423
2
530
IaaS/SaaS管理における SREの実践 - SRE Kaigi 2026
bbqallstars
4
1.8k
Codex 5.3 と Opus 4.6 にコーポレートサイトを作らせてみた / Codex 5.3 vs Opus 4.6
ama_ch
0
120
[CV勉強会@関東 World Model 読み会] Orbis: Overcoming Challenges of Long-Horizon Prediction in Driving World Models (Mousakhan+, NeurIPS 2025)
abemii
0
110
超初心者からでも大丈夫!オープンソース半導体の楽しみ方〜今こそ!オレオレチップをつくろう〜
keropiyo
0
110
All About Sansan – for New Global Engineers
sansan33
PRO
1
1.3k
AI駆動開発を事業のコアに置く
tasukuonizawa
1
130
Featured
See All Featured
The Cult of Friendly URLs
andyhume
79
6.8k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
133
19k
The Power of CSS Pseudo Elements
geoffreycrofte
80
6.2k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
666
130k
Technical Leadership for Architectural Decision Making
baasie
1
240
Ethics towards AI in product and experience design
skipperchong
2
190
What the history of the web can teach us about the future of AI
inesmontani
PRO
1
430
Bash Introduction
62gerente
615
210k
Kristin Tynski - Automating Marketing Tasks With AI
techseoconnect
PRO
0
140
Designing for Performance
lara
610
70k
From π to Pie charts
rasagy
0
120
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
38
2.7k
Transcript
Clocker Deploying Complex Applica3ons on Docker using Apache
Brooklyn
Deploying Complex Applica1ons on Docker using Apache Brooklyn
Andrew Kennedy @grkvlt CloudOpen October 2014 Dusseldörf Germany
Introduc1on • Andrew Kennedy – SoIware Engineer
– Open Source – github.com/grkvlt • CloudsoI Corpora1on – ScoMsh (Bri1sh? European!) Company – We’re Hiring…
Introduc1on • Clocker – Docker – Apache
Brooklyn – Apache Jclouds – Weave • Demonstra1on • Roadmap
Clocker Project • What does it do? – Manages
Docker Infrastructure – Deploys Blueprints to Docker • What is it? – Brooklyn Applica1on – Brooklyn Loca1on
Docker • Popular – Huge Ecosystem – Growing
– Complex • Containers – Isola1on – Performance – Composable
Docker
Limita3ons… Docker Limita3ons
Docker Limita1ons • Mul1ple Hosts • Networking
– Same Issue – Communica1on Between Services • Orchestra1on – Control of Containers – Container Management
Clocker Project • GitHub • Open Source
• Java • Recently Developed • S1ll Beta Status – 0.7.0-‐SNAPSHOT
Why Clocker • Docker Popularity – Solve Some Limita1ons
• Best of Breed Components • Brooklyn Integra1on – Virtual Machines too Coarse – Container to En1ty Mapping
Clocker Components • Apache Brooklyn – CloudsoI Product
– Open Source Java – Donated to the ASF – Incubator Status
Apache Brooklyn • Applica1on Management Plaborm • Autonomic
Compu1ng Principles • Deploy, Manage and Monitor Blueprints – Services (En11es) – State (Sensors) – Ac1ons (Effectors)
Brooklyn Blueprint id: nodejs-‐hello-‐world-‐application name: "Node.JS Hello World
Application" origin: "https://github.com/grkvlt/node-‐hello-‐world.git/" locations: -‐ jclouds:softlayer:ams01 services: -‐ serviceType: brooklyn.entity.webapp.nodejs.NodeJsWebAppService id: nodejs name: "Node.JS" brooklyn.config: gitRepoUrl: "https://github.com/grkvlt/node-‐hello-‐world.git" appFileName: app.js appName: node-‐hello-‐world
Apache Brooklyn • Deployment – Provisioning –
Loca1ons – Installa1on and Customiza1on • Packages, Scripts, Chef, SaltStack • Management – Policies • AutoScaling, Resilience, Performance, Access
Apache Jclouds • Java Cloud Library • API
Agnos1c – CloudStack, OpenStack, AWS EC2, GCE… • Create Virtual Machines – Return SSH Endpoint – Manage Proper1es
Apache Jclouds • Drivers for REST APIs •
Docker Driver – Wrifen by @turlinux • Virtual Container – Using SSH Daemon – Same Endpoint Type as VM – Composi1on on any Image or Dockerfile
Weave • SoIware Defined Networking – Ethernet Switch
– User Space – Docker Container • Sniffs Traffic on Host • Forwards over TCP
Weave
What is Clocker?
What is Clocker? • Brooklyn Applica1on – Docker Infrastructure
• Docker Engine • Docker Containers – Weave Infrastructure • Weave Container
What is Clocker? • Brooklyn Loca1on – Des1na1on
for Blueprints • Added Features – Create Containers – Provision Docker Hosts – Afach to Weave Network – Manage Applica1on
Clocker Architecture
Clocker Architecture
Clocker Features • Applica1on Deployment – Oasis CAMP
Blueprint – Same as Core Brooklyn • Mixed Des1na1ons – Some Virtual Machines – Some Bare Metal – Some Containers
Clocker Features • Applica1on 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 An1 Affinity – Memory or CPU Core Availability
Clocker Placement • Provisioning Strategy – New Docker
Host Loca1on • Constraints – Docker Infrastructure Constraints – En1ty or Applica1on Constraints • User Defined Strategies • Intelligent Container Orchestra1on
Clocker Placement • Determinis1c • Simple – Predicate
and Comparator docker.container.strategies: -‐ $brooklyn:object: type: "brooklyn.location.docker.strategy.BreadthFirstPlacementStrategy” brooklyn.config: maxContainers: 16 -‐ $brooklyn:object: type: "brooklyn.location.docker.strategy.CpuUsagePlacementStrategy” brooklyn.config: maxCpuUsage: 0.75
Container Management • Sources – Docker Image Defini1on
– Docker Hub – Dockerfile – Brooklyn En1ty Defini1on • Create Image Automa1cally
Container Management id: dockerfile-‐mysql name: "Docker Hub MySQL
Application" origin: "https://registry.hub.docker.com/_/mysql/" locations: -‐ my-‐docker-‐cloud services: -‐ serviceType: 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 • Installa1on of Services – Defined
by Brooklyn or Dockerfile – Common to all En1ty Instances • Commit Image – Available for next En1ty • Push Image – Available for all Hosts
Networking • Shared Weave LAN – Common to All
Containers – Private (Link Local) Addresses • Clocker Controls IP Alloca1on – Applica1ons Segmented by CIDR • Docker Port Forwarding Access
Networking • S1ll First Steps… • Name Resolu1on
– BIND and DNSmasq – Needed for JMX et al • Enables Many More En11es • But Needs Tested!
Demonstra3on
Roadmap Now • Improvements To Networking – DNS and
DNSmasq Integra1on – Work in Progress • Befer GeMng Started – Self Hos1ng on Localhost – Brooklyn Dockerfile
Roadmap Soon • Befer Integra1on with Repositories – Docker
Hub, Ar1factory, Quay.io – Private Repositories • Easier Applica1on Defini1on – Open Standard? – Kubernetes Pods?
Roadmap Next • Integra1on – Google Kubernetes – ClusterHQ
Flocker – Ar1factory • Improvements – Bootstrapping
Summary • Clocker – Brooklyn + Docker + Jclouds
+ Weave • Solves – Docker Networking – Container Placement – Applica1on Defini1on
Audience Ques1ons? 1. Where do you see Docker networking
going? 2. What about orchestra1on? 3. What features would be most useful to enhance Docker usability?
Thanks! Ques1ons?
Web Resources http://clocker.io/ http://brooklyn.io/ http://docker.io/ http://github.com/zettio/weave/
http://abstractvisitorpattern.co.uk/