Clocker Evolution
-
Upload
andrew-kennedy -
Category
Technology
-
view
113 -
download
0
description
Transcript of Clocker Evolution
![Page 1: Clocker Evolution](https://reader034.fdocuments.net/reader034/viewer/2022051323/54799710b479597c098b47ef/html5/thumbnails/1.jpg)
Clocker Evolu,on
Andrew Kennedy, SVDevOps, 09 September 2014
![Page 2: Clocker Evolution](https://reader034.fdocuments.net/reader034/viewer/2022051323/54799710b479597c098b47ef/html5/thumbnails/2.jpg)
Introduc>on • Andrew Kennedy
– CloudsoA – SoAware Engineer – Open Source and Java – Cloud Technologies
• Overview – Docker – Brooklyn – Clocker
![Page 3: Clocker Evolution](https://reader034.fdocuments.net/reader034/viewer/2022051323/54799710b479597c098b47ef/html5/thumbnails/3.jpg)
Docker • Popular – Huge Ecosystem – Growing
• Some Pain Points – Networking – Orchestra>on – Applica>ons
![Page 4: Clocker Evolution](https://reader034.fdocuments.net/reader034/viewer/2022051323/54799710b479597c098b47ef/html5/thumbnails/4.jpg)
Docker
![Page 5: Clocker Evolution](https://reader034.fdocuments.net/reader034/viewer/2022051323/54799710b479597c098b47ef/html5/thumbnails/5.jpg)
Brooklyn • Brooklyn
– Applica>on Management PlaPorm – Autonomic Compu>ng
• Applica>on Blueprint – Services (En>>es) – Configura>on – ATributes (Sensors) – Ac>ons (Effectors)
![Page 6: Clocker Evolution](https://reader034.fdocuments.net/reader034/viewer/2022051323/54799710b479597c098b47ef/html5/thumbnails/6.jpg)
Brooklyn • Deploy
– Provisioning – Download – Install – Configure
• Manage – ATributes – Policies – Ac>ons
![Page 7: Clocker Evolution](https://reader034.fdocuments.net/reader034/viewer/2022051323/54799710b479597c098b47ef/html5/thumbnails/7.jpg)
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
![Page 8: Clocker Evolution](https://reader034.fdocuments.net/reader034/viewer/2022051323/54799710b479597c098b47ef/html5/thumbnails/8.jpg)
Brooklyn En>>es • Service (Micro?) • Many OSS and ASF Projects – Couchbase – Cassandra – Tomcat – Solr
• Control Servers via SSH • Control En>>es via Effectors
![Page 9: Clocker Evolution](https://reader034.fdocuments.net/reader034/viewer/2022051323/54799710b479597c098b47ef/html5/thumbnails/9.jpg)
Clocker • Brooklyn plus Docker • Docker Host
– Docker Engine Installa>on – REST API Access Using jclouds 1.8.0 Docker Driver – Virtual Machine Access Using SSH – Cluster of Containers
• Docker Container – Running Services and Commands for En>ty – Dockerfiles
![Page 10: Clocker Evolution](https://reader034.fdocuments.net/reader034/viewer/2022051323/54799710b479597c098b47ef/html5/thumbnails/10.jpg)
Clocker
![Page 11: Clocker Evolution](https://reader034.fdocuments.net/reader034/viewer/2022051323/54799710b479597c098b47ef/html5/thumbnails/11.jpg)
Clocker • Demand Side
– Create a New Container – Resize Cluster of En>>es – AutoScaler Policy ATached to Cluster
• Supply Side – Placement Strategies for Containers – Depth or Breadth First – Affinity Rules – Resource Alloca>on (CPU Shares, Load, Memory, …)
![Page 12: Clocker Evolution](https://reader034.fdocuments.net/reader034/viewer/2022051323/54799710b479597c098b47ef/html5/thumbnails/12.jpg)
Clocker • Applica>on Deployment
– CAMP Blueprint in YAML – Java Classes – Mostly Unchanged
• Docker Specific Configura>on – Affinity Rules or Placement Strategy – Dockerfile or Image ID – CPU or Memory Shares – Docker Volumes
![Page 13: Clocker Evolution](https://reader034.fdocuments.net/reader034/viewer/2022051323/54799710b479597c098b47ef/html5/thumbnails/13.jpg)
Demonstra>on
Deploying Applica>ons on Clocker
![Page 14: Clocker Evolution](https://reader034.fdocuments.net/reader034/viewer/2022051323/54799710b479597c098b47ef/html5/thumbnails/14.jpg)
Clocker Evolu>on • Three Months • Simple Applica>ons – Tomcat – Node.JS – Ac>veMQ
• Strengthening Core • Docker Driver for jclouds – More Features
![Page 15: Clocker Evolution](https://reader034.fdocuments.net/reader034/viewer/2022051323/54799710b479597c098b47ef/html5/thumbnails/15.jpg)
Limita>ons
![Page 16: Clocker Evolution](https://reader034.fdocuments.net/reader034/viewer/2022051323/54799710b479597c098b47ef/html5/thumbnails/16.jpg)
Limita>ons • Docker – Seamless Mul> Host Networking
• Clocker – Complex Applica>on Requirements – Not just a VM and a service…
• Features – Requests from Users?
![Page 17: Clocker Evolution](https://reader034.fdocuments.net/reader034/viewer/2022051323/54799710b479597c098b47ef/html5/thumbnails/17.jpg)
Clocker Roadmap • Orchestra>on
– Placement Strategy
• More Intelligence – Need 32GiB Container? – Need 32 1GiB Containers per Host? – One Core? – 16 Cores?
• User Defined Strategies
![Page 18: Clocker Evolution](https://reader034.fdocuments.net/reader034/viewer/2022051323/54799710b479597c098b47ef/html5/thumbnails/18.jpg)
Clocker Roadmap • Applica>on Defini>ons
– Use YAML Blueprints – Include Dockerfiles and Images – Docker Hub – Third Party Repositories – Enterprise Repositories
• Other Defini>ons
![Page 19: Clocker Evolution](https://reader034.fdocuments.net/reader034/viewer/2022051323/54799710b479597c098b47ef/html5/thumbnails/19.jpg)
Clocker Roadmap • Networking – Mul>ple Hosts – Mul>ple Clouds?
• Communica>on – Port Forwarding – Doesn’t Always Work
• SoAware Defined Networking – Weave
![Page 20: Clocker Evolution](https://reader034.fdocuments.net/reader034/viewer/2022051323/54799710b479597c098b47ef/html5/thumbnails/20.jpg)
Clocker Roadmap • Integra>ons
– Kubernetes – Fig – libswarm – Decking – Panamax – Stampede – Others?
![Page 21: Clocker Evolution](https://reader034.fdocuments.net/reader034/viewer/2022051323/54799710b479597c098b47ef/html5/thumbnails/21.jpg)
Summary • Docker Containers – En>>es are Micro Services
• Limita>ons – Mul>ple Hosts and Networking
• Clocker Solu>ons – Applica>on Blueprints – Orchestra>on – Networking
![Page 22: Clocker Evolution](https://reader034.fdocuments.net/reader034/viewer/2022051323/54799710b479597c098b47ef/html5/thumbnails/22.jpg)
Project • GitHub – brooklyncentral/clocker – Java Code – Apache 2.0 Licensed
• Contribu>ons – Blueprints? – Integra>ons? – Documenta>on? – Tes>ng?
![Page 23: Clocker Evolution](https://reader034.fdocuments.net/reader034/viewer/2022051323/54799710b479597c098b47ef/html5/thumbnails/23.jpg)
Audience Ques>ons • Where do you see Docker networking going? • What about orchestra>on? • What features would be most useful to enhance Docker usability?
![Page 24: Clocker Evolution](https://reader034.fdocuments.net/reader034/viewer/2022051323/54799710b479597c098b47ef/html5/thumbnails/24.jpg)
Thanks • Ques>ons?
![Page 25: Clocker Evolution](https://reader034.fdocuments.net/reader034/viewer/2022051323/54799710b479597c098b47ef/html5/thumbnails/25.jpg)
Web Resources
http://clocker.io/
http://brooklyn.io/
http://docker.io/
http://github.com/zettio/weave/
http://abstractvisitorpattern.co.uk/