SlideShare ist ein Scribd-Unternehmen logo
1 von 50
Downloaden Sie, um offline zu lesen
Clocker 
The 
Docker 
Cloud 
Maker
Clocker 
The 
Docker 
Cloud 
Maker 
Andrew 
Kennedy 
@grkvlt
@grkvlt 
Introduc/on 
• Andrew 
Kennedy 
– So6ware 
Engineer 
– Open 
Source 
and 
Distributed 
Systems 
– github.com/grkvlt 
• Cloudso6 
Corpora/on 
– Open 
Source 
Applica/on 
Management 
Specialists 
– We’re 
Hiring…
@grkvlt 
Agenda 
• Overview 
• Components 
• Deep 
Dive 
• Demonstra/on 
• Roadmap
Clocker 
Overview
@grkvlt 
What 
does 
it 
do? 
1. Spins 
up 
and 
Manages 
Docker 
Clouds 
2. Serves 
up 
Containers 
on 
Demand 
3. Manages 
Composite 
Applica/on 
Deployments 
on 
Docker
@grkvlt 
What 
does 
it 
provide? 
• Mul/ 
Host 
and 
Mul/ 
Container 
Applica/ons 
• Seamless 
Networking 
– Communica/on 
Between 
Services 
• Orchestra/on 
and 
Clustering 
– Control 
of 
Containers 
– Container 
Management
@grkvlt 
Who 
is 
using 
it? 
• Tes/ng 
and 
Proof 
of 
Concept 
Stage 
– Financial 
Services 
– Insurance 
• Produc/on 
– Mul/-­‐tenant 
Applica/on 
Trial 
– Container 
per 
service 
– Via 
IBM 
BlueMix
@grkvlt 
Where 
can 
I 
find 
it? 
• Open 
Source 
• Apache 
2.0 
Licensed 
• hZp://clocker.io 
• Status 
• 0.7.0 
Beta 
Release 
• 0.8.0-­‐SNAPSHOT 
Development
Clocker 
Components
@grkvlt 
Clocker 
and 
Brooklyn 
• What 
is 
it? 
– Brooklyn 
Applica/on 
– Brooklyn 
Loca/on 
• What 
does 
it 
provide? 
– First 
Class 
Docker 
Support 
in 
Brooklyn 
– Op/mized 
Brooklyn 
Blueprints 
for 
Docker
Apache 
Brooklyn 
• Apache 
Brooklyn 
– Open 
Source 
– Java 
– Donated 
to 
the 
Apache 
So6ware 
Founda/on 
– ASF 
Incubator 
Status
@grkvlt 
Apache 
Brooklyn 
• Applica/on 
Management 
Pla^orm 
• Deploy, 
Manage 
and 
Monitor 
Blueprints 
• Provisioning, 
Installa/on 
and 
Customiza/on 
• Management 
– AutoScaling, 
Resilience, 
Performance, 
Security
Apache 
jclouds 
• Java 
Cloud 
Library 
• API 
Agnos/c 
– CloudStack, 
OpenStack, 
AWS 
EC2, 
GCE… 
• Create 
Virtual 
Machines 
– Return 
SSH 
Endpoint 
– Manage 
Proper/es
@grkvlt 
Apache 
jclouds 
• Drivers 
for 
REST 
APIs 
• Docker 
Driver 
– WriZen 
by 
@turlinux 
• Virtual 
Container 
– Using 
SSH 
Daemon 
– Same 
Endpoint 
Type 
as 
VM 
– Composi/on 
on 
any 
Image 
or 
Dockerfile
@grkvlt 
Docker 
Networking 
101 
• Separate 
Container 
Network 
• RFC 
1918 
Private 
Addresses 
• Non 
Routable 
• Bridged 
to 
Host 
• Port 
Forwarding 
• Mul/ple 
Endpoints 
for 
Services
Docker 
Topology
@grkvlt 
So6ware 
Defined 
Networking 
• Overlay 
Networks 
• Kernel 
or 
User 
Space 
• Many 
Op/ons 
– Pipework 
– SocketPlane 
– Flannel 
– Open 
vSwitch 
– Weave
Weave 
Topology
@grkvlt 
Weave 
• Ethernet 
Switch 
– User 
Space 
– Docker 
Container 
• Mesh 
Topology 
• Routes 
TCP 
Traffic 
– Sniffs 
on 
Host 
– Forwards 
over 
TCP
Weave
Clocker 
Deep 
Dive
Clocker 
Architecture
Clocker 
Architecture
@grkvlt 
Clocker 
Features 
• Applica/on 
Deployment 
– Oasis 
CAMP 
YAML 
Blueprint 
– TOSCA 
in 
Development 
– Same 
as 
Core 
Brooklyn 
• Mixed 
Des/na/ons 
– Some 
Virtual 
Machines 
– Some 
Bare 
Metal 
– Some 
Containers
@grkvlt 
Clocker 
Features 
• Docker 
Extensions 
– Container 
or 
Image 
– Placement 
Strategy 
– Dockerfiles 
• Manages 
Docker 
– Cloud 
Deployment 
– Configura/on 
– Run/me 
Control
@grkvlt 
Container 
Management 
• Sources 
– Docker 
Image 
Defini/on 
– Docker 
Hub 
– Dockerfile 
– Brooklyn 
En/ty 
Defini/on 
• Create 
Image 
Automa/cally 
– Commit 
or 
Push 
for 
Reuse
@grkvlt 
Container 
Management 
• Installa/on 
of 
Services 
– Defined 
by 
Brooklyn 
or 
Dockerfile 
– Common 
to 
all 
En/ty 
Instances 
• Commit 
Image 
– Available 
for 
next 
En/ty 
• Push 
Image 
– Available 
for 
all 
Hosts
Container 
Management 
id: 
dockerfile-­‐mysql 
name: 
"Docker 
Hub 
MySQL 
Application" 
origin: 
"https://registry.hub.docker.com/_/mysql/" 
locations: 
-­‐ 
my-­‐docker-­‐cloud 
services: 
-­‐ 
serviceType: 
brooklyn.entity.container.docker.application.DockerfileApplication 
id: 
mysql 
name: 
"MySQL" 
brooklyn.config: 
docker.dockerfile.url: 
"https://s3-­‐eu-­‐west-­‐1.amazonaws.com/brooklyn-­‐clocker/mysql-­‐5.6.tgz" 
docker.container.environment: 
MYSQL_ROOT_PASSWORD: 
"s3cr3t”
@grkvlt 
Container 
Placement 
• Demand 
– Adding 
an 
Applica/on 
– Scaling 
exis/ng 
Applica/on 
• Requirements 
– Host 
Loca/on 
– Service 
Resources 
– CPU, 
Memory
@grkvlt 
Container 
Placement 
• Supply 
– Choose 
a 
Host 
from 
available 
– Create 
new 
Host 
• Start 
Container 
– Set 
CPU 
and 
Memory 
– AZach 
to 
Network
@grkvlt 
Container 
Placement 
• Placement 
Strategies 
– Filter 
Hosts 
– Sort 
Hosts 
• Informa/on 
from 
– Docker 
– Underlying 
Machine 
– Cloud 
Environment 
– En/ty 
or 
Service
@grkvlt 
Container 
Placement 
• Placement 
Strategies 
– Random, 
Depth 
or 
Breadth 
First 
– CPU 
or 
Memory 
Usage 
– Memory, 
CPU 
or 
Container 
Limits 
– Geographic 
Constraints 
• User 
Defined 
– Java 
Predicate
Placement 
Strategy 
• Determinis/c 
• Simple 
– Predicate 
and 
Comparator 
docker.container.strategies: 
-­‐ 
$brooklyn:object: 
type: 
"brooklyn.location.docker.strategy.MaxContainersPlacementStrategy” 
brooklyn.config: 
maxContainers: 
16 
-­‐ 
$brooklyn:object: 
type: 
"brooklyn.location.docker.strategy.CpuUsagePlacementStrategy” 
brooklyn.config: 
maxCpu: 
0.75
@grkvlt 
Container 
Provisioning 
• Provisioning 
Strategy 
– New 
Docker 
Host 
Loca/on 
• Constraints 
– Docker 
Infrastructure 
Constraints 
– En/ty 
or 
Applica/on 
Constraints 
• User 
Defined 
Strategies 
• Intelligent 
Container 
Orchestra/on
@grkvlt 
Container 
Provisioning 
• Headroom 
– Ensure 
resources 
available 
– Based 
on 
MaxContainers 
strategy 
limit 
– Or 
CPU 
and 
RAM 
alloca/on 
• Scale 
Docker 
Host 
Cluster 
Automa/cally 
– Add 
new 
Docker 
hosts 
– Remove 
empty 
Docker 
hosts
@grkvlt 
Networking 
• Shared 
Weave 
LAN 
– Common 
to 
All 
Containers 
– Private 
(Link 
Local) 
Addresses 
• Clocker 
Controls 
IP 
Alloca/on 
– Applica/ons 
Segmented 
by 
CIDR 
• Docker 
Port 
Forwarding 
Access
@grkvlt 
Networking 
• Work 
in 
Progress 
• Name 
Resolu/on 
– BIND 
and 
DNSmasq 
or 
Weave 
DNS 
– Needed 
for 
JMX 
et 
al 
– Enables 
Many 
More 
En//es 
• Adding 
More 
Supported 
Blueprints
Demonstra>on
@grkvlt 
Roadmap 
• Latest 
Docker 
Feature 
Support 
• Swarm 
– Same 
API 
– Can 
re-­‐use 
our 
jclouds 
Driver 
• Machine 
– Cloud 
agnos/c 
provisioning 
via 
jclouds 
already 
– Could 
support 
as 
an 
op/on
@grkvlt 
Roadmap 
• Networking 
– DNS 
and 
DNSmasq 
Integra/on 
– Rancher 
Integra/on 
– Open 
vSwitch 
Integra/on 
• Gelng 
Started 
– Clocker 
Dockerfile
@grkvlt 
Roadmap 
• Repositories 
– Docker 
Repository 
– Bintray, 
Ar/factory, 
Quay.io 
– Private 
Repositories 
• Applica/on 
Defini/on 
– TOSCA 
– Fig
@grkvlt 
Roadmap 
• Plugin 
API 
may 
be 
helpful? 
• Provide 
services 
to 
Docker 
this 
way 
• Orchestra/on 
• Policies 
• Consume 
wider 
range 
of 
services 
• Networking
@grkvlt 
Summary 
• Clocker 
– Brooklyn 
+ 
jclouds 
+ 
Docker 
+ 
Weave 
+ 
… 
– @clockercentral 
• Solves 
– Composite 
Applica/on 
Management 
– Docker 
Cloud 
Networking 
– Container 
Placement 
and 
Provisioning
@grkvlt 
Audience 
Ques/ons? 
1. What 
networking 
features 
would 
make 
Docker 
easier 
to 
use? 
2. What 
other 
features 
would 
be 
most 
useful 
to 
enhance 
Docker 
usability? 
3. Will 
you 
be 
tes/ng 
Swarm 
and 
Machine 
or 
would 
you 
prefer 
an 
external 
orchestra/on 
tool?
@grkvlt 
Web 
Resources 
http://clocker.io/ 
http://brooklyn.io/ 
http://docker.io/ 
http://github.com/zettio/weave/ 
http://abstractvisitorpattern.co.uk/ 
https://speakerdeck.com/grkvlt/clocker-­‐the-­‐ 
docker-­‐cloud-­‐maker
Thanks! 
Ques>ons?

