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

Clocker Evolution

9561900a150b2cfa2ce6440f9b4f63ab?s=47 Andrew Kennedy
September 09, 2014

Clocker Evolution

Presented at SVDevOps meetup, September 2014

9561900a150b2cfa2ce6440f9b4f63ab?s=128

Andrew Kennedy

September 09, 2014
Tweet

More Decks by Andrew Kennedy

Other Decks in Technology

Transcript

  1. Clocker  Evolu,on   Andrew  Kennedy,  SVDevOps,  09  September  2014  

     
  2. Introduc>on   •  Andrew  Kennedy   –  CloudsoA   – 

    SoAware  Engineer   –  Open  Source  and  Java   –  Cloud  Technologies   •  Overview   –  Docker   –  Brooklyn   –  Clocker  
  3. Docker   •  Popular   –  Huge  Ecosystem   – 

    Growing   •  Some  Pain  Points   –  Networking   –  Orchestra>on   –  Applica>ons  
  4. Docker  

  5. Brooklyn   •  Brooklyn   –  Applica>on  Management  PlaPorm  

    –  Autonomic  Compu>ng   •  Applica>on  Blueprint   –  Services  (En>>es)   –  Configura>on   –  ATributes  (Sensors)   –  Ac>ons  (Effectors)  
  6. Brooklyn   •  Deploy   –  Provisioning   –  Download

      –  Install   –  Configure   •  Manage   –  ATributes   –  Policies   –  Ac>ons  
  7. 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  
  8. Brooklyn  En>>es   •  Service  (Micro?)   •  Many  OSS

     and  ASF  Projects   –  Couchbase   –  Cassandra   –  Tomcat   –  Solr   •  Control  Servers  via  SSH   •  Control  En>>es  via  Effectors  
  9. 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  
  10. Clocker  

  11. 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,  …)  
  12. 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  
  13. Demonstra>on   Deploying  Applica>ons  on  Clocker  

  14. Clocker  Evolu>on   •  Three  Months   •  Simple  Applica>ons

      –  Tomcat   –  Node.JS   –  Ac>veMQ   •  Strengthening  Core   •  Docker  Driver  for  jclouds   –  More  Features  
  15. Limita>ons  

  16. Limita>ons   •  Docker   –  Seamless  Mul>  Host  Networking

      •  Clocker   –  Complex  Applica>on  Requirements   –  Not  just  a  VM  and  a  service…   •  Features   –  Requests  from  Users?  
  17. Clocker  Roadmap   •  Orchestra>on   –  Placement  Strategy  

    •  More  Intelligence   –  Need  32GiB  Container?   –  Need  32  1GiB  Containers  per  Host?   –  One  Core?   –  16  Cores?   •  User  Defined  Strategies  
  18. Clocker  Roadmap   •  Applica>on  Defini>ons   –  Use  YAML

     Blueprints   –  Include  Dockerfiles  and  Images   –  Docker  Hub   –  Third  Party  Repositories   –  Enterprise  Repositories   •  Other  Defini>ons  
  19. Clocker  Roadmap   •  Networking   –  Mul>ple  Hosts  

    –  Mul>ple  Clouds?   •  Communica>on   –  Port  Forwarding   –  Doesn’t  Always  Work   •  SoAware  Defined  Networking   –  Weave  
  20. Clocker  Roadmap   •  Integra>ons   –  Kubernetes   – 

    Fig   –  libswarm   –  Decking   –  Panamax   –  Stampede   –  Others?  
  21. Summary   •  Docker  Containers   –  En>>es  are  Micro

     Services   •  Limita>ons   –  Mul>ple  Hosts  and  Networking   •  Clocker  Solu>ons   –  Applica>on  Blueprints   –  Orchestra>on   –  Networking  
  22. Project   •  GitHub   –  brooklyncentral/clocker   –  Java

     Code   –  Apache  2.0  Licensed   •  Contribu>ons   –  Blueprints?   –  Integra>ons?   –  Documenta>on?   –  Tes>ng?  
  23. Audience  Ques>ons   •  Where  do  you  see  Docker  networking

     going?   •  What  about  orchestra>on?   •  What  features  would  be  most  useful  to  enhance   Docker  usability?  
  24. Thanks   •  Ques>ons?  

  25. Web  Resources   http://clocker.io/   http://brooklyn.io/   http://docker.io/   http://github.com/zettio/weave/

      http://abstractvisitorpattern.co.uk/