Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
SlideShare a Scribd company logo
Using Apache Brooklyn and Docker in the Cloud
Introducing Clocker
Andrew Kennedy
Andrea Turli
Sam Corbett
CloudStack Meetup, 26 June 2014
26/06/2014Copyright 2014 by Cloudsoft Corporation Limited Page: 2
Introduction
•  New Project
•  Clocker
•  Apache Brooklyn
•  Apache Jclouds
•  Docker
•  Demonstrations
26/06/2014Copyright 2014 by Cloudsoft Corporation Limited Page: 3
Apache Brooklyn
•  Open Source
•  GitHub
•  Apache Incubator
•  Autonomic Computing
•  Control Plane
•  Application Management
•  Entities
•  Sensors
•  Effectors
•  Locations
26/06/2014Copyright 2014 by Cloudsoft Corporation Limited Page: 4
Apache Jclouds
•  Cloud Library
•  Provider/API Agnostic
•  Providers
•  Softlayer
•  Amazon EC2
•  Rackspace ...
•  API
•  CloudStack
•  OpenStack
•  vSphere …
26/06/2014Copyright 2014 by Cloudsoft Corporation Limited Page: 5
Docker
•  Containers
•  LXC
•  Solaris Zones
•  BSD Jails
•  Lightweight Virtual Machines
•  Dockerfiles
•  Composable
•  Docker Hub
•  Canonical Images
•  User or Vendor Contributed
26/06/2014Copyright 2014 by Cloudsoft Corporation Limited Page: 6
Virtual Containers
•  Jclouds Driver
•  Virtual Machine
•  Nodes
•  Access over SSH
•  Any Underlying Provider
•  Add SSH Service
•  Docker Host Access
•  Command Line
•  REST API
26/06/2014Copyright 2014 by Cloudsoft Corporation Limited Page: 7
Infrastructure
•  Brooklyn Entity
•  Docker Cloud
•  Resizable Clusters
•  Hosts
•  Containers
•  Installs Docker
•  Creates Location
•  Interception
•  Forwards Ports
26/06/2014Copyright 2014 by Cloudsoft Corporation Limited Page: 8
Architecture
26/06/2014Copyright 2014 by Cloudsoft Corporation Limited Page: 9
Simple Architecture
26/06/2014Copyright 2014 by Cloudsoft Corporation Limited Page: 10
Application
•  Brooklyn Blueprints
•  YAML
•  Java Classes
•  Entity Tree
•  SSH Commands
•  No Changes Needed
•  Dockerfiles
•  Docker Configuration
•  Automation
26/06/2014Copyright 2014 by Cloudsoft Corporation Limited Page: 11
Configuration
id:	
  tomcat-­‐application	
  
name:	
  "Tomcat	
  Web	
  Application"	
  
locations:	
  
-­‐	
  my-­‐docker-­‐cloud	
  
services:	
  
-­‐	
  serviceType:	
  brooklyn.entity.webapp.tomcat.TomcatServer	
  
	
  	
  brooklyn.config:	
  
	
  	
  	
  	
  docker.dockerfile.url:	
  
	
  	
  	
  	
  	
  	
  "https://s3-­‐eu-­‐west-­‐1.amazonaws.com/brooklyn-­‐
clocker/UsesJavaDockerfile"	
  
	
  	
  	
  	
  wars.root:	
  
	
  	
  	
  	
  	
  	
  "https://s3-­‐eu-­‐west-­‐1.amazonaws.com/brooklyn-­‐
clocker/hello-­‐world.war"	
  
	
  	
  	
  	
  version:	
  "7.0.53"	
  
	
  	
  	
  	
  jmx.enabled:	
  true	
  
	
  	
  	
  	
  jmx.agent.mode:	
  "JMXMP"	
  
	
  	
  	
  	
  jmx.direct.port:	
  "30000+"	
  