Weitere ähnliche Inhalte

Was ist angesagt?

(Draft) Kubernetes - A Comprehensive Overview
(Draft) Kubernetes - A Comprehensive Overview(Draft) Kubernetes - A Comprehensive Overview
(Draft) Kubernetes - A Comprehensive OverviewBob Killen
 
Evolution of containers to kubernetes
Evolution of containers to kubernetesEvolution of containers to kubernetes
Evolution of containers to kubernetesKrishna-Kumar
 
The Operator Pattern - Managing Stateful Services in Kubernetes
The Operator Pattern - Managing Stateful Services in KubernetesThe Operator Pattern - Managing Stateful Services in Kubernetes
The Operator Pattern - Managing Stateful Services in KubernetesQAware GmbH
 
Container Orchestration with Docker Swarm and Kubernetes
Container Orchestration with Docker Swarm and KubernetesContainer Orchestration with Docker Swarm and Kubernetes
Container Orchestration with Docker Swarm and KubernetesWill Hall
 
Kubernetes One-Click Deployment: Hands-on Workshop (Munich)
Kubernetes One-Click Deployment: Hands-on Workshop (Munich)Kubernetes One-Click Deployment: Hands-on Workshop (Munich)
Kubernetes One-Click Deployment: Hands-on Workshop (Munich)QAware GmbH
 
Microservices with docker swarm and consul
Microservices with docker swarm and consulMicroservices with docker swarm and consul
Microservices with docker swarm and consulNguyen Sy Thanh Son
 
Kubernetes intro public - kubernetes user group 4-21-2015
Kubernetes intro   public - kubernetes user group 4-21-2015Kubernetes intro   public - kubernetes user group 4-21-2015
Kubernetes intro public - kubernetes user group 4-21-2015reallavalamp
 
Kubernetes intro public - kubernetes meetup 4-21-2015
Kubernetes intro   public - kubernetes meetup 4-21-2015Kubernetes intro   public - kubernetes meetup 4-21-2015
Kubernetes intro public - kubernetes meetup 4-21-2015Rohit Jnagal
 
Kubernetes Architecture
 Kubernetes Architecture Kubernetes Architecture
Kubernetes ArchitectureKnoldus Inc.
 
Seamless scaling of Kubernetes nodes
Seamless scaling of Kubernetes nodesSeamless scaling of Kubernetes nodes
Seamless scaling of Kubernetes nodesMarko Bevc
 
Introducing Docker Swarm - the orchestration tool by Docker
Introducing Docker Swarm - the orchestration tool by DockerIntroducing Docker Swarm - the orchestration tool by Docker
Introducing Docker Swarm - the orchestration tool by DockerRamit Surana
 
