clocker, the docker cloud maker - andrea turli - codemotion rome 2015
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
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
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
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
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
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
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
Clocker Orchestration
Virtual Machine
Container
Network Segment
Docker Engine
SDN
Cloud
Clocker
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
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
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