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

Clocker Evolution

Andrew Kennedy
September 09, 2014

Clocker Evolution

Presented at SVDevOps meetup, September 2014

Andrew Kennedy

September 09, 2014
Tweet

More Decks by Andrew Kennedy

Other Decks in Technology

Transcript

  1. Introduc>on   •  Andrew  Kennedy   –  CloudsoA   – 

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

    Growing   •  Some  Pain  Points   –  Networking   –  Orchestra>on   –  Applica>ons  
  3. Brooklyn   •  Brooklyn   –  Applica>on  Management  PlaPorm  

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

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

     and  ASF  Projects   –  Couchbase   –  Cassandra   –  Tomcat   –  Solr   •  Control  Servers  via  SSH   •  Control  En>>es  via  Effectors  
  7. 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  
  8. 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,  …)  
  9. 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  
  10. Clocker  Evolu>on   •  Three  Months   •  Simple  Applica>ons

      –  Tomcat   –  Node.JS   –  Ac>veMQ   •  Strengthening  Core   •  Docker  Driver  for  jclouds   –  More  Features  
  11. Limita>ons   •  Docker   –  Seamless  Mul>  Host  Networking

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

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

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

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

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

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

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

     going?   •  What  about  orchestra>on?   •  What  features  would  be  most  useful  to  enhance   Docker  usability?