Kubernetes: The Next Research Platform
Kubernetes: The Next Research PlatformKubernetes: The Next Research Platform
Kubernetes: The Next Research PlatformBob Killen
 
Kubernetes on CloudStack with coreOS
Kubernetes on CloudStack with coreOSKubernetes on CloudStack with coreOS
Kubernetes on CloudStack with coreOSSebastien Goasguen
 
Intro to cluster scheduler for Linux containers
Intro to cluster scheduler for Linux containersIntro to cluster scheduler for Linux containers
Intro to cluster scheduler for Linux containersKumar Gaurav
 
Scaling docker with kubernetes
Scaling docker with kubernetesScaling docker with kubernetes
Scaling docker with kubernetesLiran Cohen
 
Kubernetes Architecture | Understanding Kubernetes Components | Kubernetes Tu...
Kubernetes Architecture | Understanding Kubernetes Components | Kubernetes Tu...Kubernetes Architecture | Understanding Kubernetes Components | Kubernetes Tu...
Kubernetes Architecture | Understanding Kubernetes Components | Kubernetes Tu...Edureka!
 
Multi-Clusters Made Easy with Liqo:
Getting Rid of Your Clusters Keeping Them...
Multi-Clusters Made Easy with Liqo:
Getting Rid of Your Clusters Keeping Them...Multi-Clusters Made Easy with Liqo:
Getting Rid of Your Clusters Keeping Them...
Multi-Clusters Made Easy with Liqo:
Getting Rid of Your Clusters Keeping Them...KCDItaly
 

Was ist angesagt? (20)

(Draft) Kubernetes - A Comprehensive Overview
(Draft) Kubernetes - A Comprehensive Overview(Draft) Kubernetes - A Comprehensive Overview
(Draft) Kubernetes - A Comprehensive Overview
 
Evolution of containers to kubernetes
Evolution of containers to kubernetesEvolution of containers to kubernetes
Evolution of containers to kubernetes
 
Kubernetes @ meetic
Kubernetes @ meeticKubernetes @ meetic
Kubernetes @ meetic
 
The Operator Pattern - Managing Stateful Services in Kubernetes
The Operator Pattern - Managing Stateful Services in KubernetesThe Operator Pattern - Managing Stateful Services in Kubernetes
The Operator Pattern - Managing Stateful Services in Kubernetes
 
Container Orchestration with Docker Swarm and Kubernetes
Container Orchestration with Docker Swarm and KubernetesContainer Orchestration with Docker Swarm and Kubernetes
Container Orchestration with Docker Swarm and Kubernetes
 
Kubernetes One-Click Deployment: Hands-on Workshop (Munich)
Kubernetes One-Click Deployment: Hands-on Workshop (Munich)Kubernetes One-Click Deployment: Hands-on Workshop (Munich)
Kubernetes One-Click Deployment: Hands-on Workshop (Munich)
 
Microservices with docker swarm and consul
Microservices with docker swarm and consulMicroservices with docker swarm and consul
Microservices with docker swarm and consul
 
Kubernetes intro public - kubernetes user group 4-21-2015
Kubernetes intro   public - kubernetes user group 4-21-2015Kubernetes intro   public - kubernetes user group 4-21-2015
Kubernetes intro public - kubernetes user group 4-21-2015
 
Kubernetes intro public - kubernetes meetup 4-21-2015
Kubernetes intro   public - kubernetes meetup 4-21-2015Kubernetes intro   public - kubernetes meetup 4-21-2015
Kubernetes intro public - kubernetes meetup 4-21-2015
 
Intro to kubernetes
Intro to kubernetesIntro to kubernetes
Intro to kubernetes
 
Kubernetes Architecture
 Kubernetes Architecture Kubernetes Architecture
Kubernetes Architecture
 
Seamless scaling of Kubernetes nodes
Seamless scaling of Kubernetes nodesSeamless scaling of Kubernetes nodes
Seamless scaling of Kubernetes nodes
 
Introducing Docker Swarm - the orchestration tool by Docker
Introducing Docker Swarm - the orchestration tool by DockerIntroducing Docker Swarm - the orchestration tool by Docker
Introducing Docker Swarm - the orchestration tool by Docker
 
Kubernetes: The Next Research Platform
Kubernetes: The Next Research PlatformKubernetes: The Next Research Platform
Kubernetes: The Next Research Platform
 
Kubernetes on CloudStack with coreOS
Kubernetes on CloudStack with coreOSKubernetes on CloudStack with coreOS
Kubernetes on CloudStack with coreOS
 
Intro to cluster scheduler for Linux containers
Intro to cluster scheduler for Linux containersIntro to cluster scheduler for Linux containers
Intro to cluster scheduler for Linux containers
 
Scaling docker with kubernetes
Scaling docker with kubernetesScaling docker with kubernetes
Scaling docker with kubernetes
 
Kubernetes 101
Kubernetes 101Kubernetes 101
Kubernetes 101
 
Kubernetes Architecture | Understanding Kubernetes Components | Kubernetes Tu...
Kubernetes Architecture | Understanding Kubernetes Components | Kubernetes Tu...Kubernetes Architecture | Understanding Kubernetes Components | Kubernetes Tu...
Kubernetes Architecture | Understanding Kubernetes Components | Kubernetes Tu...
 
Multi-Clusters Made Easy with Liqo:
Getting Rid of Your Clusters Keeping Them...
Multi-Clusters Made Easy with Liqo:
Getting Rid of Your Clusters Keeping Them...Multi-Clusters Made Easy with Liqo:
Getting Rid of Your Clusters Keeping Them...
Multi-Clusters Made Easy with Liqo:
Getting Rid of Your Clusters Keeping Them...
 

Andere mochten auch

The Role of Libraries in a Transliterate World
The Role of Libraries in a Transliterate WorldThe Role of Libraries in a Transliterate World
The Role of Libraries in a Transliterate WorldBobbi Newman
 
Neal Gafter Java Evolution
Neal Gafter Java EvolutionNeal Gafter Java Evolution
Neal Gafter Java Evolutiondeimos
 
2n111nabeelah
2n111nabeelah2n111nabeelah
2n111nabeelahnamirahbh
 
Orbul Si Ziaristul
Orbul Si ZiaristulOrbul Si Ziaristul
Orbul Si ZiaristulAlexandru S
 
Media aan de Maas kickoff presentatie
Media aan de Maas kickoff presentatieMedia aan de Maas kickoff presentatie
Media aan de Maas kickoff presentatieAtticus
 
SEO blogging best practices
SEO blogging best practicesSEO blogging best practices
SEO blogging best practicesIan Lurie
 
Amazing Nature And Beautiful Wildlife
Amazing Nature And Beautiful WildlifeAmazing Nature And Beautiful Wildlife
Amazing Nature And Beautiful WildlifeAvinash Singh
 
World Tower Sculpture Proposal
World Tower Sculpture ProposalWorld Tower Sculpture Proposal
World Tower Sculpture ProposalBockit
 
