clocker, the docker cloud maker - andrea turli - codemotion rome 2015

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

Upload: codemotion

Post on 15-Jul-2015

228 views

Category:

Software


2 download

TRANSCRIPT

Andrea Turli

Clocker: The Docker Cloud Maker

[email protected] @turlinux - Cloudsoft Corporation

ROME 27-28 march 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…

ROME 27-28 march 2015 – @turlinux

AgendaClocker Introduction

What is a Docker Cloud?

Demonstration

Advanced features

ROME 27-28 march 2015 – @turlinux

Clocker Introduction

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

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

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

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

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

ROME 27-28 march 2015 – @turlinux

What’s Clocker?

ROME 27-28 march 2015 – @turlinux

Standing on the shoulders of the giants

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

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

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

ROME 27-28 march 2015 – @turlinux

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

ROME 27-28 march 2015 – @turlinux

An open source multi-cloud toolkit for the Java platform

Portable abstractions: Compute, BlobStore, LoadBalancer

ROME 27-28 march 2015 – @turlinux

Compute Abstraction

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

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

ROME 27-28 march 2015 – @turlinux

Containers Isolation, Performance, Composable

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?

ROME 27-28 march 2015 – @turlinux

Docker Networking

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

ROME 27-28 march 2015 – @turlinux

Software Defined NetworkingOverlay Networks Weave

Ethernet Switch

User Space Docker Container

Routes TCP Traffic

Forwards over TCP

ROME 27-28 march 2015 – @turlinux

What is a Docker Cloud?

ROME 27-28 march 2015 – @turlinux

Clocker Orchestration

Virtual Machine

Container

Network Segment

Docker Engine

SDN

Cloud

Clocker

ROME 27-28 march 2015 – @turlinux

Docker CloudWhat is it?

Brooklyn Blueprint Brooklyn Location

ROME 27-28 march 2015 – @turlinux

Demo Building a Docker Cloud

ROME 27-28 march 2015 – @turlinux

ROME 27-28 march 2015 – @turlinux

ROME 27-28 march 2015 – @turlinux

Demo Deploying an application

on a Docker Cloud

ROME 27-28 march 2015 – @turlinux

ROME 27-28 march 2015 – @turlinux

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

ROME 27-28 march 2015 – @turlinux

Advanced featuresContainer Management

Container Placement

Provisioning

Headroom

Networks

ROME 27-28 march 2015 – @turlinux

Advanced featuresContainer Management

Sources

Docker Image DefinitionDocker HubDockerfileBrooklyn Entity Definition

Create Image Automatically

ROME 27-28 march 2015 – @turlinux

Advanced featuresPlacement Strategies and Headroom

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

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"

ROME 27-28 march 2015 – @turlinux

Advanced featuresAdvanced networking capabilites

IP Pool Controlled by Clocker

Clocker Controls Subnet Allocation

Applications Segmented by CIDR

ROME 27-28 march 2015 – @turlinux

SummaryClocker

Brooklyn + jclouds + Docker + Weave + …

@clockercentral

solves Composite Application Management

Docker Cloud Networking

Container Placement and Provisioning

ROME 27-28 march 2015 – @turlinux

Clocker Roadmap

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

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

ROME 27-28 march 2015 – @turlinux

Questions?

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/

ROME 27-28 march 2015 – @turlinux

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