Upload
andrew-kennedy
View
127
Download
1
Embed Size (px)
DESCRIPTION
'Introducing Clocker' talk give at London CloudStack Meetup in June 2014
Citation preview
Using Apache Brooklyn and Docker in the Cloud
Introducing Clocker
Andrew Kennedy Andrea Turli Sam Corbett
CloudStack Meetup, 26 June 2014
26/06/2014 Copyright 2014 by Cloudsoft Corporation Limited Page: 2
Introduction
• New Project • Clocker
• Apache Brooklyn • Apache Jclouds • Docker
• Demonstrations
26/06/2014 Copyright 2014 by Cloudsoft Corporation Limited Page: 3
Apache Brooklyn
• Open Source • GitHub • Apache Incubator
• Autonomic Computing • Control Plane • Application Management • Entities
• Sensors • Effectors
• Locations 26/06/2014 Copyright 2014 by Cloudsoft Corporation Limited Page: 4
Apache Jclouds
• Cloud Library • Provider/API Agnostic • Providers
• Softlayer • Amazon EC2 • Rackspace ...
• API • CloudStack • OpenStack • vSphere …
26/06/2014 Copyright 2014 by Cloudsoft Corporation Limited Page: 5
Docker
• Containers • LXC • Solaris Zones • BSD Jails
• Lightweight Virtual Machines • Dockerfiles
• Composable
• Docker Hub • Canonical Images • User or Vendor Contributed
26/06/2014 Copyright 2014 by Cloudsoft Corporation Limited Page: 6
Virtual Containers
• Jclouds Driver • Virtual Machine • Nodes • Access over SSH
• Any Underlying Provider • Add SSH Service • Docker Host Access
• Command Line • REST API
26/06/2014 Copyright 2014 by Cloudsoft Corporation Limited Page: 7
Infrastructure
• Brooklyn Entity
• Docker Cloud
• Resizable Clusters • Hosts • Containers
• Installs Docker
• Creates Location
• Interception
• Forwards Ports
26/06/2014 Copyright 2014 by Cloudsoft Corporation Limited Page: 8
Architecture
26/06/2014 Copyright 2014 by Cloudsoft Corporation Limited Page: 9
Simple Architecture
26/06/2014 Copyright 2014 by Cloudsoft Corporation Limited Page: 10
Application
• Brooklyn Blueprints • YAML • Java Classes
• Entity Tree • SSH Commands • No Changes Needed
• Dockerfiles • Docker Configuration
• Automation
26/06/2014 Copyright 2014 by Cloudsoft Corporation Limited Page: 11
Configuration
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+"
26/06/2014 Copyright 2014 by Cloudsoft Corporation Limited Page: 12
Demonstration
26/06/2014 Copyright 2014 by Cloudsoft Corporation Limited Page: 13
Complex Applications
• Service Composition
• Multiple Entities
• Linking via Attributes
• Clusters and Groups
• Enrichers and Policies
• Example • Cassandra Multi-Region Deployment • Global Three-Tier Webapp • Apache Usergrid • OpenGamma
26/06/2014 Copyright 2014 by Cloudsoft Corporation Limited Page: 14
Placement
• Adding New Containers
• Choose Hosts Intelligently
• Placement Strategy
• Availability Zone • Docker Host
• Choices • Breadth First • Depth First • Minimum CPU Usage
• Affinity • DSL or API
26/06/2014 Copyright 2014 by Cloudsoft Corporation Limited Page: 15
Policy
• Data Based • Autoscaling • High Availability
• Entity Sensors • Cluster Aggregates
• Windowed Rolling Average • Too Hot or Cold • Fixed Limits
• Time Based • Follow The Sun
26/06/2014 Copyright 2014 by Cloudsoft Corporation Limited Page: 16
Demonstration
26/06/2014 Copyright 2014 by Cloudsoft Corporation Limited Page: 17
Roadmap
• Version 0.5.0 • Affinity Rules • Docker Hub Integration • CPU and Memory Shares • Volumes
• Version 0.6.0 • Software Defined Networking • Smart Import of Existing Hosts
• Future… • Libswarm? • Kubernetes? • You tell us!
26/06/2014 Copyright 2014 by Cloudsoft Corporation Limited Page: 18
Summary
• What is Clocker? • Brooklyn Docker Integration • Cloud Agnostic • CAMP Application Blueprints • Intelligent Placement • Automated Orchestration
26/06/2014 Copyright 2014 by Cloudsoft Corporation Limited Page: 19
Questions
• Thanks For Listening!
• Questions?
• Web Resources
https://github.com/brooklyncentral/clocker/releases/0.4.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
26/06/2014 Copyright 2014 by Cloudsoft Corporation Limited Page: 20