Failure Is Guaranteed: Internet Marketing's Greatest Strength
Failure Is Guaranteed: Internet Marketing's Greatest StrengthFailure Is Guaranteed: Internet Marketing's Greatest Strength
Failure Is Guaranteed: Internet Marketing's Greatest StrengthIan Lurie
 
Reaching Your Patrons in the Brave New World of the Social Web
Reaching Your Patrons in the Brave New World of the Social WebReaching Your Patrons in the Brave New World of the Social Web
Reaching Your Patrons in the Brave New World of the Social WebBobbi Newman
 
Three Minute Book Pitch
Three Minute Book PitchThree Minute Book Pitch
Three Minute Book Pitchcaterwauler
 
Putting 2.0 to Work for You
Putting 2.0 to Work for YouPutting 2.0 to Work for You
Putting 2.0 to Work for YouBobbi Newman
 
Saved (part 2)
Saved (part 2)Saved (part 2)
Saved (part 2)jzatko
 
Rod Johnson Cathedral
Rod Johnson CathedralRod Johnson Cathedral
Rod Johnson Cathedraldeimos
 
Why Hire Portent?
Why Hire Portent?Why Hire Portent?
Why Hire Portent?Ian Lurie
 
Het Spel Van De Wereld
Het Spel Van De WereldHet Spel Van De Wereld
Het Spel Van De WereldyentelB
 

Andere mochten auch (20)

The Role of Libraries in a Transliterate World
The Role of Libraries in a Transliterate WorldThe Role of Libraries in a Transliterate World
The Role of Libraries in a Transliterate World
 
Neal Gafter Java Evolution
Neal Gafter Java EvolutionNeal Gafter Java Evolution
Neal Gafter Java Evolution
 
2n111nabeelah
2n111nabeelah2n111nabeelah
2n111nabeelah
 
Orbul Si Ziaristul
Orbul Si ZiaristulOrbul Si Ziaristul
Orbul Si Ziaristul
 
MAKE LIFE EASY
MAKE LIFE EASYMAKE LIFE EASY
MAKE LIFE EASY
 
Media aan de Maas kickoff presentatie
Media aan de Maas kickoff presentatieMedia aan de Maas kickoff presentatie
Media aan de Maas kickoff presentatie
 
SEO blogging best practices
SEO blogging best practicesSEO blogging best practices
SEO blogging best practices
 
Amazing Nature And Beautiful Wildlife
Amazing Nature And Beautiful WildlifeAmazing Nature And Beautiful Wildlife
Amazing Nature And Beautiful Wildlife
 
World Tower Sculpture Proposal
World Tower Sculpture ProposalWorld Tower Sculpture Proposal
World Tower Sculpture Proposal
 
Skype project
Skype projectSkype project
Skype project
 
Failure Is Guaranteed: Internet Marketing's Greatest Strength
Failure Is Guaranteed: Internet Marketing's Greatest StrengthFailure Is Guaranteed: Internet Marketing's Greatest Strength
Failure Is Guaranteed: Internet Marketing's Greatest Strength
 
Reaching Your Patrons in the Brave New World of the Social Web
Reaching Your Patrons in the Brave New World of the Social WebReaching Your Patrons in the Brave New World of the Social Web
Reaching Your Patrons in the Brave New World of the Social Web
 
Three Minute Book Pitch
Three Minute Book PitchThree Minute Book Pitch
Three Minute Book Pitch
 
Putting 2.0 to Work for You
Putting 2.0 to Work for YouPutting 2.0 to Work for You
Putting 2.0 to Work for You
 
Usagility
UsagilityUsagility
Usagility
 
Saved (part 2)
Saved (part 2)Saved (part 2)
Saved (part 2)
 
Rod Johnson Cathedral
Rod Johnson CathedralRod Johnson Cathedral
Rod Johnson Cathedral
 
Rutina[1]
Rutina[1]Rutina[1]
Rutina[1]
 
Why Hire Portent?
Why Hire Portent?Why Hire Portent?
Why Hire Portent?
 
Het Spel Van De Wereld
Het Spel Van De WereldHet Spel Van De Wereld
Het Spel Van De Wereld
 

Ähnlich wie Clocker - The Docker Cloud Maker

Simulating Production with Clocker
Simulating Production with ClockerSimulating Production with Clocker
Simulating Production with ClockerAndrew Kennedy
 
How to Train Your Docker Cloud
How to Train Your Docker CloudHow to Train Your Docker Cloud
How to Train Your Docker CloudC4Media
 
Sebastien goasguen cloud stack and docker
Sebastien goasguen   cloud stack and dockerSebastien goasguen   cloud stack and docker
Sebastien goasguen cloud stack and dockerShapeBlue
 
Clocker, Calico and Docker
Clocker, Calico and DockerClocker, Calico and Docker
Clocker, Calico and DockerAndrew Kennedy
 
Clocker: Docker in the Cloud
Clocker: Docker in the CloudClocker: Docker in the Cloud
Clocker: Docker in the CloudAndrew Kennedy
 
Using Clocker with Project Calico - Running Production Workloads in the Cloud
Using Clocker with Project Calico - Running Production Workloads in the CloudUsing Clocker with Project Calico - Running Production Workloads in the Cloud
Using Clocker with Project Calico - Running Production Workloads in the CloudAndrew Kennedy
 
Drone CI - Container native continuous Integration / Delivery
Drone CI - Container native continuous Integration / DeliveryDrone CI - Container native continuous Integration / Delivery
Drone CI - Container native continuous Integration / DeliveryPatrick Jahns
 
Deploying Complex Applications on Docker using Apache Brooklyn
Deploying Complex Applications on Docker using Apache BrooklynDeploying Complex Applications on Docker using Apache Brooklyn
Deploying Complex Applications on Docker using Apache BrooklynAndrew Kennedy
 
How we scale DroneCi on demand
How we scale DroneCi on demandHow we scale DroneCi on demand
How we scale DroneCi on demandPatrick Jahns
 
Orchestrating Linux Containers while tolerating failures
Orchestrating Linux Containers while tolerating failuresOrchestrating Linux Containers while tolerating failures
Orchestrating Linux Containers while tolerating failuresDocker, Inc.
 
On CloudStack, Docker, Kubernetes, and Big Data…Oh my ! By Sebastien Goasguen...
On CloudStack, Docker, Kubernetes, and Big Data…Oh my ! By Sebastien Goasguen...On CloudStack, Docker, Kubernetes, and Big Data…Oh my ! By Sebastien Goasguen...
On CloudStack, Docker, Kubernetes, and Big Data…Oh my ! By Sebastien Goasguen...Radhika Puthiyetath
 
Docker Networking with Clocker and Weave
Docker Networking with Clocker and WeaveDocker Networking with Clocker and Weave
Docker Networking with Clocker and WeaveAndrew Kennedy
 
Best Practices for Running Kafka on Docker Containers
Best Practices for Running Kafka on Docker ContainersBest Practices for Running Kafka on Docker Containers
Best Practices for Running Kafka on Docker ContainersBlueData, Inc.
 
