Top Banner
Andrea Turli Clocker: The Docker Cloud Maker [email protected] @turlinux - Cloudsoft Corporation ROME 27-28 march 2015
47

Clocker, the Docker Cloud Maker - Andrea Turli - Codemotion Rome 2015

Jul 15, 2015

Download

Software

Codemotion
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: Clocker, the Docker Cloud Maker - Andrea Turli - Codemotion Rome 2015

Andrea Turli

Clocker: The Docker Cloud Maker

[email protected] @turlinux - Cloudsoft Corporation

ROME 27-28 march 2015

Page 2: Clocker, the Docker Cloud Maker - Andrea Turli - Codemotion Rome 2015

ROME 27-28 march 2015 – @turlinux

About meAndrea Turli

Software Engineer

Open Source passionate

github.com/andreaturli

Open Source Application Management Specialists

We’re Hiring…

Page 3: Clocker, the Docker Cloud Maker - Andrea Turli - Codemotion Rome 2015

ROME 27-28 march 2015 – @turlinux

AgendaClocker Introduction

What is a Docker Cloud?

Demonstration

Advanced features

Page 4: Clocker, the Docker Cloud Maker - Andrea Turli - Codemotion Rome 2015

ROME 27-28 march 2015 – @turlinux

Clocker Introduction

Page 5: Clocker, the Docker Cloud Maker - Andrea Turli - Codemotion Rome 2015

ROME 27-28 march 2015 – @turlinux

Open Source Apache 2.0 Licensedjava http://clocker.io @clockercentral

Status

Started by @grkvlt and @turlinux ~500 total commits~10 contributors+37 forks on GitHub

Page 6: Clocker, the Docker Cloud Maker - Andrea Turli - Codemotion Rome 2015

ROME 27-28 march 2015 – @turlinux

Where to find it @clockercentral

#brooklyncentral on IRC freenode

Releases 0.8.0 Developer Preview NOW http://git.io/jGhs0.8.0 final SOON 0.9.0 WIP

Page 7: Clocker, the Docker Cloud Maker - Andrea Turli - Codemotion Rome 2015

ROME 27-28 march 2015 – @turlinux

What does it do? 1. Spins up and Manages Docker Clouds 2. Serves up Containers on Demand 3. Manages Composite Application

Deployments on Docker

Page 8: Clocker, the Docker Cloud Maker - Andrea Turli - Codemotion Rome 2015

ROME 27-28 march 2015 – @turlinux

What does it provide? Multi Host and Multi Container Applications Seamless NetworkingCommunication Between Services

Orchestration and Clustering Control of ContainersContainer Management

Page 9: Clocker, the Docker Cloud Maker - Andrea Turli - Codemotion Rome 2015

ROME 27-28 march 2015 – @turlinux

Who is using it? Testing and Proof of Concept Stage Financial ServicesInsurance

Production Push Technology: Multi-tenant Application Trial

Page 10: Clocker, the Docker Cloud Maker - Andrea Turli - Codemotion Rome 2015

ROME 27-28 march 2015 – @turlinux

What’s Clocker?

Page 11: Clocker, the Docker Cloud Maker - Andrea Turli - Codemotion Rome 2015

ROME 27-28 march 2015 – @turlinux

Standing on the shoulders of the giants

Page 12: Clocker, the Docker Cloud Maker - Andrea Turli - Codemotion Rome 2015

ROME 27-28 march 2015 – @turlinux

Open Source Apache 2.0 LicensedDonated to ASF - Incubator Projecthttp://brooklyn.io @brooklyncentral

Status Founded by Alex Heneveld and Aled Sage~11K total commits~40 contributors+50 forks on GitHub

Page 13: Clocker, the Docker Cloud Maker - Andrea Turli - Codemotion Rome 2015

ROME 27-28 march 2015 – @turlinux

Application Management Platform Hierarchical autonomic management

Monitor–Analyse–Plan–Execute (MAPE-K) control loop approach for self-adaptive software systems

Deploy, Manage and Monitor Blueprints

Page 14: Clocker, the Docker Cloud Maker - Andrea Turli - Codemotion Rome 2015

ROME 27-28 march 2015 – @turlinux

Blueprint Capture an application’s initial topology plus policies

Topology Entity wiring, groupings and management hierarchy

Policy Governs an app’s behavior e.g. Cluster Management, Resilience and Failover, Follow the sun

Location Target environment for blueprint instantiation

Page 15: Clocker, the Docker Cloud Maker - Andrea Turli - Codemotion Rome 2015