26/06/2014Copyright 2014 by Cloudsoft Corporation Limited Page: 12
Demonstration
26/06/2014Copyright 2014 by Cloudsoft Corporation Limited Page: 13
Complex Applications
•  Service Composition
•  Multiple Entities
•  Linking via Attributes
•  Clusters and Groups
•  Enrichers and Policies
•  Example
•  Cassandra Multi-Region Deployment
•  Global Three-Tier Webapp
•  Apache Usergrid
•  OpenGamma
26/06/2014Copyright 2014 by Cloudsoft Corporation Limited Page: 14
Placement
•  Adding New Containers
•  Choose Hosts Intelligently
•  Placement Strategy
•  Availability Zone
•  Docker Host
•  Choices
•  Breadth First
•  Depth First
•  Minimum CPU Usage
•  Affinity
•  DSL or API
26/06/2014Copyright 2014 by Cloudsoft Corporation Limited Page: 15
Policy
•  Data Based
•  Autoscaling
•  High Availability
•  Entity Sensors
•  Cluster Aggregates
•  Windowed Rolling Average
•  Too Hot or Cold
•  Fixed Limits
•  Time Based
•  Follow The Sun
26/06/2014Copyright 2014 by Cloudsoft Corporation Limited Page: 16
Demonstration
26/06/2014Copyright 2014 by Cloudsoft Corporation Limited Page: 17
Roadmap
•  Version 0.5.0
•  Affinity Rules
•  Docker Hub Integration
•  CPU and Memory Shares
•  Volumes
•  Version 0.6.0
•  Software Defined Networking
•  Smart Import of Existing Hosts
•  Future…
•  Libswarm?
•  Kubernetes?
•  You tell us!
26/06/2014Copyright 2014 by Cloudsoft Corporation Limited Page: 18
Summary
•  What is Clocker?
•  Brooklyn Docker Integration
•  Cloud Agnostic
•  CAMP Application Blueprints
•  Intelligent Placement
•  Automated Orchestration
26/06/2014Copyright 2014 by Cloudsoft Corporation Limited Page: 19
Questions
•  Thanks For Listening!
•  Questions?
•  Web Resources
https://github.com/brooklyncentral/clocker/releases/0.4.0/
https://github.com/brooklyncentral/clocker/fork	
  
http://www.cloudsoftcorp.com/blog/2014/06/clocker-­‐creating-­‐a-­‐docker-­‐
cloud-­‐with-­‐apache-­‐brooklyn/	
  
http://abstractvisitorpattern.blogspot.co.uk/	
  
http://github.com/apache/incubating-­‐brooklyn/	
  
http://twitter.com/grkvlt	
  
	
  
26/06/2014Copyright 2014 by Cloudsoft Corporation Limited Page: 20

More Related Content

