Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Introducing Clocker: Using Apache Brooklyn and Docker in the Cloud

Introducing Clocker: Using Apache Brooklyn and Docker in the Cloud

Presented at London CloudStack Meetup, June 2014.

Andrew Kennedy

June 26, 2014
Tweet

More Decks by Andrew Kennedy

Other Decks in Technology

Transcript

  1. Andrew Kennedy Andrea Turli Sam Corbett CloudStack Meetup, 26 June

    2014 26/06/2014 Copyright 2014 by Cloudsoft Corporation Limited Page: 2
  2. Introduction •  New Project •  Clocker •  Apache Brooklyn • 

    Apache Jclouds •  Docker •  Demonstrations 26/06/2014 Copyright 2014 by Cloudsoft Corporation Limited Page: 3
  3. Apache Brooklyn •  Open Source •  GitHub •  Apache Incubator

    •  Autonomic Computing •  Control Plane •  Application Management •  Entities •  Sensors •  Effectors •  Locations 26/06/2014 Copyright 2014 by Cloudsoft Corporation Limited Page: 4
  4. Apache Jclouds •  Cloud Library •  Provider/API Agnostic •  Providers

    •  Softlayer •  Amazon EC2 •  Rackspace ... •  API •  CloudStack •  OpenStack •  vSphere … 26/06/2014 Copyright 2014 by Cloudsoft Corporation Limited Page: 5
  5. Docker •  Containers •  LXC •  Solaris Zones •  BSD

    Jails •  Lightweight Virtual Machines •  Dockerfiles •  Composable •  Docker Hub •  Canonical Images •  User or Vendor Contributed 26/06/2014 Copyright 2014 by Cloudsoft Corporation Limited Page: 6
  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/2014 Copyright 2014 by Cloudsoft Corporation Limited Page: 7
  7. Infrastructure •  Brooklyn Entity •  Docker Cloud •  Resizable Clusters

    •  Hosts •  Containers •  Installs Docker •  Creates Location •  Interception •  Forwards Ports 26/06/2014 Copyright 2014 by Cloudsoft Corporation Limited Page: 8
  8. Application •  Brooklyn Blueprints •  YAML •  Java Classes • 

    Entity Tree •  SSH Commands •  No Changes Needed •  Dockerfiles •  Docker Configuration •  Automation 26/06/2014 Copyright 2014 by Cloudsoft Corporation Limited Page: 11
  9. 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/2014 Copyright 2014 by Cloudsoft Corporation Limited Page: 12
  10. 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/2014 Copyright 2014 by Cloudsoft Corporation Limited Page: 14
  11. 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/2014 Copyright 2014 by Cloudsoft Corporation Limited Page: 15
  12. 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/2014 Copyright 2014 by Cloudsoft Corporation Limited Page: 16
  13. 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/2014 Copyright 2014 by Cloudsoft Corporation Limited Page: 18
  14. Summary •  What is Clocker? •  Brooklyn Docker Integration • 

    Cloud Agnostic •  CAMP Application Blueprints •  Intelligent Placement •  Automated Orchestration 26/06/2014 Copyright 2014 by Cloudsoft Corporation Limited Page: 19
  15. 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/2014 Copyright 2014 by Cloudsoft Corporation Limited Page: 20