RICON 2014 Running Riak in a Docker Cloud using Apache Brooklyn
RICON 2014 Running Riak in a Docker Cloud using Apache BrooklynRICON 2014 Running Riak in a Docker Cloud using Apache Brooklyn
RICON 2014 Running Riak in a Docker Cloud using Apache BrooklynDuncan Johnston-Watt
 
Running Docker in Production
Running Docker in ProductionRunning Docker in Production
Running Docker in ProductionAndrew Kennedy
 
On Docker and its use for LHC at CERN
On Docker and its use for LHC at CERNOn Docker and its use for LHC at CERN
On Docker and its use for LHC at CERNSebastien Goasguen
 
Continuous Deployment with Akka.Cluster and Kubernetes (Akka.NET)
Continuous Deployment with Akka.Cluster and Kubernetes (Akka.NET)Continuous Deployment with Akka.Cluster and Kubernetes (Akka.NET)
Continuous Deployment with Akka.Cluster and Kubernetes (Akka.NET)petabridge
 

Ähnlich wie Clocker - The Docker Cloud Maker (20)

Simulating Production with Clocker
Simulating Production with ClockerSimulating Production with Clocker
Simulating Production with Clocker
 
How to Train Your Docker Cloud
How to Train Your Docker CloudHow to Train Your Docker Cloud
How to Train Your Docker Cloud
 
Sebastien goasguen cloud stack and docker
Sebastien goasguen   cloud stack and dockerSebastien goasguen   cloud stack and docker
Sebastien goasguen cloud stack and docker
 
Clocker Evolution
Clocker EvolutionClocker Evolution
Clocker Evolution
 
Clocker, Calico and Docker
Clocker, Calico and DockerClocker, Calico and Docker
Clocker, Calico and Docker
 
Clocker: Docker in the Cloud
Clocker: Docker in the CloudClocker: Docker in the Cloud
Clocker: Docker in the Cloud
 
Using Clocker with Project Calico - Running Production Workloads in the Cloud
Using Clocker with Project Calico - Running Production Workloads in the CloudUsing Clocker with Project Calico - Running Production Workloads in the Cloud
Using Clocker with Project Calico - Running Production Workloads in the Cloud
 
Drone CI - Container native continuous Integration / Delivery
Drone CI - Container native continuous Integration / DeliveryDrone CI - Container native continuous Integration / Delivery
Drone CI - Container native continuous Integration / Delivery
 
Deploying Complex Applications on Docker using Apache Brooklyn
Deploying Complex Applications on Docker using Apache BrooklynDeploying Complex Applications on Docker using Apache Brooklyn
Deploying Complex Applications on Docker using Apache Brooklyn
 
How we scale DroneCi on demand
How we scale DroneCi on demandHow we scale DroneCi on demand
How we scale DroneCi on demand
 
Orchestrating Linux Containers while tolerating failures
Orchestrating Linux Containers while tolerating failuresOrchestrating Linux Containers while tolerating failures
Orchestrating Linux Containers while tolerating failures
 
On CloudStack, Docker, Kubernetes, and Big Data…Oh my ! By Sebastien Goasguen...
On CloudStack, Docker, Kubernetes, and Big Data…Oh my ! By Sebastien Goasguen...On CloudStack, Docker, Kubernetes, and Big Data…Oh my ! By Sebastien Goasguen...
On CloudStack, Docker, Kubernetes, and Big Data…Oh my ! By Sebastien Goasguen...
 
Docker Networking with Clocker and Weave
Docker Networking with Clocker and WeaveDocker Networking with Clocker and Weave
Docker Networking with Clocker and Weave
 
Best Practices for Running Kafka on Docker Containers
Best Practices for Running Kafka on Docker ContainersBest Practices for Running Kafka on Docker Containers
Best Practices for Running Kafka on Docker Containers
 
Clocker Now and Next
Clocker Now and NextClocker Now and Next
Clocker Now and Next
 
RICON 2014 Running Riak in a Docker Cloud using Apache Brooklyn
RICON 2014 Running Riak in a Docker Cloud using Apache BrooklynRICON 2014 Running Riak in a Docker Cloud using Apache Brooklyn
RICON 2014 Running Riak in a Docker Cloud using Apache Brooklyn
 
Docker and CloudStack
Docker and CloudStackDocker and CloudStack
Docker and CloudStack
 
Running Docker in Production
Running Docker in ProductionRunning Docker in Production
Running Docker in Production
 
On Docker and its use for LHC at CERN
On Docker and its use for LHC at CERNOn Docker and its use for LHC at CERN
On Docker and its use for LHC at CERN
 
Continuous Deployment with Akka.Cluster and Kubernetes (Akka.NET)
Continuous Deployment with Akka.Cluster and Kubernetes (Akka.NET)Continuous Deployment with Akka.Cluster and Kubernetes (Akka.NET)
Continuous Deployment with Akka.Cluster and Kubernetes (Akka.NET)
 

Mehr von Andrew Kennedy

Hyperledger Lightning Talk
Hyperledger Lightning TalkHyperledger Lightning Talk
Hyperledger Lightning TalkAndrew Kennedy
 
Orchestraing the Blockchain Using Containers
Orchestraing the Blockchain Using ContainersOrchestraing the Blockchain Using Containers
Orchestraing the Blockchain Using ContainersAndrew Kennedy
 
Multi-Container Applications Spanning Docker, Mesos and OpenStack
Multi-Container Applications Spanning Docker, Mesos and OpenStackMulti-Container Applications Spanning Docker, Mesos and OpenStack
Multi-Container Applications Spanning Docker, Mesos and OpenStackAndrew Kennedy
 
Containers: Beyond the Basics
Containers: Beyond the BasicsContainers: Beyond the Basics
Containers: Beyond the BasicsAndrew Kennedy
 
Introducing the Open Container Project
Introducing the Open Container ProjectIntroducing the Open Container Project
Introducing the Open Container ProjectAndrew Kennedy
 
Docker Networking with Project Calico
Docker Networking with Project CalicoDocker Networking with Project Calico
Docker Networking with Project CalicoAndrew Kennedy
 
Bringing Docker to the Cloud
Bringing Docker to the CloudBringing Docker to the Cloud
Bringing Docker to the CloudAndrew Kennedy
 
Metaswitch Project Calico
Metaswitch Project CalicoMetaswitch Project Calico
Metaswitch Project CalicoAndrew Kennedy
 
Deploying Complex Applications on Docker using Apache Brooklyn
Deploying Complex Applications on Docker using Apache BrooklynDeploying Complex Applications on Docker using Apache Brooklyn
Deploying Complex Applications on Docker using Apache BrooklynAndrew Kennedy
 
Global Scale ESB with Mule
Global Scale ESB with MuleGlobal Scale ESB with Mule
Global Scale ESB with MuleAndrew Kennedy
 

Mehr von Andrew Kennedy (13)

Hyperledger Lightning Talk
Hyperledger Lightning TalkHyperledger Lightning Talk
Hyperledger Lightning Talk
 
Orchestraing the Blockchain Using Containers
Orchestraing the Blockchain Using ContainersOrchestraing the Blockchain Using Containers
Orchestraing the Blockchain Using Containers
 
