Upload
andrew-kennedy
View
309
Download
0
Embed Size (px)
DESCRIPTION
'Clocker: Docker in the Cloud' talk give at Edinburgh Docker Meetup in July 2014
Citation preview
Clocker: Docker in the Cloud
+
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
http://clocker.io/
• Introduc)on • Clocker
– Apache Brooklyn – Apache Jclouds – Docker
• Demonstra)ons
Copyright 2014 by Cloudsoft Corporation Limited
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.
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
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
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
Architecture
Copyright 2014 by Cloudsoft Corporation Limited
Simple Architecture
Copyright 2014 by Cloudsoft Corporation Limited
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
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
Demonstra)on
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
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
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
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
Demonstra)on
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
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
Ques>ons
• Thanks For Listening! • Ques)ons?
Copyright 2014 by Cloudsoft Corporation Limited
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