Intorduction to clocker at cloudstack european user group

Post on 14-Sep-2014

218 views 1 download

Tags:

description

 

Transcript of Intorduction to clocker at cloudstack european user group

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