ROME 27-28 march 2015 – @turlinux

Page 16: Clocker, the Docker Cloud Maker - Andrea Turli - Codemotion Rome 2015

ROME 27-28 march 2015 – @turlinux

Open Source Apache 2.0 LicensedDonated to ASF - Top Level Projecthttp://jclouds.org

Status Started on April 2009 by Adrian Cole+12K total commits~200 contributors (65 last year) +200 forks on GitHub

latest stable release 1.8.1

Page 17: Clocker, the Docker Cloud Maker - Andrea Turli - Codemotion Rome 2015

ROME 27-28 march 2015 – @turlinux

An open source multi-cloud toolkit for the Java platform

Portable abstractions: Compute, BlobStore, LoadBalancer

Page 18: Clocker, the Docker Cloud Maker - Andrea Turli - Codemotion Rome 2015

ROME 27-28 march 2015 – @turlinux

Compute Abstraction

Page 19: Clocker, the Docker Cloud Maker - Andrea Turli - Codemotion Rome 2015

ROME 27-28 march 2015 – @turlinux

jclouds-docker @turlinux https://github.com/jclouds/jclouds-labs in 1.8.1 and 1.9.0

This initial work kicked off Clocker

Page 20: Clocker, the Docker Cloud Maker - Andrea Turli - Codemotion Rome 2015

ROME 27-28 march 2015 – @turlinux

Open Source Apache 2.0 Licensedhttps://www.docker.com/

Status Started on March 2015 by Dotcloud+14K total commits~840 contributors +4300 forks on GitHub

Page 21: Clocker, the Docker Cloud Maker - Andrea Turli - Codemotion Rome 2015

ROME 27-28 march 2015 – @turlinux

Containers Isolation, Performance, Composable

Page 22: Clocker, the Docker Cloud Maker - Andrea Turli - Codemotion Rome 2015

ROME 27-28 march 2015 – @turlinux

Docker Networking 101

Natively, each container runs isolated

A bridged network is provided by Docker

Exposing ports

Port Forwarding (mapping port) to “external interface”

what if I have a cluster of components that wants to use the same port?

Page 23: Clocker, the Docker Cloud Maker - Andrea Turli - Codemotion Rome 2015

ROME 27-28 march 2015 – @turlinux

Docker Networking

Page 24: Clocker, the Docker Cloud Maker - Andrea Turli - Codemotion Rome 2015

ROME 27-28 march 2015 – @turlinux

Host to Host Communication Same LAN Segment

No Port Forwarding

Natural Application Configuration

Initial Driver was Erlang Distributed Protocol and EPMD based Applications

Uses Available Provider Currently Weave, IBM Dove Metaswitch Calico in upcoming release

Software Defined Networking

Page 25: Clocker, the Docker Cloud Maker - Andrea Turli - Codemotion Rome 2015

ROME 27-28 march 2015 – @turlinux

Software Defined NetworkingOverlay Networks Weave

Ethernet Switch

User Space Docker Container

Routes TCP Traffic

Forwards over TCP

Page 26: Clocker, the Docker Cloud Maker - Andrea Turli - Codemotion Rome 2015

ROME 27-28 march 2015 – @turlinux

What is a Docker Cloud?

Page 27: Clocker, the Docker Cloud Maker - Andrea Turli - Codemotion Rome 2015

ROME 27-28 march 2015 – @turlinux

Clocker Orchestration

Virtual Machine

Container

Network Segment

Docker Engine

SDN

Cloud

Clocker

Page 28: Clocker, the Docker Cloud Maker - Andrea Turli - Codemotion Rome 2015

ROME 27-28 march 2015 – @turlinux

Docker CloudWhat is it?

Brooklyn Blueprint Brooklyn Location

Page 29: Clocker, the Docker Cloud Maker - Andrea Turli - Codemotion Rome 2015

ROME 27-28 march 2015 – @turlinux

Demo Building a Docker Cloud

Page 30: Clocker, the Docker Cloud Maker - Andrea Turli - Codemotion Rome 2015

ROME 27-28 march 2015 – @turlinux

Page 31: Clocker, the Docker Cloud Maker - Andrea Turli - Codemotion Rome 2015

ROME 27-28 march 2015 – @turlinux

Page 32: Clocker, the Docker Cloud Maker - Andrea Turli - Codemotion Rome 2015

ROME 27-28 march 2015 – @turlinux

Demo Deploying an application

on a Docker Cloud

Page 33: Clocker, the Docker Cloud Maker - Andrea Turli - Codemotion Rome 2015

