Top Banner
Using Apache Brooklyn and Docker in the Cloud Introducing Clocker
20

Intorduction to clocker at cloudstack european user group

Sep 14, 2014

Download

Technology

 
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Intorduction to clocker at cloudstack european user group

Using Apache Brooklyn and Docker in the Cloud

Introducing Clocker

Page 2: Intorduction to clocker at cloudstack european user group

Andrew Kennedy Andrea Turli Sam Corbett

CloudStack Meetup, 26 June 2014

26/06/2014 Copyright 2014 by Cloudsoft Corporation Limited Page: 2

Page 3: Intorduction to clocker at cloudstack european user group

Introduction

•  New Project •  Clocker

•  Apache Brooklyn •  Apache Jclouds •  Docker

•  Demonstrations

26/06/2014 Copyright 2014 by Cloudsoft Corporation Limited Page: 3

Page 4: Intorduction to clocker at cloudstack european user group

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

Page 5: Intorduction to clocker at cloudstack european user group

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

Page 6: Intorduction to clocker at cloudstack european user group

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

Page 7: Intorduction to clocker at cloudstack european user group

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

Page 8: Intorduction to clocker at cloudstack european user group

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

Page 9: Intorduction to clocker at cloudstack european user group

Architecture

26/06/2014 Copyright 2014 by Cloudsoft Corporation Limited Page: 9

Page 10: Intorduction to clocker at cloudstack european user group

Simple Architecture

26/06/2014 Copyright 2014 by Cloudsoft Corporation Limited Page: 10

Page 11: Intorduction to clocker at cloudstack european user group

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

Page 12: Intorduction to clocker at cloudstack european user group

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

Page 13: Intorduction to clocker at cloudstack european user group

Demonstration

26/06/2014 Copyright 2014 by Cloudsoft Corporation Limited Page: 13

Page 14: Intorduction to clocker at cloudstack european user group

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

Page 15: Intorduction to clocker at cloudstack european user group

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

Page 16: Intorduction to clocker at cloudstack european user group

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

Page 17: Intorduction to clocker at cloudstack european user group

Demonstration

26/06/2014 Copyright 2014 by Cloudsoft Corporation Limited Page: 17

Page 18: Intorduction to clocker at cloudstack european user group

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

Page 19: Intorduction to clocker at cloudstack european user group

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

Page 20: Intorduction to clocker at cloudstack european user group

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