Introducing Clocker

  • 1. Using Apache Brooklyn and Docker in the Cloud Introducing Clocker
  • 2. Andrew Kennedy Andrea Turli Sam Corbett CloudStack Meetup, 26 June 2014 26/06/2014Copyright 2014 by Cloudsoft Corporation Limited Page: 2
  • 3. Introduction •  New Project •  Clocker •  Apache Brooklyn •  Apache Jclouds •  Docker •  Demonstrations 26/06/2014Copyright 2014 by Cloudsoft Corporation Limited Page: 3
  • 4. Apache Brooklyn •  Open Source •  GitHub •  Apache Incubator •  Autonomic Computing •  Control Plane •  Application Management •  Entities •  Sensors •  Effectors •  Locations 26/06/2014Copyright 2014 by Cloudsoft Corporation Limited Page: 4
  • 5. Apache Jclouds •  Cloud Library •  Provider/API Agnostic •  Providers •  Softlayer •  Amazon EC2 •  Rackspace ... •  API •  CloudStack •  OpenStack •  vSphere … 26/06/2014Copyright 2014 by Cloudsoft Corporation Limited Page: 5
  • 6. Docker •  Containers •  LXC •  Solaris Zones •  BSD Jails •  Lightweight Virtual Machines •  Dockerfiles •  Composable •  Docker Hub •  Canonical Images •  User or Vendor Contributed 26/06/2014Copyright 2014 by Cloudsoft Corporation Limited Page: 6
  • 7. Virtual Containers •  Jclouds Driver •  Virtual Machine •  Nodes •  Access over SSH •  Any Underlying Provider •  Add SSH Service •  Docker Host Access •  Command Line •  REST API 26/06/2014Copyright 2014 by Cloudsoft Corporation Limited Page: 7
  • 8. Infrastructure •  Brooklyn Entity •  Docker Cloud •  Resizable Clusters •  Hosts •  Containers •  Installs Docker •  Creates Location •  Interception •  Forwards Ports 26/06/2014Copyright 2014 by Cloudsoft Corporation Limited Page: 8
  • 9. Architecture 26/06/2014Copyright 2014 by Cloudsoft Corporation Limited Page: 9
  • 10. Simple Architecture 26/06/2014Copyright 2014 by Cloudsoft Corporation Limited Page: 10
  • 11. Application •  Brooklyn Blueprints •  YAML •  Java Classes •  Entity Tree •  SSH Commands •  No Changes Needed •  Dockerfiles •  Docker Configuration •  Automation 26/06/2014Copyright 2014 by Cloudsoft Corporation Limited Page: 11
  • 12. Configuration id:  tomcat-­‐application   name:  "Tomcat  Web  Application"   locations:   -­‐  my-­‐docker-­‐cloud   services:   -­‐  serviceType:  brooklyn.entity.webapp.tomcat.TomcatServer      brooklyn.config:          docker.dockerfile.url:              "https://s3-­‐eu-­‐west-­‐1.amazonaws.com/brooklyn-­‐ clocker/UsesJavaDockerfile"          wars.root:              "https://s3-­‐eu-­‐west-­‐1.amazonaws.com/brooklyn-­‐ clocker/hello-­‐world.war"          version:  "7.0.53"          jmx.enabled:  true          jmx.agent.mode:  "JMXMP"          jmx.direct.port:  "30000+"   26/06/2014Copyright 2014 by Cloudsoft Corporation Limited Page: 12
  • 13. Demonstration 26/06/2014Copyright 2014 by Cloudsoft Corporation Limited Page: 13
  • 14. Complex Applications •  Service Composition •  Multiple Entities •  Linking via Attributes •  Clusters and Groups •  Enrichers and Policies •  Example •  Cassandra Multi-Region Deployment •  Global Three-Tier Webapp •  Apache Usergrid •  OpenGamma 26/06/2014Copyright 2014 by Cloudsoft Corporation Limited Page: 14
  • 15. Placement •  Adding New Containers •  Choose Hosts Intelligently •  Placement Strategy •  Availability Zone •  Docker Host •  Choices •  Breadth First •  Depth First •  Minimum CPU Usage •  Affinity •  DSL or API 26/06/2014Copyright 2014 by Cloudsoft Corporation Limited Page: 15
  • 16. Policy •  Data Based •  Autoscaling •  High Availability •  Entity Sensors •  Cluster Aggregates •  Windowed Rolling Average •  Too Hot or Cold •  Fixed Limits •  Time Based •  Follow The Sun 26/06/2014Copyright 2014 by Cloudsoft Corporation Limited Page: 16
  • 17. Demonstration 26/06/2014Copyright 2014 by Cloudsoft Corporation Limited Page: 17
  • 18. Roadmap •  Version 0.5.0 •  Affinity Rules •  Docker Hub Integration •  CPU and Memory Shares •  Volumes •  Version 0.6.0 •  Software Defined Networking •  Smart Import of Existing Hosts •  Future… •  Libswarm? •  Kubernetes? •  You tell us! 26/06/2014Copyright 2014 by Cloudsoft Corporation Limited Page: 18
  • 19. Summary •  What is Clocker? •  Brooklyn Docker Integration •  Cloud Agnostic •  CAMP Application Blueprints •  Intelligent Placement •  Automated Orchestration 26/06/2014Copyright 2014 by Cloudsoft Corporation Limited Page: 19
  • 20. Questions •  Thanks For Listening! •  Questions? •  Web Resources https://github.com/brooklyncentral/clocker/releases/0.4.0/ https://github.com/brooklyncentral/clocker/fork   http://www.cloudsoftcorp.com/blog/2014/06/clocker-­‐creating-­‐a-­‐docker-­‐ cloud-­‐with-­‐apache-­‐brooklyn/   http://abstractvisitorpattern.blogspot.co.uk/   http://github.com/apache/incubating-­‐brooklyn/   http://twitter.com/grkvlt     26/06/2014Copyright 2014 by Cloudsoft Corporation Limited Page: 20