ROME 27-28 march 2015 – @turlinux

Page 34: Clocker, the Docker Cloud Maker - Andrea Turli - Codemotion Rome 2015

ROME 27-28 march 2015 – @turlinux

Page 35: Clocker, the Docker Cloud Maker - Andrea Turli - Codemotion Rome 2015

ROME 27-28 march 2015 – @turlinux

DebriefOrchestrated Docker 1.5.0 deployment with Weave SDN integration

Automated application deployment over containers provisioned on multiple Docker Hosts

Automated attachment of containers to multiple dynamic networks created on-the-fly by the SDN provider

Page 36: Clocker, the Docker Cloud Maker - Andrea Turli - Codemotion Rome 2015

ROME 27-28 march 2015 – @turlinux

Advanced featuresContainer Management

Container Placement

Provisioning

Headroom

Networks

Page 37: Clocker, the Docker Cloud Maker - Andrea Turli - Codemotion Rome 2015

ROME 27-28 march 2015 – @turlinux

Advanced featuresContainer Management

Sources

Docker Image DefinitionDocker HubDockerfileBrooklyn Entity Definition

Create Image Automatically

Page 38: Clocker, the Docker Cloud Maker - Andrea Turli - Codemotion Rome 2015

ROME 27-28 march 2015 – @turlinux

Advanced featuresPlacement Strategies and Headroom

Random, Depth or Breadth FirstCPU or Memory UsageMemory, CPU or Container LimitsGeographic Constraints

Page 39: Clocker, the Docker Cloud Maker - Andrea Turli - Codemotion Rome 2015

ROME 27-28 march 2015 – @turlinux

Advanced featuresNetworking Capabilities

Pluggable Providers

Weave, Metaswitch Calico, IBM OpenDOVE, SocketPlane, …

Multiple Networks provisioning

Single Application or Shared,Private Addresses,Segmented by CIDR

- type: brooklyn.networking.VirtualNetwork networkId: my-application cidr: 192.168.12.0/24 gateway: 192.168.12.1 dnsServers: - 8.8.8.8 brooklyn.config: sdn.example.securityGroup: "my-security-group"

Page 40: Clocker, the Docker Cloud Maker - Andrea Turli - Codemotion Rome 2015

ROME 27-28 march 2015 – @turlinux

Advanced featuresAdvanced networking capabilites

IP Pool Controlled by Clocker

Clocker Controls Subnet Allocation

Applications Segmented by CIDR

Page 41: Clocker, the Docker Cloud Maker - Andrea Turli - Codemotion Rome 2015

ROME 27-28 march 2015 – @turlinux

SummaryClocker

Brooklyn + jclouds + Docker + Weave + …

@clockercentral

solves Composite Application Management

Docker Cloud Networking

Container Placement and Provisioning

Page 42: Clocker, the Docker Cloud Maker - Andrea Turli - Codemotion Rome 2015

ROME 27-28 march 2015 – @turlinux

Clocker Roadmap

Page 43: Clocker, the Docker Cloud Maker - Andrea Turli - Codemotion Rome 2015

ROME 27-28 march 2015 – @turlinux

RoadmapLatest Docker 1.5.0 Feature Support

Stats command, Read-only containers, Named Dockerfiles and more

Consume wider range of services Networking and Storage for volumes management (Flocker?)

Docker Compose (aka Fig) and OASIS TOSCA YAML Support as alternative blueprinting language

Page 44: Clocker, the Docker Cloud Maker - Andrea Turli - Codemotion Rome 2015

ROME 27-28 march 2015 – @turlinux

RoadmapNetworking

DNS and DNSmasq Integration

Rancher Integration

Open vSwitch Integration

Repositories Docker Enterprise Hub, Bintray, Artifactory, Quay.io

Private Repositories

Page 45: Clocker, the Docker Cloud Maker - Andrea Turli - Codemotion Rome 2015

ROME 27-28 march 2015 – @turlinux

Questions?

Page 46: Clocker, the Docker Cloud Maker - Andrea Turli - Codemotion Rome 2015

ROME 27-28 march 2015 – @turlinux

Web Resourceshttp://clocker.io/

http://brooklyn.io/

http://jclouds.org/

http://docker.io/

http://github.com/zettio/weave/

http://abstractvisitorpattern.co.uk/

Page 47: Clocker, the Docker Cloud Maker - Andrea Turli - Codemotion Rome 2015

ROME 27-28 march 2015 – @turlinux

Leave your feedback on Joind.in! https://joind.in/event/view/3347