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

Clocker - Docker in the Cloud

Clocker - Docker in the Cloud

Presented at Edinburgh Docker Meetup, July 2014.

Andrew Kennedy

July 10, 2014
Tweet

More Decks by Andrew Kennedy

Other Decks in Technology

Transcript

  1. Clocker:  Docker  in  the  Cloud   Andrew  Kennedy;  Cloudso0  Corpora3on

      Edinburgh  Docker  Meetup,  10  July  2014     http://github.com/grkvlt/  @grkvlt   Copyright 2014 by Cloudsoft Corporation Limited
  2. http://clocker.io/   •  Introduc)on   •  Clocker   – Apache  Brooklyn

      – Apache  Jclouds   – Docker   •  Demonstra)ons   Copyright 2014 by Cloudsoft Corporation Limited
  3. Disclaimer   Copyright 2014 by Cloudsoft Corporation Limited Apache  Brooklyn

     is  an  effort  undergoing  incuba3on  at  The  Apache  So0ware   Founda3on  (ASF),  sponsored  by  Chip  Childers.  Incuba3on  is  required  of  all  newly   accepted  projects  un3l  a  further  review  indicates  that  the  infrastructure,   communica3ons,  and  decision  making  process  have  stabilized  in  a  manner   consistent  with  other  successful  ASF  projects.  While  incuba3on  status  is  not   necessarily  a  reflec3on  of  the  completeness  or  stability  of  the  code,  it  does   indicate  that  the  project  has  yet  to  be  fully  endorsed  by  the  ASF.  
  4. Apache  Brooklyn  and  Jclouds   •  Open  Source   – 

    GitHub   –  Apache  Incubator   •  Autonomic  Compu)ng   –  Control  Plane   –  Applica)on  Management   •  Cloud  Library   –  Provider/API  Agnos)c   –  Virtual  Machines   –  SSH  API   Copyright 2014 by Cloudsoft Corporation Limited
  5. Virtual  Containers   •  Jclouds  Driver   –  Virtual  Machine

      –  Nodes   –  Access  over  SSH   •  Any  Underlying  Provider   •  Add  SSH  Service   •  Docker  Host  Access   –  Command  Line   –  REST  API   Copyright 2014 by Cloudsoft Corporation Limited
  6. Infrastructure   •  Brooklyn  En)ty   •  Docker  Cloud  

    •  Resizable  Clusters   –  Hosts   –  Containers   •  Installs  Docker   •  Creates  Loca)on   •  Intercep)on   •  Forwards  Ports   Copyright 2014 by Cloudsoft Corporation Limited
  7. Applica>on   •  Brooklyn  Blueprints   –  YAML   – 

    Java  Classes   •  En)ty  Tree   •  SSH  Commands   •  No  Changes  Needed   –  Dockerfiles   –  Docker  Configura)on   •  Automa)on   Copyright 2014 by Cloudsoft Corporation Limited
  8. Configura>on   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+"   Copyright 2014 by Cloudsoft Corporation Limited
  9. Complex  Applica>ons   •  Service  Composi)on   •  Mul)ple  En))es

      •  Linking  via  APributes   •  Clusters  and  Groups   •  Enrichers  and  Policies   •  Example   –  Cassandra  Mul)-­‐Region  Deployment   –  Global  Three-­‐Tier  Webapp   –  Apache  Usergrid   –  OpenGamma   Copyright 2014 by Cloudsoft Corporation Limited
  10. Demand:  Policy   •  Data  Based   –  Autoscaling  

    –  High  Availability   •  En)ty  Sensors   •  Cluster  Aggregates   –  Windowed  Rolling  Average   –  Too  Hot  or  Cold   –  Fixed  Limits   •  Time  Based   –  Follow  The  Sun   Copyright 2014 by Cloudsoft Corporation Limited
  11. Supply:  Placement   •  Adding  New  Containers   •  Choose

     Hosts  Intelligently   •  Placement  Strategy   •  Availability  Zone   –  Docker  Host   •  Choices   –  Breadth  First   –  Depth  First   –  Minimum  CPU  Usage   •  Affinity  Rules   –  DSL  or  API   Copyright 2014 by Cloudsoft Corporation Limited
  12. Supply:  Affinity  Rules   id:  tomcat-­‐solr-­‐application   locations:   -­‐

     my-­‐docker-­‐cloud   services:   -­‐  serviceType:  brooklyn.entity.nosql.solr.SolrServer      brooklyn.config:          affinity.rules:  APPLICATION   -­‐  serviceType:  brooklyn.entity.webapp.tomcat.TomcatServer      brooklyn.config:          affinity.rules:  |              NOT  TYPE              TYPE  brooklyn.entity.nosql.solr.SolrServer              APPLICATION   Copyright 2014 by Cloudsoft Corporation Limited
  13. Roadmap   •  Current  Version  0.5.0   –  Affinity  Rules

      –  CPU  and  Memory  Shares   –  Volumes   •  Next  Version  0.6.0   –  SoZware  Defined  Networking   –  Docker  Hub  Integra)on   –  Smart  Import  of  Exis)ng  Hosts   •  Future…   –  Libswarm?   –  Kubernetes?   –  You  tell  us!   Copyright 2014 by Cloudsoft Corporation Limited
  14. Summary   •  What  is  Clocker?   •  Brooklyn  Docker

     Integra)on   •  Cloud  Agnos)c   •  CAMP  Applica)on  Blueprints   •  Intelligent  Placement   •  Automated  Orchestra)on   Copyright 2014 by Cloudsoft Corporation Limited
  15. Ques>ons   •  Thanks  For  Listening!   •  Ques)ons?  

    Copyright 2014 by Cloudsoft Corporation Limited
  16. Web  Resources   http://clocker.io/   https://github.com/brooklyncentral/clocker/releases/v0.5.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   http://brooklyn.io/     Copyright 2014 by Cloudsoft Corporation Limited