Download pdf - Clocker and OpenStack

Transcript
Page 1: Clocker and OpenStack

Clocker  and  OpenStack  Andrew  Kennedy,  Dave  Nielsen  and  Andrea  Turli  

OpenStack  Meetup,  19  August  2014    

Page 2: Clocker and OpenStack

IntroducCon  •  Speakers  

–  Andrew  Kennedy  and  Andrea  Turli  –  Dave  Neilsen  

•  Overview  –  Docker  –  Brooklyn  –  Campsite  –  OpenStack  

Page 3: Clocker and OpenStack

Docker  •  IntroducCon  •  Popularity  •  History  •  Ecosystem  

Page 4: Clocker and OpenStack

Docker  

Page 5: Clocker and OpenStack

Docker  •  Technical  •  Containers  •  Micro  Services  •  Dockerfiles  –  ConfiguraCon  –  Volumes  –  Composable  

Page 6: Clocker and OpenStack

Docker  •  Cloud  Usage  •  OpenStack  •  Manual  Process  

–  CredenCals  and  Keys  –  OperaCng  System  and  Hardware  –  Download  and  InstallaCon  –  ConfiguraCon  –  Dockerfile  per  Service  

Page 7: Clocker and OpenStack

Brooklyn  •  Brooklyn  

–  ApplicaCon  Management  PlaOorm  –  Autonomic  CompuCng  

•  YAML  Blueprint  –  Services  (EnCCes)  –  ConfiguraCon  –  ATributes  (Sensors)  –  AcCons  (Effectors)  

Page 8: Clocker and OpenStack

Clocker  •  Infrastructure  

–  Apache  jclouds  Supported  Cloud  with  CredenCals  

•  Docker  Host  –  Running  the  Docker  Service  –  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  EnCty  

Page 9: Clocker and OpenStack

Clocker  

Page 10: Clocker and OpenStack

DemonstraCon  

Deploying  a  Docker  Cloud  

Page 11: Clocker and OpenStack

Clocker  •  Demand  Side  

–  Create  a  New  Container  –  Resize  Cluster  of  EnCCes  –  AutoScaler  Policy  ATached  to  Cluster  

•  Supply  Side  –  Placement  Strategies  for  Containers  –  Depth  or  Breadth  First  –  Affinity  Rules  –  Resource  AllocaCon  (CPU  Shares,  Load,  Memory,  …)  

Page 12: Clocker and OpenStack

Clocker  •  ApplicaCon  Deployment  

–  CAMP  Blueprint  in  YAML  –  Java  Classes  –  Mostly  Unchanged  

•  Docker  Specific  ConfiguraCon  –  Affinity  Rules  or  Placement  Strategy  –  Dockerfile  or  Image  ID  –  CPU  or  Memory  Shares  –  Docker  Volumes  

Page 13: Clocker and OpenStack

DemonstraCon  

ApplicaCons  on  the  Docker  Cloud  

Page 14: Clocker and OpenStack

Campsite  ApplicaCon  •  GitHub  Repository  •  Components  

–  PHP  Web  ApplicaCon  –  Node.JS  RESTful  API  –  MySQL  Database  

•  Cloud  Services  –  Email  –  Message  Queue  –  Object  Store  

Page 15: Clocker and OpenStack

Campsite  Blueprint  id:  campsite-­‐application  locations:  -­‐  jclouds:hpcloud-­‐compute  services:  -­‐  serviceType:  brooklyn.entity.database.mysql.MySqlNode  -­‐  serviceType:  brooklyn.campsite.entity.CampsiteWebapp      brooklyn.config:          objectStorage:  AWSObjectStorage          queueService:  AWS_SQS          emailService:  AWS_SES          databaseHost:  $brooklyn:component("mysql").attributeWhenReady("host.name")          databasePort:  $brooklyn:component("mysql").attributeWhenReady("mysql.port")          databaseUser:  "campsite"          databasePassword:  "p4ssw0rd"          domainName:  "campsite.org"  -­‐  serviceType:  brooklyn.campsite.entity.CampsiteApi  

Page 16: Clocker and OpenStack

Campsite  Blueprint  •  Java  Components  

–  CampsiteWebapp  PHP  EnCty  –  CampsiteApi  Node.JS  EnCty  

•  Campsite  ApplicaCon  –  ConfiguraCon  ProperCes  –  Webapp,  API  and  MySQL  Database  EnCCes  

•  YAML  Blueprint  

Page 17: Clocker and OpenStack

DemonstraCon  

Campsite  Deployment  

Page 18: Clocker and OpenStack

Campsite  Cluster  •  Add  Cluster  CapabiliCes  •  No  Extra  Coding  

–  Just  Write  YAML  Blueprint  –  CampsiteWebapp  Already  Set  Up  –  Stateless  Service  (Uses  SQL  Database)  –  Only  Run  Database  Create  and  Install  Once  

•  New  Services  –  Nginx  Load  Balancer  EnCty  –  Rabbit  MQ  Broker  EnCty  

Page 19: Clocker and OpenStack

DemonstraCon  

Campsite  Cluster  Blueprint  

Page 20: Clocker and OpenStack

Summary  •  Docker  Containers  – Micro  Services  

•  LimitaCons  – MulCple  Hosts  – Management  

•  Clocker  –  ApplicaCon  Blueprints  –  OrchestraCon  

Page 21: Clocker and OpenStack

Web  Resources  http://clocker.io/  

http://brooklyn.io/  

https://github.com/brooklyncentral/campsite/  

https://github.com/dnielsen/campapp/  

http://docker.io/  

http://davenielsen.wordpress.com    


Recommended