Multi-Container Applications Spanning Docker, Mesos and OpenStack
Multi-Container Applications Spanning Docker, Mesos and OpenStackMulti-Container Applications Spanning Docker, Mesos and OpenStack
Multi-Container Applications Spanning Docker, Mesos and OpenStack
 
Containers: Beyond the Basics
Containers: Beyond the BasicsContainers: Beyond the Basics
Containers: Beyond the Basics
 
Introducing the Open Container Project
Introducing the Open Container ProjectIntroducing the Open Container Project
Introducing the Open Container Project
 
Docker Networking with Project Calico
Docker Networking with Project CalicoDocker Networking with Project Calico
Docker Networking with Project Calico
 
Clocker 1.0.0 Preview
Clocker 1.0.0 PreviewClocker 1.0.0 Preview
Clocker 1.0.0 Preview
 
Bringing Docker to the Cloud
Bringing Docker to the CloudBringing Docker to the Cloud
Bringing Docker to the Cloud
 
Metaswitch Project Calico
Metaswitch Project CalicoMetaswitch Project Calico
Metaswitch Project Calico
 
Deploying Complex Applications on Docker using Apache Brooklyn
Deploying Complex Applications on Docker using Apache BrooklynDeploying Complex Applications on Docker using Apache Brooklyn
Deploying Complex Applications on Docker using Apache Brooklyn
 
Clocker and OpenStack
Clocker and OpenStackClocker and OpenStack
Clocker and OpenStack
 
Introducing Clocker
Introducing ClockerIntroducing Clocker
Introducing Clocker
 
Global Scale ESB with Mule
Global Scale ESB with MuleGlobal Scale ESB with Mule
Global Scale ESB with Mule
 

Kürzlich hochgeladen

Leveraging AI for Mobile App Testing on Real Devices | Applitools + Kobiton
Leveraging AI for Mobile App Testing on Real Devices | Applitools + KobitonLeveraging AI for Mobile App Testing on Real Devices | Applitools + Kobiton
Leveraging AI for Mobile App Testing on Real Devices | Applitools + KobitonApplitools
 
UI5ers live - Custom Controls wrapping 3rd-party libs.pptx
UI5ers live - Custom Controls wrapping 3rd-party libs.pptxUI5ers live - Custom Controls wrapping 3rd-party libs.pptx
UI5ers live - Custom Controls wrapping 3rd-party libs.pptxAndreas Kunz
 
2024-04-09 - From Complexity to Clarity - AWS Summit AMS.pdf
2024-04-09 - From Complexity to Clarity - AWS Summit AMS.pdf2024-04-09 - From Complexity to Clarity - AWS Summit AMS.pdf
2024-04-09 - From Complexity to Clarity - AWS Summit AMS.pdfAndrey Devyatkin
 
Comparing Linux OS Image Update Models - EOSS 2024.pdf
Comparing Linux OS Image Update Models - EOSS 2024.pdfComparing Linux OS Image Update Models - EOSS 2024.pdf
Comparing Linux OS Image Update Models - EOSS 2024.pdfDrew Moseley
 
Patterns for automating API delivery. API conference
Patterns for automating API delivery. API conferencePatterns for automating API delivery. API conference
Patterns for automating API delivery. API conferencessuser9e7c64
 
eSoftTools IMAP Backup Software and migration tools
eSoftTools IMAP Backup Software and migration toolseSoftTools IMAP Backup Software and migration tools
eSoftTools IMAP Backup Software and migration toolsosttopstonverter
 
Ronisha Informatics Private Limited Catalogue
Ronisha Informatics Private Limited CatalogueRonisha Informatics Private Limited Catalogue
Ronisha Informatics Private Limited Catalogueitservices996
 
Enhancing Supply Chain Visibility with Cargo Cloud Solutions.pdf
Enhancing Supply Chain Visibility with Cargo Cloud Solutions.pdfEnhancing Supply Chain Visibility with Cargo Cloud Solutions.pdf
Enhancing Supply Chain Visibility with Cargo Cloud Solutions.pdfRTS corp
 
VictoriaMetrics Q1 Meet Up '24 - Community & News Update
VictoriaMetrics Q1 Meet Up '24 - Community & News UpdateVictoriaMetrics Q1 Meet Up '24 - Community & News Update
VictoriaMetrics Q1 Meet Up '24 - Community & News UpdateVictoriaMetrics
 
2024 DevNexus Patterns for Resiliency: Shuffle shards
2024 DevNexus Patterns for Resiliency: Shuffle shards2024 DevNexus Patterns for Resiliency: Shuffle shards
2024 DevNexus Patterns for Resiliency: Shuffle shardsChristopher Curtin
 
JavaLand 2024 - Going serverless with Quarkus GraalVM native images and AWS L...
JavaLand 2024 - Going serverless with Quarkus GraalVM native images and AWS L...JavaLand 2024 - Going serverless with Quarkus GraalVM native images and AWS L...
JavaLand 2024 - Going serverless with Quarkus GraalVM native images and AWS L...Bert Jan Schrijver
 
Revolutionizing the Digital Transformation Office - Leveraging OnePlan’s AI a...
Revolutionizing the Digital Transformation Office - Leveraging OnePlan’s AI a...Revolutionizing the Digital Transformation Office - Leveraging OnePlan’s AI a...
Revolutionizing the Digital Transformation Office - Leveraging OnePlan’s AI a...OnePlan Solutions
 
Amazon Bedrock in Action - presentation of the Bedrock's capabilities
Amazon Bedrock in Action - presentation of the Bedrock's capabilitiesAmazon Bedrock in Action - presentation of the Bedrock's capabilities
Amazon Bedrock in Action - presentation of the Bedrock's capabilitiesKrzysztofKkol1
 
SAM Training Session - How to use EXCEL ?
SAM Training Session - How to use EXCEL ?SAM Training Session - How to use EXCEL ?
SAM Training Session - How to use EXCEL ?Alexandre Beguel
 
Simplifying Microservices & Apps - The art of effortless development - Meetup...
Simplifying Microservices & Apps - The art of effortless development - Meetup...Simplifying Microservices & Apps - The art of effortless development - Meetup...
Simplifying Microservices & Apps - The art of effortless development - Meetup...Rob Geurden
 
Post Quantum Cryptography – The Impact on Identity
Post Quantum Cryptography – The Impact on IdentityPost Quantum Cryptography – The Impact on Identity
Post Quantum Cryptography – The Impact on Identityteam-WIBU
 
Strategies for using alternative queries to mitigate zero results
Strategies for using alternative queries to mitigate zero resultsStrategies for using alternative queries to mitigate zero results
Strategies for using alternative queries to mitigate zero resultsJean Silva
 
Keeping your build tool updated in a multi repository world
Keeping your build tool updated in a multi repository worldKeeping your build tool updated in a multi repository world
Keeping your build tool updated in a multi repository worldRoberto Pérez Alcolea
 
