Intorduction to clocker at cloudstack european user group

20
Using Apache Brooklyn and Docker in the Cloud Introducing Clocker
  • date post

    14-Sep-2014
  • Category

    Technology

  • view

    218
  • download

    1

description

 

Transcript of Intorduction to clocker at cloudstack european user group

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