Ce diaporama a bien été signalé.
Nous utilisons votre profil LinkedIn et vos données d’activité pour vous proposer des publicités personnalisées et pertinentes. Vous pouvez changer vos préférences de publicités à tout moment.
QCon	
  London	
  2015;	
  Docker	
  Track	
  
Andrew	
  Kennedy	
  @grkvlt	
  
Clocker	
  
How	
  to	
  Train	
  Your	
  ...
InfoQ.com: News & Community Site
• 750,000 unique visitors/month
• Published in 4 languages (English, Chinese, Japanese an...
Presented at QCon London
www.qconlondon.com
Purpose of QCon
- to empower software development by facilitating the spread o...
@grkvlt	
  
Introduc/on	
  
•  Andrew	
  Kennedy	
  
–  Clocker	
  Project	
  Founder	
  and	
  Lead	
  Engineer	
  
–  Op...
@grkvlt	
  
Agenda	
  
•  Clocker	
  Introduc/on	
  
•  What	
  is	
  a	
  Docker	
  Cloud?	
  
•  Training	
  a	
  Docker...
Clocker	
  IntroducBon	
  
@grkvlt	
  
What	
  does	
  it	
  do?	
  
1.  Spins	
  up	
  and	
  Manages	
  Docker	
  
Clouds	
  
2.  Serves	
  up	
  C...
@grkvlt	
  
What	
  does	
  it	
  provide?	
  
•  Mul/	
  Host	
  and	
  Mul/	
  Container	
  Applica/ons	
  
•  Seamless	...
@grkvlt	
  
Who	
  is	
  using	
  it?	
  
•  Tes/ng	
  and	
  Proof	
  of	
  Concept	
  Stage	
  
–  Financial	
  Services...
@grkvlt	
  
Where	
  can	
  I	
  find	
  it?	
  
•  Open	
  Source	
  
•  Apache	
  2.0	
  Licensed	
  
•  h[p://clocker.io...
What	
  is	
  a	
  Docker	
  Cloud?	
  
@grkvlt	
  
Clocker	
  and	
  Brooklyn	
  
•  What	
  is	
  it?	
  
– Brooklyn	
  Applica/on	
  
– Brooklyn	
  Loca/on	
  ...
Apache	
  Brooklyn	
  
•  Apache	
  Brooklyn	
  
– Open	
  Source	
  
– Java	
  
– Donated	
  to	
  the	
  Apache	
  SoGwa...
@grkvlt	
  
Apache	
  Brooklyn	
  
•  Applica/on	
  Management	
  Pla_orm	
  
•  Deploy,	
  Manage	
  and	
  Monitor	
  Bl...
Apache	
  jclouds	
  
•  Java	
  Cloud	
  Library	
  
•  API	
  Agnos/c	
  
– CloudStack,	
  OpenStack,	
  AWS	
  EC2,	
  ...
@grkvlt	
  
Apache	
  jclouds	
  
•  Drivers	
  for	
  REST	
  APIs	
  
•  Docker	
  Driver	
  
–  Wri[en	
  by	
  @turlin...
@grkvlt	
  
Docker	
  
•  Popular	
  
– Large	
  Ecosystem	
  
– Growing	
  
– Complex	
  
•  Containers	
  
– Isola/on	
 ...
@grkvlt	
  
Docker	
  
@grkvlt	
  
Brooklyn	
  Blueprints	
  
•  Describe	
  Applica/ons	
  
•  OASIS	
  CAMP	
  Standard	
  
•  List	
  of	
  Se...
@grkvlt	
  
Blueprint	
  Example	
  
name:	
  appserver-­‐w-­‐policy	
  
services:	
  
-­‐	
  type:	
  brooklyn.entity.web...
@grkvlt	
  
Applica/on	
  Management	
  
•  Policies	
  
•  Sensor	
  Data	
  Driven	
  
•  Auto	
  Scaling	
  
•  Cluster...
@grkvlt	
  
Docker	
  Cloud	
  
•  Brooklyn	
  Blueprint	
  for	
  Docker	
  Cluster	
  
•  Docker	
  Engine	
  on	
  Clou...
@grkvlt	
  
Docker	
  Cloud	
  
1.  On-­‐demand	
  
2.  Mul/-­‐Tenant	
  
3.  Hardware	
  Independent	
  
4.  Applica/on	
...
@grkvlt	
  
Architecture	
  
@grkvlt	
  
Clocker	
  Features	
  
•  Applica/on	
  Deployment	
  
–  Oasis	
  CAMP	
  YAML	
  Blueprint	
  
–  TOSCA	
  ...
@grkvlt	
  
Clocker	
  Features	
  
•  Docker	
  Extensions	
  to	
  Brooklyn	
  
–  Dockerfile	
  or	
  Image	
  Specifica/...
@grkvlt	
  
Clocker	
  Orchestra/on	
  
Docker	
  
Engine	
  
Virtual	
  
Machine	
  
Container	
  Clocker	
  
Network	
  ...
Training	
  a	
  Docker	
  Cloud	
  
@grkvlt	
  
Training…?	
  
•  Container	
  Management	
  
•  Placement	
  and	
  Provisioning	
  
•  Autonomics	
  
– Poli...
@grkvlt	
  
Container	
  Management	
  
•  Sources	
  
–  Docker	
  Image	
  Defini/on	
  
–  Docker	
  Hub	
  
–  Dockerfil...
@grkvlt	
  
Container	
  Management	
  
•  Installa/on	
  of	
  Services	
  
–  Defined	
  by	
  Brooklyn	
  or	
  Dockerfil...
@grkvlt	
  
Container	
  Management	
  
id:	
  dockerfile-­‐mysql	
  
name:	
  "Docker	
  Hub	
  MySQL	
  Database"	
  
or...
@grkvlt	
  
Container	
  Management	
  
id:	
  dockerfile-­‐mysql	
  
name:	
  "Docker	
  Hub	
  LAMP	
  Stack"	
  
locati...
@grkvlt	
  
Container	
  Placement	
  
•  Demand	
  
–  Adding	
  an	
  Applica/on	
  
–  Scaling	
  exis/ng	
  Applica/on...
@grkvlt	
  
Container	
  Placement	
  
•  Supply	
  
– Choose	
  a	
  Host	
  from	
  available	
  
– Create	
  new	
  Hos...
@grkvlt	
  
Container	
  Placement	
  
•  Placement	
  Strategies	
  
–  Filter	
  Hosts	
  
–  Sort	
  Hosts	
  
•  Infor...
@grkvlt	
  
Container	
  Placement	
  
•  Placement	
  Strategies	
  
–  Random,	
  Depth	
  or	
  Breadth	
  First	
  
– ...
@grkvlt	
  
Placement	
  Strategy	
  
•  Determinis/c	
  
•  Simple	
  
– Predicate	
  and	
  Comparator	
  
docker.contai...
@grkvlt	
  
Container	
  Provisioning	
  
•  Provisioning	
  Strategy	
  
–  New	
  Docker	
  Host	
  Loca/on	
  
•  Const...
@grkvlt	
  
Autonomics	
  
•  Brooklyn	
  Policies	
  
•  A[ached	
  to	
  En//es	
  in	
  Applica/on	
  
– Nothing	
  Doc...
@grkvlt	
  
Applica/on	
  Resilience	
  
•  Service	
  Resilience	
  and	
  Replacement	
  
– Restart	
  Service	
  and	
 ...
@grkvlt	
  
Headroom	
  
•  Ensure	
  resources	
  available	
  
•  Based	
  on	
  MaxContainers	
  strategy	
  limit	
  
...
@grkvlt	
  
SoGware-­‐Defined	
  Networking	
  
•  Needed	
  for	
  Seamless	
  Provisioning	
  
•  Host	
  to	
  Host	
  C...
@grkvlt	
  
Networking	
  Providers	
  
•  Standardized	
  Interfaces	
  
•  Pluggable	
  Providers	
  
– Weave	
  
– Meta...
@grkvlt	
  
Networking	
  Providers	
  
•  Implementa/on	
  Agnos/c	
  
– L2	
  over	
  L3	
  etc.	
  
– Similar	
  to	
  ...
@grkvlt	
  
Networking	
  Capabili/es	
  
•  Provide	
  Mul/ple	
  Networks	
  
– Single	
  Applica/on	
  or	
  Shared	
  ...
@grkvlt	
  
Clocker	
  Networking	
  
Container	
  Host	
  
SDN	
  
Bridge	
  
Container	
  
Internet	
  
SDN	
  
Gateway	...
@grkvlt	
  
Networking	
  Capabili/es	
  
•  IP	
  Pool	
  Controlled	
  by	
  Clocker	
  
•  Clocker	
  Controls	
  Subne...
@grkvlt	
  
Future	
  Capabili/es	
  
•  Adding	
  More	
  SDN	
  Providers	
  
•  Name	
  Resolu/on	
  
– BIND	
  and	
  ...
@grkvlt	
  
Virtual	
  Network	
  En/ty	
  
•  New	
  Clocker	
  En/ty	
  
•  Provisions	
  a	
  Virtual	
  Network	
  
• ...
@grkvlt	
  
Network	
  Provisioning	
  
•  Create	
  Named	
  Virtual	
  Networks	
  
•  Uses	
  Available	
  Provider	
  ...
@grkvlt	
  
Network	
  Provisioning	
  
•  Allow	
  Minimal	
  (Zero!)	
  Configura/on	
  
•  Use	
  Sensible	
  Defaults	
...
@grkvlt	
  
Network	
  Provisioning	
  
•  A[ach	
  Containers	
  to	
  Networks	
  
	
  
	
  	
  brooklyn.config:	
  
	
 ...
DemonstraBon	
  
@grkvlt	
  
Features	
  
•  Orchestrated	
  Docker	
  1.5.0	
  deployment	
  with	
  
Weave	
  SDN	
  integra/on	
  
•  Au...
Clocker	
  Roadmap	
  
@grkvlt	
  
Roadmap	
  
•  Latest	
  Docker	
  1.5.0	
  Feature	
  Support	
  
–  Stats	
  command,	
  Read-­‐only	
  cont...
@grkvlt	
  
Roadmap	
  
•  Networking	
  
– DNS	
  and	
  DNSmasq	
  Integra/on	
  
– Rancher	
  Integra/on	
  
– Open	
  ...
@grkvlt	
  
Roadmap	
  
•  Repositories	
  
–  Docker	
  Enterprise	
  Hub	
  
–  Bintray,	
  Ar/factory,	
  Quay.io	
  
–...
@grkvlt	
  
Roadmap	
  
•  Plugin	
  API	
  will	
  be	
  helpful	
  
•  Also	
  projects	
  like	
  Powerstrip	
  
•  Pro...
@grkvlt	
  
Summary	
  
•  Clocker	
  
–  Brooklyn	
  +	
  jclouds	
  +	
  Docker	
  +	
  Weave	
  +	
  …	
  
–  @clockerc...
QuesBons?	
  
@grkvlt	
  
Web	
  Resources	
  
http://clocker.io/	
  
http://brooklyn.io/	
  
http://docker.io/	
  
http://github.com/ze...
Watch the video with slide synchronization on
InfoQ.com!
http://www.infoq.com/presentations/docker-
cloud-clocker
How to Train Your Docker Cloud
How to Train Your Docker Cloud
How to Train Your Docker Cloud
How to Train Your Docker Cloud
How to Train Your Docker Cloud
Prochain SlideShare
Chargement dans…5
×

How to Train Your Docker Cloud

705 vues

Publié le

Video and slides synchronized, mp3 and slide download available at URL http://bit.ly/1FjjXpZ.

Andrew Kennedy talks about the reasons for creating a Docker cloud and how they realized that to do this properly they needed first class networking to handle composite distributed applications such as Riak. It was a short step from this to using Brooklyn itself to bootstrap a Docker cloud effectively colonizing the infrastructure. And so Clocker was born. Filmed at qconlondon.com.

Andrew Kennedy is a Senior Software Engineer at Cloudsoft and the founder of the Clocker project. He is a contributor to several Open Source projects including Apache jclouds and Apache Qpid and is also a founder member of the Apache Brooklyn project.

Publié dans : Technologie
  • Soyez le premier à commenter

  • Soyez le premier à aimer ceci

How to Train Your Docker Cloud

  1. 1. QCon  London  2015;  Docker  Track   Andrew  Kennedy  @grkvlt   Clocker   How  to  Train  Your  Docker  Cloud  
  2. 2. InfoQ.com: News & Community Site • 750,000 unique visitors/month • Published in 4 languages (English, Chinese, Japanese and Brazilian Portuguese) • Post content from our QCon conferences • News 15-20 / week • Articles 3-4 / week • Presentations (videos) 12-15 / week • Interviews 2-3 / week • Books 1 / month Watch the video with slide synchronization on InfoQ.com! http://www.infoq.com/presentations /docker-cloud-clocker
  3. 3. Presented at QCon London www.qconlondon.com Purpose of QCon - to empower software development by facilitating the spread of knowledge and innovation Strategy - practitioner-driven conference designed for YOU: influencers of change and innovation in your teams - speakers and topics driving the evolution and innovation - connecting and catalyzing the influencers and innovators Highlights - attended by more than 12,000 delegates since 2007 - held in 9 cities worldwide
  4. 4. @grkvlt   Introduc/on   •  Andrew  Kennedy   –  Clocker  Project  Founder  and  Lead  Engineer   –  Open  Source  and  Distributed  Systems   –  github.com/grkvlt   •  CloudsoG  Corpora/on   –  Open  Source  Applica/on  Management  Specialists   –  We’re  Hiring…  
  5. 5. @grkvlt   Agenda   •  Clocker  Introduc/on   •  What  is  a  Docker  Cloud?   •  Training  a  Docker  Cloud   •  Demonstra/on   •  Roadmap  
  6. 6. Clocker  IntroducBon  
  7. 7. @grkvlt   What  does  it  do?   1.  Spins  up  and  Manages  Docker   Clouds   2.  Serves  up  Containers  on  Demand   3.  Manages  Composite  Applica/on   Deployments  on  Docker  
  8. 8. @grkvlt   What  does  it  provide?   •  Mul/  Host  and  Mul/  Container  Applica/ons   •  Seamless  Networking   – Communica/on  Between  Services   •  Orchestra/on  and  Clustering   – Control  of  Containers   – Container  Management  
  9. 9. @grkvlt   Who  is  using  it?   •  Tes/ng  and  Proof  of  Concept  Stage   –  Financial  Services   –  Insurance   •  Produc/on   –  Mul/-­‐tenant  Applica/on  Trial   –  Container  per  service   –  Via  IBM  BlueMix  
  10. 10. @grkvlt   Where  can  I  find  it?   •  Open  Source   •  Apache  2.0  Licensed   •  h[p://clocker.io     •  Status   •  0.7.0  Beta  Release   •  0.8.0-­‐SNAPSHOT  Development  
  11. 11. What  is  a  Docker  Cloud?  
  12. 12. @grkvlt   Clocker  and  Brooklyn   •  What  is  it?   – Brooklyn  Applica/on   – Brooklyn  Loca/on   •  What  does  it  provide?   – First  Class  Docker  Support  in  Brooklyn   – Op/mized  Brooklyn  Blueprints  for  Docker  
  13. 13. Apache  Brooklyn   •  Apache  Brooklyn   – Open  Source   – Java   – Donated  to  the  Apache  SoGware  Founda/on   – ASF  Incubator  Status  
  14. 14. @grkvlt   Apache  Brooklyn   •  Applica/on  Management  Pla_orm   •  Deploy,  Manage  and  Monitor  Blueprints   •  Provisioning,  Installa/on  and  Customiza/on   •  Management   – AutoScaling,  Resilience,  Performance,  Security  
  15. 15. Apache  jclouds   •  Java  Cloud  Library   •  API  Agnos/c   – CloudStack,  OpenStack,  AWS  EC2,  GCE…   •  Create  Virtual  Machines   – Return  SSH  Endpoint   – Manage  Proper/es  
  16. 16. @grkvlt   Apache  jclouds   •  Drivers  for  REST  APIs   •  Docker  Driver   –  Wri[en  by  @turlinux   •  Virtual  Container   –  Using  SSH  Daemon   –  Same  Endpoint  Type  as  VM   –  Composi/on  on  any  Image  or  Dockerfile  
  17. 17. @grkvlt   Docker   •  Popular   – Large  Ecosystem   – Growing   – Complex   •  Containers   – Isola/on   – Performance   – Composable  
  18. 18. @grkvlt   Docker  
  19. 19. @grkvlt   Brooklyn  Blueprints   •  Describe  Applica/ons   •  OASIS  CAMP  Standard   •  List  of  Services   •  Tree  Structure   •  Sensors,  Effectors  and  Policies  
  20. 20. @grkvlt   Blueprint  Example   name:  appserver-­‐w-­‐policy   services:   -­‐  type:  brooklyn.entity.webapp.ControlledDynamicWebAppCluster      initialSize:  1      memberSpec:          $brooklyn:entitySpec:              type:  brooklyn.entity.webapp.jboss.JBoss7Server              brooklyn.config:                  wars.root:                      http://search.maven.org/remotecontent?filepath=io/brooklyn/example/brooklyn-­‐example-­‐hello-­‐world-­‐sql-­‐webapp/0.6.0/brooklyn-­‐example-­‐hello-­‐world-­‐sql-­‐ webapp-­‐0.6.0.war                  http.port:  8080+                  java.sysprops:                        brooklyn.example.db.url:  $brooklyn:formatString("jdbc:%s%s?user=%s&password=%s",                              component("db").attributeWhenReady("datastore.url"),  "visitors",  "brooklyn",  "br00k11n")      brooklyn.policies:      -­‐  policyType:  brooklyn.policy.autoscaling.AutoScalerPolicy          brooklyn.config:              metric:  $brooklyn:sensor("brooklyn.entity.webapp.DynamicWebAppCluster",  "webapp.reqs.perSec.windowed.perNode")              metricLowerBound:  10              metricUpperBound:  100              minPoolSize:  1              maxPoolSize:  5   -­‐  type:  brooklyn.entity.database.mysql.MySqlNode      id:  db      name:  DB  HelloWorld  Visitors      brooklyn.config:          datastore.creation.script.url:              https://github.com/apache/incubator-­‐brooklyn/raw/master/usage/launcher/src/test/resources/visitors-­‐creation-­‐script.sql  
  21. 21. @grkvlt   Applica/on  Management   •  Policies   •  Sensor  Data  Driven   •  Auto  Scaling   •  Cluster  Management   •  Resilience  and  Failover   •  Follow  the  Sun  
  22. 22. @grkvlt   Docker  Cloud   •  Brooklyn  Blueprint  for  Docker  Cluster   •  Docker  Engine  on  Cloud  VM   – Configura/on  for  TLS  Cer/ficates   – Setup  Volumes  (Logging?)   – Install  Agents  (Security?  SDN?)  
  23. 23. @grkvlt   Docker  Cloud   1.  On-­‐demand   2.  Mul/-­‐Tenant   3.  Hardware  Independent   4.  Applica/on  Level  
  24. 24. @grkvlt   Architecture  
  25. 25. @grkvlt   Clocker  Features   •  Applica/on  Deployment   –  Oasis  CAMP  YAML  Blueprint   –  TOSCA  in  Development   –  Same  as  Core  Brooklyn   •  Mixed  Des/na/ons   –  Some  Virtual  Machines   –  Some  Bare  Metal   –  Some  Containers  
  26. 26. @grkvlt   Clocker  Features   •  Docker  Extensions  to  Brooklyn   –  Dockerfile  or  Image  Specifica/on  for  Installa/on   –  Placement  Strategies  for  Containers   –  Create  Docker  Images  and  Networks   •  Manages  Docker  Engine   –  Deployment  and  Management   –  Installa/on  and  Configura/on   –  SoGware-­‐Defined  Networking  
  27. 27. @grkvlt   Clocker  Orchestra/on   Docker   Engine   Virtual   Machine   Container  Clocker   Network   Segment   SDN   Cloud  
  28. 28. Training  a  Docker  Cloud  
  29. 29. @grkvlt   Training…?   •  Container  Management   •  Placement  and  Provisioning   •  Autonomics   – Policies  and  Scaling   •  Headroom   •  Networks  
  30. 30. @grkvlt   Container  Management   •  Sources   –  Docker  Image  Defini/on   –  Docker  Hub   –  Dockerfile   –  Brooklyn  En/ty  Defini/on   •  Create  Image  Automa/cally   –  Commit  or  Push  for  Reuse  
  31. 31. @grkvlt   Container  Management   •  Installa/on  of  Services   –  Defined  by  Brooklyn  or  Dockerfile   –  Common  to  all  En/ty  Instances   •  Commit  Image   –  Available  for  next  En/ty   •  Push  Image   –  Available  for  all  Hosts  
  32. 32. @grkvlt   Container  Management   id:  dockerfile-­‐mysql   name:  "Docker  Hub  MySQL  Database"   origin:  "https://registry.hub.docker.com/_/mysql/"   locations:   -­‐  my-­‐docker-­‐cloud   services:   -­‐  type:  brooklyn.entity.container.docker.application.DockerfileApplication      id:  mysql      name:  "MySQL"      brooklyn.config:          docker.dockerfile.url:              "https://s3-­‐eu-­‐west-­‐1.amazonaws.com/brooklyn-­‐clocker/mysql-­‐5.6.tgz"          docker.container.environment:              MYSQL_ROOT_PASSWORD:  "s3cr3t”    
  33. 33. @grkvlt   Container  Management   id:  dockerfile-­‐mysql   name:  "Docker  Hub  LAMP  Stack"   locations:   -­‐  my-­‐docker-­‐cloud   services:   -­‐  type:  docker:mysql:5.7.5      id:  mysql      env:          MYSQL_ROOT_PASSWORD:  "s3cr3t"   -­‐  type:  docker:grkvlt/myapp:latest      id:  application      env:          MYSQL_HOST:              component(”mysql").attributeWhenReady("host.hostname")    
  34. 34. @grkvlt   Container  Placement   •  Demand   –  Adding  an  Applica/on   –  Scaling  exis/ng  Applica/on   •  Requirements   –  Host  Loca/on   –  Service  Resources   –  CPU,  Memory    
  35. 35. @grkvlt   Container  Placement   •  Supply   – Choose  a  Host  from  available   – Create  new  Host   •  Start  Container   –  Set  CPU  and  Memory   –  A[ach  to  Network  
  36. 36. @grkvlt   Container  Placement   •  Placement  Strategies   –  Filter  Hosts   –  Sort  Hosts   •  Informa/on  from   –  Docker   –  Underlying  Machine   –  Cloud  Environment   –  En/ty  or  Service  
  37. 37. @grkvlt   Container  Placement   •  Placement  Strategies   –  Random,  Depth  or  Breadth  First   –  CPU  or  Memory  Usage   –  Memory,  CPU  or  Container  Limits   –  Geographic  Constraints   •  User  Defined   –  Java  Predicate  
  38. 38. @grkvlt   Placement  Strategy   •  Determinis/c   •  Simple   – Predicate  and  Comparator   docker.container.strategies:      -­‐  $brooklyn:object:              type:  "brooklyn.location.docker.strategy.MaxContainersPlacementStrategy”              brooklyn.config:                  maxContainers:  16      -­‐  $brooklyn:object:              type:  "brooklyn.location.docker.strategy.CpuUsagePlacementStrategy”              brooklyn.config:                  maxCpu:  0.75  
  39. 39. @grkvlt   Container  Provisioning   •  Provisioning  Strategy   –  New  Docker  Host  Loca/on   •  Constraints   –  Docker  Infrastructure  Constraints   –  En/ty  or  Applica/on  Constraints   •  User  Defined  Strategies   •  Intelligent  Container  Orchestra/on  
  40. 40. @grkvlt   Autonomics   •  Brooklyn  Policies   •  A[ached  to  En//es  in  Applica/on   – Nothing  Docker  Specific   •  Elas/c  Scaling   – Cluster  Resizing   – Sensor  Driven    
  41. 41. @grkvlt   Applica/on  Resilience   •  Service  Resilience  and  Replacement   – Restart  Service  and  Container   – Applica/on  Level,  Not  Infrastructure   – Same  as  Cloud   •  Could  be  Integrated  Further   – Snapshot  Running  Container  for  Restart  
  42. 42. @grkvlt   Headroom   •  Ensure  resources  available   •  Based  on  MaxContainers  strategy  limit   –  Or  Percentage  U/lisa/on   –  Or  CPU  and  RAM  alloca/on   •  Scale  Docker  Host  Cluster  Automa/cally     –  Add  new  Docker  hosts   –  Remove  empty  Docker  hosts  
  43. 43. @grkvlt   SoGware-­‐Defined  Networking   •  Needed  for  Seamless  Provisioning   •  Host  to  Host  Communica/on   – Same  LAN  Segment   – No  Port  Forwarding   – Natural  Applica/on  Configura/on   •  Ini/al  Driver  was  EPMD  Applica/ons  
  44. 44. @grkvlt   Networking  Providers   •  Standardized  Interfaces   •  Pluggable  Providers   – Weave   – Metaswitch  Calico   – IBM  OpenDOVE   – Others?  
  45. 45. @grkvlt   Networking  Providers   •  Implementa/on  Agnos/c   – L2  over  L3  etc.   – Similar  to  Hypervisor  in  Clouds   •  Generic  Interfaces   – Host  Component   – Service  Component  (or  Endpoint)  
  46. 46. @grkvlt   Networking  Capabili/es   •  Provide  Mul/ple  Networks   – Single  Applica/on  or  Shared   – Private  Addresses   – Segmented  by  CIDR   •  Docker  Port  Forwarding  Access   – Debug  Mechanism  
  47. 47. @grkvlt   Clocker  Networking   Container  Host   SDN   Bridge   Container   Internet   SDN   Gateway  
  48. 48. @grkvlt   Networking  Capabili/es   •  IP  Pool  Controlled  by  Clocker   •  Clocker  Controls  Subnet  Alloca/on   – Applica/ons  Segmented  by  CIDR   •  Delegate  to  SDN  or  Cloud   – Bring  your  own  IP   •  Docker  Port  Forwarding  Access  
  49. 49. @grkvlt   Future  Capabili/es   •  Adding  More  SDN  Providers   •  Name  Resolu/on   – BIND  and  DNSmasq  or  Weave  DNS   – Needed  for  JMX  et  al   – Enables  Many  More  En//es   •  Adding  More  Supported  Blueprints  
  50. 50. @grkvlt   Virtual  Network  En/ty   •  New  Clocker  En/ty   •  Provisions  a  Virtual  Network   •  Looks  for  NetworkProvisioningExtension   – Registered  in  DockerLoca/on  by  SDN  Provider   – Could  also  add  to  JcloudsLoca/on  for  Clouds   •  Part  of  Applica/on  Blueprint  
  51. 51. @grkvlt   Network  Provisioning   •  Create  Named  Virtual  Networks   •  Uses  Available  Provider   –  Currently  Weave,  Calico  and  IBM  Supported     -­‐  type:  brooklyn.networking.VirtualNetwork      networkId:  my-­‐application      cidr:  192.168.12.0/24      gateway:  192.168.12.1      dnsServers:      -­‐  8.8.8.8      brooklyn.config:          sdn.example.securityGroup:  "my-­‐security-­‐group"  
  52. 52. @grkvlt   Network  Provisioning   •  Allow  Minimal  (Zero!)  Configura/on   •  Use  Sensible  Defaults   –  Also  SDN  Specific  Configura/on   •  Allocate  Address  Space  on  Demand     -­‐  type:  brooklyn.networking.VirtualNetwork      networkId:  database-­‐net      cidr:  192.168.34.0/24   -­‐  type:  brooklyn.networking.VirtualNetwork      networkId:  couchbase-­‐net  
  53. 53. @grkvlt   Network  Provisioning   •  A[ach  Containers  to  Networks        brooklyn.config:          network.list:          -­‐  couchbase-­‐net          -­‐  management-­‐net     •  Create  Networks  as  Required   •  Also  A[ach  to  VMs  and  Metal   – Where  Supported    
  54. 54. DemonstraBon  
  55. 55. @grkvlt   Features   •  Orchestrated  Docker  1.5.0  deployment  with   Weave  SDN  integra/on   •  Automated  a[achment  of  containers  to   mul/ple  dynamic  networks   •  Brooklyn  applica/on  blueprints  with  network   topology  
  56. 56. Clocker  Roadmap  
  57. 57. @grkvlt   Roadmap   •  Latest  Docker  1.5.0  Feature  Support   –  Stats  command,  Read-­‐only  containers,  Named  Dockerfiles  and  more   •  Swarm   –  Add  Clocker  as  an  extension  to  Swarm  itself?   –  Or  add  features  to  exis/ng  jclouds  driver?   •  Compose   –  Support  as  alterna/ve  blueprin/ng  language  
  58. 58. @grkvlt   Roadmap   •  Networking   – DNS  and  DNSmasq  Integra/on   – Rancher  Integra/on   – Open  vSwitch  Integra/on   •  Gemng  Started   – Clocker  Dockerfile  
  59. 59. @grkvlt   Roadmap   •  Repositories   –  Docker  Enterprise  Hub   –  Bintray,  Ar/factory,  Quay.io   –  Private  Repositories   •  Applica/on  Defini/on   –  TOSCA   –  Docker  Compose  
  60. 60. @grkvlt   Roadmap   •  Plugin  API  will  be  helpful   •  Also  projects  like  Powerstrip   •  Provide  services  to  Docker  this  way   •  Orchestra/on   •  Policies   •  Consume  wider  range  of  services   •  Networking  and  Storage  
  61. 61. @grkvlt   Summary   •  Clocker   –  Brooklyn  +  jclouds  +  Docker  +  Weave  +  …   –  @clockercentral   •  Solves   –  Composite  Applica/on  Management   –  Docker  Cloud  Networking   –  Container  Placement  and  Provisioning  
  62. 62. QuesBons?  
  63. 63. @grkvlt   Web  Resources   http://clocker.io/   http://brooklyn.io/   http://docker.io/   http://github.com/zettio/weave/   http://abstractvisitorpattern.co.uk/   @clockercentral  @brooklyncentral  @cloudsoft  
  64. 64. Watch the video with slide synchronization on InfoQ.com! http://www.infoq.com/presentations/docker- cloud-clocker

×