GraphSummit Madrid - Product Vision and Roadmap - Luis Salvador Neo4j
GraphSummit Madrid - Product Vision and Roadmap - Luis Salvador Neo4jGraphSummit Madrid - Product Vision and Roadmap - Luis Salvador Neo4j
GraphSummit Madrid - Product Vision and Roadmap - Luis Salvador Neo4jNeo4j
 
Best Angular 17 Classroom & Online training - Naresh IT
Best Angular 17 Classroom & Online training - Naresh ITBest Angular 17 Classroom & Online training - Naresh IT
Best Angular 17 Classroom & Online training - Naresh ITmanoharjgpsolutions
 

Kürzlich hochgeladen (20)

Leveraging AI for Mobile App Testing on Real Devices | Applitools + Kobiton
Leveraging AI for Mobile App Testing on Real Devices | Applitools + KobitonLeveraging AI for Mobile App Testing on Real Devices | Applitools + Kobiton
Leveraging AI for Mobile App Testing on Real Devices | Applitools + Kobiton
 
UI5ers live - Custom Controls wrapping 3rd-party libs.pptx
UI5ers live - Custom Controls wrapping 3rd-party libs.pptxUI5ers live - Custom Controls wrapping 3rd-party libs.pptx
UI5ers live - Custom Controls wrapping 3rd-party libs.pptx
 
2024-04-09 - From Complexity to Clarity - AWS Summit AMS.pdf
2024-04-09 - From Complexity to Clarity - AWS Summit AMS.pdf2024-04-09 - From Complexity to Clarity - AWS Summit AMS.pdf
2024-04-09 - From Complexity to Clarity - AWS Summit AMS.pdf
 
Comparing Linux OS Image Update Models - EOSS 2024.pdf
Comparing Linux OS Image Update Models - EOSS 2024.pdfComparing Linux OS Image Update Models - EOSS 2024.pdf
Comparing Linux OS Image Update Models - EOSS 2024.pdf
 
Patterns for automating API delivery. API conference
Patterns for automating API delivery. API conferencePatterns for automating API delivery. API conference
Patterns for automating API delivery. API conference
 
eSoftTools IMAP Backup Software and migration tools
eSoftTools IMAP Backup Software and migration toolseSoftTools IMAP Backup Software and migration tools
eSoftTools IMAP Backup Software and migration tools
 
Ronisha Informatics Private Limited Catalogue
Ronisha Informatics Private Limited CatalogueRonisha Informatics Private Limited Catalogue
Ronisha Informatics Private Limited Catalogue
 
Enhancing Supply Chain Visibility with Cargo Cloud Solutions.pdf
Enhancing Supply Chain Visibility with Cargo Cloud Solutions.pdfEnhancing Supply Chain Visibility with Cargo Cloud Solutions.pdf
Enhancing Supply Chain Visibility with Cargo Cloud Solutions.pdf
 
VictoriaMetrics Q1 Meet Up '24 - Community & News Update
VictoriaMetrics Q1 Meet Up '24 - Community & News UpdateVictoriaMetrics Q1 Meet Up '24 - Community & News Update
VictoriaMetrics Q1 Meet Up '24 - Community & News Update
 
2024 DevNexus Patterns for Resiliency: Shuffle shards
2024 DevNexus Patterns for Resiliency: Shuffle shards2024 DevNexus Patterns for Resiliency: Shuffle shards
2024 DevNexus Patterns for Resiliency: Shuffle shards
 
JavaLand 2024 - Going serverless with Quarkus GraalVM native images and AWS L...
JavaLand 2024 - Going serverless with Quarkus GraalVM native images and AWS L...JavaLand 2024 - Going serverless with Quarkus GraalVM native images and AWS L...
JavaLand 2024 - Going serverless with Quarkus GraalVM native images and AWS L...
 
Revolutionizing the Digital Transformation Office - Leveraging OnePlan’s AI a...
Revolutionizing the Digital Transformation Office - Leveraging OnePlan’s AI a...Revolutionizing the Digital Transformation Office - Leveraging OnePlan’s AI a...
Revolutionizing the Digital Transformation Office - Leveraging OnePlan’s AI a...
 
Amazon Bedrock in Action - presentation of the Bedrock's capabilities
Amazon Bedrock in Action - presentation of the Bedrock's capabilitiesAmazon Bedrock in Action - presentation of the Bedrock's capabilities
Amazon Bedrock in Action - presentation of the Bedrock's capabilities
 
SAM Training Session - How to use EXCEL ?
SAM Training Session - How to use EXCEL ?SAM Training Session - How to use EXCEL ?
SAM Training Session - How to use EXCEL ?
 
Simplifying Microservices & Apps - The art of effortless development - Meetup...
Simplifying Microservices & Apps - The art of effortless development - Meetup...Simplifying Microservices & Apps - The art of effortless development - Meetup...
Simplifying Microservices & Apps - The art of effortless development - Meetup...
 
Post Quantum Cryptography – The Impact on Identity
Post Quantum Cryptography – The Impact on IdentityPost Quantum Cryptography – The Impact on Identity
Post Quantum Cryptography – The Impact on Identity
 
Strategies for using alternative queries to mitigate zero results
Strategies for using alternative queries to mitigate zero resultsStrategies for using alternative queries to mitigate zero results
Strategies for using alternative queries to mitigate zero results
 
Keeping your build tool updated in a multi repository world
Keeping your build tool updated in a multi repository worldKeeping your build tool updated in a multi repository world
Keeping your build tool updated in a multi repository world
 
GraphSummit Madrid - Product Vision and Roadmap - Luis Salvador Neo4j
GraphSummit Madrid - Product Vision and Roadmap - Luis Salvador Neo4jGraphSummit Madrid - Product Vision and Roadmap - Luis Salvador Neo4j
GraphSummit Madrid - Product Vision and Roadmap - Luis Salvador Neo4j
 
Best Angular 17 Classroom & Online training - Naresh IT
Best Angular 17 Classroom & Online training - Naresh ITBest Angular 17 Classroom & Online training - Naresh IT
Best Angular 17 Classroom & Online training - Naresh IT
 

Clocker - The Docker Cloud Maker

  • 1. Clocker The Docker Cloud Maker
  • 2. Clocker The Docker Cloud Maker Andrew Kennedy @grkvlt
  • 3. @grkvlt Introduc/on • Andrew Kennedy – So6ware Engineer – Open Source and Distributed Systems – github.com/grkvlt • Cloudso6 Corpora/on – Open Source Applica/on Management Specialists – We’re Hiring…
  • 4. @grkvlt Agenda • Overview • Components • Deep Dive • Demonstra/on • Roadmap
  • 6. @grkvlt What does it do? 1. Spins up and Manages Docker Clouds 2. Serves up Containers on Demand 3. Manages Composite Applica/on Deployments on Docker
  • 7. @grkvlt What does it provide? • Mul/ Host and Mul/ Container Applica/ons • Seamless Networking – Communica/on Between Services • Orchestra/on and Clustering – Control of Containers – Container Management
  • 8. @grkvlt Who is using it? • Tes/ng and Proof of Concept Stage – Financial Services – Insurance • Produc/on – Mul/-­‐tenant Applica/on Trial – Container per service – Via IBM BlueMix
  • 9. @grkvlt Where can I find it? • Open Source • Apache 2.0 Licensed • hZp://clocker.io • Status • 0.7.0 Beta Release • 0.8.0-­‐SNAPSHOT Development
  • 11. @grkvlt Clocker and Brooklyn • What is it? – Brooklyn Applica/on – Brooklyn Loca/on • What does it provide? – First Class Docker Support in Brooklyn – Op/mized Brooklyn Blueprints for Docker
  • 12. Apache Brooklyn • Apache Brooklyn – Open Source – Java – Donated to the Apache So6ware Founda/on – ASF Incubator Status
  • 13. @grkvlt Apache Brooklyn • Applica/on Management Pla^orm • Deploy, Manage and Monitor Blueprints • Provisioning, Installa/on and Customiza/on • Management – AutoScaling, Resilience, Performance, Security
  • 14. Apache jclouds • Java Cloud Library • API Agnos/c – CloudStack, OpenStack, AWS EC2, GCE… • Create Virtual Machines – Return SSH Endpoint – Manage Proper/es
  • 15. @grkvlt Apache jclouds • Drivers for REST APIs • Docker Driver – WriZen by @turlinux • Virtual Container – Using SSH Daemon – Same Endpoint Type as VM – Composi/on on any Image or Dockerfile
  • 16. @grkvlt Docker Networking 101 • Separate Container Network • RFC 1918 Private Addresses • Non Routable • Bridged to Host • Port Forwarding • Mul/ple Endpoints for Services
  • 18. @grkvlt So6ware Defined Networking • Overlay Networks • Kernel or User Space • Many Op/ons – Pipework – SocketPlane – Flannel – Open vSwitch – Weave
  • 20. @grkvlt Weave • Ethernet Switch – User Space – Docker Container • Mesh Topology • Routes TCP Traffic – Sniffs on Host – Forwards over TCP
  • 21. Weave
  • 25. @grkvlt Clocker Features • Applica/on Deployment – Oasis CAMP YAML Blueprint – TOSCA in Development – Same as Core Brooklyn • Mixed Des/na/ons – Some Virtual Machines – Some Bare Metal – Some Containers
  • 26. @grkvlt Clocker Features • Docker Extensions – Container or Image – Placement Strategy – Dockerfiles • Manages Docker – Cloud Deployment – Configura/on – Run/me Control
  • 27. @grkvlt Container Management • Sources – Docker Image Defini/on – Docker Hub – Dockerfile – Brooklyn En/ty Defini/on • Create Image Automa/cally – Commit or Push for Reuse
  • 28. @grkvlt Container Management • Installa/on of Services – Defined by Brooklyn or Dockerfile – Common to all En/ty Instances • Commit Image – Available for next En/ty • Push Image – Available for all Hosts
  • 29. Container Management id: dockerfile-­‐mysql name: "Docker Hub MySQL Application" origin: "https://registry.hub.docker.com/_/mysql/" locations: -­‐ my-­‐docker-­‐cloud services: -­‐ serviceType: brooklyn.entity.container.docker.application.DockerfileApplication id: mysql name: "MySQL" brooklyn.config: docker.dockerfile.url: "https://s3-­‐eu-­‐west-­‐1.amazonaws.com/brooklyn-­‐clocker/mysql-­‐5.6.tgz" docker.container.environment: MYSQL_ROOT_PASSWORD: "s3cr3t”
  • 30. @grkvlt Container Placement • Demand – Adding an Applica/on – Scaling exis/ng Applica/on • Requirements – Host Loca/on – Service Resources – CPU, Memory
  • 31. @grkvlt Container Placement • Supply – Choose a Host from available – Create new Host • Start Container – Set CPU and Memory – AZach to Network
  • 32. @grkvlt Container Placement • Placement Strategies – Filter Hosts – Sort Hosts • Informa/on from – Docker – Underlying Machine – Cloud Environment – En/ty or Service
  • 33. @grkvlt Container Placement • Placement Strategies – Random, Depth or Breadth First – CPU or Memory Usage – Memory, CPU or Container Limits – Geographic Constraints • User Defined – Java Predicate
  • 34. Placement Strategy • Determinis/c • Simple – Predicate and Comparator docker.container.strategies: -­‐ $brooklyn:object: type: "brooklyn.location.docker.strategy.MaxContainersPlacementStrategy” brooklyn.config: maxContainers: 16 -­‐ $brooklyn:object: type: "brooklyn.location.docker.strategy.CpuUsagePlacementStrategy” brooklyn.config: maxCpu: 0.75
  • 35. @grkvlt Container Provisioning • Provisioning Strategy – New Docker Host Loca/on • Constraints – Docker Infrastructure Constraints – En/ty or Applica/on Constraints • User Defined Strategies • Intelligent Container Orchestra/on
  • 36. @grkvlt Container Provisioning • Headroom – Ensure resources available – Based on MaxContainers strategy limit – Or CPU and RAM alloca/on • Scale Docker Host Cluster Automa/cally – Add new Docker hosts – Remove empty Docker hosts
  • 37. @grkvlt Networking • Shared Weave LAN – Common to All Containers – Private (Link Local) Addresses • Clocker Controls IP Alloca/on – Applica/ons Segmented by CIDR • Docker Port Forwarding Access
  • 38. @grkvlt Networking • Work in Progress • Name Resolu/on – BIND and DNSmasq or Weave DNS – Needed for JMX et al – Enables Many More En//es • Adding More Supported Blueprints
  • 40.
  • 41.
  • 42.
  • 43. @grkvlt Roadmap • Latest Docker Feature Support • Swarm – Same API – Can re-­‐use our jclouds Driver • Machine – Cloud agnos/c provisioning via jclouds already – Could support as an op/on
  • 44. @grkvlt Roadmap • Networking – DNS and DNSmasq Integra/on – Rancher Integra/on – Open vSwitch Integra/on • Gelng Started – Clocker Dockerfile
  • 45. @grkvlt Roadmap • Repositories – Docker Repository – Bintray, Ar/factory, Quay.io – Private Repositories • Applica/on Defini/on – TOSCA – Fig
  • 46. @grkvlt Roadmap • Plugin API may be helpful? • Provide services to Docker this way • Orchestra/on • Policies • Consume wider range of services • Networking
  • 47. @grkvlt Summary • Clocker – Brooklyn + jclouds + Docker + Weave + … – @clockercentral • Solves – Composite Applica/on Management – Docker Cloud Networking – Container Placement and Provisioning
  • 48. @grkvlt Audience Ques/ons? 1. What networking features would make Docker easier to use? 2. What other features would be most useful to enhance Docker usability? 3. Will you be tes/ng Swarm and Machine or would you prefer an external orchestra/on tool?
  • 49. @grkvlt Web Resources http://clocker.io/ http://brooklyn.io/ http://docker.io/ http://github.com/zettio/weave/ http://abstractvisitorpattern.co.uk/ https://speakerdeck.com/grkvlt/clocker-­‐the-­‐ docker-­‐cloud-­‐maker