SlideShare ist ein Scribd-Unternehmen logo
1 von 52
Downloaden Sie, um offline zu lesen
Running Docker in Production
Using Apache Brooklyn, Clocker and Project Calico
Andrew Donald Kennedy
@grkvlt
Agenda
• Introduction
• Application Management
• Networking with Calico
• Demonstration
• Roadmap
• Questions
Copyright 2015 by Cloudsoft Corporation Limited
Clocker	
  Introduc.on	
  
@grkvlt
Clocker Developers
Copyright 2015 by Cloudsoft Corporation Limited
@grkvlt
Clocker Statistics
•  Open Source
•  1+ Years Old
•  725 Commits
•  153 Pull Requests
•  11 Contributors
•  2 External
•  15 KLOC
•  26 Releases
http://www.redotheweb.com/CodeFlower/	
  
Copyright 2015 by Cloudsoft Corporation Limited
@grkvlt
•  Application Management Platform
•  Deploy, Manage and Monitor Blueprints
•  Provisioning, Installation and Customization
•  Management
•  AutoScaling, Resilience, Performance, Security
Apache Brooklyn
@grkvlt
Apache jclouds
•  Java Cloud Library
•  API Agnostic
•  SoftLayer, OpenStack, AWS EC2, GCE…
•  Create Virtual Machines
•  Return SSH Endpoint
•  Create Containers
•  Docker REST API
Copyright 2015 by Cloudsoft Corporation Limited
@grkvlt
Docker
•  Containers
•  Isolation
•  Performance
•  Composable
•  Huge Ecosystem
•  Compute Abstraction
•  Process Wrapper
@grkvlt
•  So0ware-­‐Defined	
  Networking	
  
•  Calico	
  
•  Weave	
  
•  Storage	
  and	
  Volume	
  Management	
  
•  Flocker	
  
•  More	
  Being	
  Developed…	
  
•  Na.ve	
  Plugins	
  
Docker Extras
@grkvltCopyright 2015 by Cloudsoft Corporation Limited
Apache Mesos ...
•  Distributed Systems Kernel
•  Cluster Management
•  Resource Sharing and Placement
•  Calico SDN Support
•  Frameworks
•  Aurora and Marathon
•  Riak, Spark, Hadoop, Storm et al
•  Brooklyn Scheduler
@grkvlt
What does it do?
1.  Spins up and Manages Docker
Clusters in the Clouds
2.  Serves up Containers on Demand
3.  Manages Composite Application
Deployments
Copyright 2015 by Cloudsoft Corporation Limited
@grkvlt
What does it provide?
•  Infrastructure Management
•  Docker Hosts
•  Swarm Controller
•  Multi Host and Multi Container Applications
•  Seamless Networking
•  Communication Between Services
•  Orchestration and Clustering
•  Control of Containers
•  Container Management
Copyright 2015 by Cloudsoft Corporation Limited
@grkvlt
Clocker and Brooklyn Summary
•  What is it?
•  Brooklyn Application
•  Brooklyn Location
•  What does it provide?
•  First Class Docker Support in Brooklyn
•  Optimized Brooklyn Blueprints for Docker
•  Container Orchestration
Copyright 2015 by Cloudsoft Corporation Limited
Applica.on	
  Management	
  
@grkvlt
Brooklyn Blueprints
•  Describe Applications
•  OASIS CAMP Standard
•  TOSCA and Compose in Development
•  List of Services
•  NoSQL Database Clusters
•  Web Servers and Load Balancers
•  Shell or Python Scripts
•  Targeting Multiple Destinations
•  VM, Container, Bare Metal
•  Sensors, Effectors and Policies
Copyright 2015 by Cloudsoft Corporation Limited
@grkvlt
Application Management
•  Sensors
•  Data from Services
•  Effectors
•  Brooklyn Policies
•  Attached to Entities in Application
•  Nothing Docker Specific
•  Elastic Scaling and Cluster Resizing
•  Service Resilience and Replacement
Copyright 2015 by Cloudsoft Corporation Limited
@grkvlt
Blueprint Example 1
Copyright 2015 by Cloudsoft Corporation Limited
id:	
  redis-­‐service	
  
name:	
  "Docker	
  Hub	
  Redis	
  Service"	
  
origin:	
  "https://registry.hub.docker.com/_/redis/"	
  
	
  
locations:	
  
-­‐	
  my-­‐docker-­‐cloud	
  
	
  
services:	
  
-­‐	
  type:	
  docker:redis:3	
  
	
  	
  id:	
  redis	
  
	
  	
  openPorts:	
  
	
  	
  -­‐	
  6379	
  
@grkvlt
Blueprint Example 2
Copyright 2015 by Cloudsoft Corporation Limited
id:	
  redis-­‐cluster	
  
name:	
  "Redis	
  Cluster"	
  
	
  
locations:	
  
-­‐  jclouds:aws-­‐ec2:	
  
	
  	
  	
  	
  region:	
  eu-­‐central-­‐1	
  
	
  
services:	
  
-­‐	
  type:	
  org.apache.brooklyn.entity.nosql.redis.RedisCluster	
  
	
  	
  initialSize:	
  3	
  
@grkvlt
Blueprint Example 3
id:	
  appserver-­‐with-­‐policy	
  
name:	
  "Tomcat	
  Scaling	
  Webapp	
  Server"	
  
location:	
  jclouds:aws-­‐ec2:eu-­‐west-­‐1	
  
services:	
  
-­‐	
  type:	
  org.apache.brooklyn.entity.webapp.ControlledDynamicWebAppCluster	
  
	
  	
  initialSize:	
  3	
  
	
  	
  memberSpec:	
  
	
  	
  	
  	
  $brooklyn:entitySpec:	
  
	
  	
  	
  	
  	
  	
  type:	
  org.apache.brooklyn.entity.webapp.tomcat.Tomcat8Server	
  
	
  	
  	
  	
  	
  	
  brooklyn.config:	
  
	
  	
  	
  	
  	
  	
  	
  	
  wars.root:	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  https://	
  s3-­‐eu-­‐west-­‐1.amazonaws.com/brooklyn-­‐clocker/brooklyn-­‐example-­‐hello-­‐world-­‐sql-­‐webapp-­‐0.6.0.war	
  
	
  	
  	
  	
  	
  	
  	
  	
  http.port:	
  8080+	
  
	
  	
  	
  	
  	
  	
  	
  	
  java.sysprops:	
  	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  brooklyn.example.db.url:	
  $brooklyn:formatString("jdbc:%s%s?user=%s&password=%s",	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  component("db").attributeWhenReady("datastore.url"),	
  "visitors",	
  "brooklyn",	
  "br00k11n")	
  
	
  	
  brooklyn.policies:	
  
	
  	
  -­‐	
  policyType:	
  org.apache.brooklyn.policy.autoscaling.AutoScalerPolicy	
  
	
  	
  	
  	
  brooklyn.config:	
  
	
  	
  	
  	
  	
  	
  metric:	
  $brooklyn:sensor("org.apache.brooklyn.entity.webapp.DynamicWebAppCluster",	
  "webapp.reqs.perSec.windowed.perNode")	
  
	
  	
  	
  	
  	
  	
  metricLowerBound:	
  10	
  
	
  	
  	
  	
  	
  	
  metricUpperBound:	
  100	
  
	
  	
  	
  	
  	
  	
  minPoolSize:	
  1	
  
	
  	
  	
  	
  	
  	
  maxPoolSize:	
  5	
  
-­‐	
  type:	
  org.apache.brooklyn.entity.database.mysql.MySqlNode	
  
	
  	
  id:	
  db	
  
	
  	
  name:	
  DB	
  HelloWorld	
  Visitors	
  
	
  	
  brooklyn.config:	
  
	
  	
  	
  	
  datastore.creation.script.url:	
  
	
  	
  	
  	
  	
  	
  https://	
  s3-­‐eu-­‐west-­‐1.amazonaws.com/brooklyn-­‐clocker/visitors-­‐creation-­‐script.sql	
  
Copyright 2015 by Cloudsoft Corporation Limited
@grkvlt
Clocker Blueprints
Copyright 2015 by Cloudsoft Corporation Limited
@grkvlt
Docker Cloud
•  Brooklyn Blueprint for Docker Cluster
•  Docker Engine on Cloud VM or Bare Metal
•  Manage TLS Certificates and access credentials
•  Create and Mount Volumes
•  Setup Logging and Monitoring
•  Install SDN and other Agents
•  Configure local or remote Docker Registry
•  Manage Capacity or Headroom
Copyright 2015 by Cloudsoft Corporation Limited
@grkvlt
Headroom
•  Ensure resources available
•  Based on MaxContainers strategy limit
•  Or Percentage Utilisation
•  Or CPU and RAM allocation
•  Scale Docker Host Cluster Automatically
•  Add new Docker hosts
•  Remove empty Docker hosts
Copyright 2015 by Cloudsoft Corporation Limited
@grkvlt
Clocker 1.x Architecture
Copyright 2015 by Cloudsoft Corporation Limited
@grkvlt
Docker Cloud
1.  On-demand
2.  Multi-Tenant
3.  Hardware Independent
4.  Application Level
Copyright 2015 by Cloudsoft Corporation Limited
@grkvlt
Clocker Features
• Docker Extensions to Brooklyn
– Docker Image as First-Class Service Type
– Placement Strategies for Containers
– Create Docker Images and Networks
•  Manages Docker Engine and Swarm
– Deployment and Management
– Installation and Configuration
– Software-Defined Networking
Copyright 2015 by Cloudsoft Corporation Limited
@grkvlt
Container Management
•  Sources
•  Docker Image Definition
•  Docker Hub or Registry
•  Dockerfile
•  Brooklyn Entity Definition
•  Create Image Automatically
•  Commit or Push for Reuse
Copyright 2015 by Cloudsoft Corporation Limited
@grkvlt
Clocker Orchestration
Copyright 2015 by Cloudsoft Corporation Limited
Docker
Engine
Virtual
Machine
Container
Clocker
Network
Segment
SDN
Provider
Cloud
Provider
Brooklyn
Clocker	
  Networking	
  
@grkvlt
Software-Defined Networking
•  Needed for Seamless Provisioning
•  Host to Host Communication
•  Same LAN Segment
•  No Port Forwarding
•  Natural Application Configuration
•  Initial Driver was EPMD Applications
•  Useful for any opinionated applications
Copyright 2015 by Cloudsoft Corporation Limited
@grkvlt
Networking Providers
•  Implementation Agnostic
•  L2 overlay, L3 routing etc.
•  Similar to Hypervisor in Clouds
•  Generic Interfaces
•  Host Component
•  Service Component (or Endpoint)
•  Same idea as Docker Network Plugins
Copyright 2015 by Cloudsoft Corporation Limited
@grkvlt
Networking Capabilities
•  Attach Containers to Networks	
  
•  Create Networks as Required
•  Also Attach to VMs and Metal
•  Provide Multiple Networks
•  Per-Application or Shared
•  Segmented Private Address Space
•  Docker Port Forwarding for Ingress
Copyright 2015 by Cloudsoft Corporation Limited
@grkvlt
Network Provisioning
•  Minimal (Zero!) Configuration
•  Use Sensible Defaults
•  Allows SDN or Cloud Specific Configuration
•  Allocate Address Space on Demand
•  IP Pool Controlled by Clocker
-­‐	
  type:	
  brooklyn.networking.VirtualNetwork	
  
	
  	
  networkId:	
  database-­‐net	
  
	
  	
  cidr:	
  192.168.34.0/24	
  
	
  	
  gateway:	
  192.168.34.1	
  
	
  	
  dnsServers:	
  
	
  	
  -­‐	
  $brooklyn:entity("bind-­‐server").attributeWhenReady("host.address")	
  
	
  	
  addIptablesRules:	
  true	
  
-­‐	
  type:	
  brooklyn.networking.OpenStackVirtualNetwork	
  
	
  	
  networkId:	
  couchbase-­‐net	
  
Copyright 2015 by Cloudsoft Corporation Limited
@grkvlt
Clocker Networking
ContainerHost
SDN
Bridge
Container
Internet
SDN
Gateway
Copyright 2015 by Cloudsoft Corporation Limited
@grkvlt
Metaswitch Project Calico
•  SDN for Bare Metal, VMs and Containers
•  Layer 3
•  Uses OS IP routing and forwarding
•  Configuration in an etcd Cluster
•  Version 0.4.9 in Clocker
•  0.6.0 with libnetwork when Docker stable
•  Spans VMs and Containers
•  OpenStack Neutron network driver
Copyright 2015 by Cloudsoft Corporation Limited
@grkvltCopyright 2015 by Cloudsoft Corporation Limited
Cross-Target Deployment
@grkvlt
Networking Capabilities
•  Wide Area and Multi Region SDN
•  VPN or IPIP and NAT configuration
•  Cross Platform SDN
•  Both VMs and Containers on one VLAN
•  Name Resolution and Service Discovery
•  Contributing to Weave DNS for orchestration
•  Use traditional external BIND service entity
•  Brooklyn can inject correct endpoint address
Copyright 2015 by Cloudsoft Corporation Limited
Demonstra.on	
  
@grkvlt
Application Blueprint 1
Copyright 2015 by Cloudsoft Corporation Limited
id:	
  my-­‐application	
  
location:	
  my-­‐docker-­‐cloud	
  
services:	
  
-­‐	
  type:	
  docker:redis:3	
  
	
  	
  id:	
  redis	
  
	
  	
  openPorts:	
  6379	
  
-­‐	
  type:	
  docker:amouat/dnmonster:1.0	
  
	
  	
  id:	
  dnmonster	
  
	
  	
  openPorts:	
  8080	
  
-­‐	
  type:	
  docker:amouat/identidock:1.0	
  
	
  	
  id:	
  identidock	
  
	
  	
  portBindings:	
  
	
  	
  	
  	
  80:	
  9090	
  
	
  	
  links:	
  
	
  	
  -­‐	
  $brooklyn:component("redis")	
  
	
  	
  -­‐	
  $brooklyn:component("dnmonster")	
  
@grkvlt
Application Blueprint 2
Copyright 2015 by Cloudsoft Corporation Limited
id:	
  my-­‐application	
  
location:	
  my-­‐docker-­‐cloud	
  
services:	
  
-­‐	
  type:	
  org.apache.brooklyn.entity.nosql.redis.RedisStore	
  
	
  	
  id:	
  redis	
  
	
  	
  install.version:	
  3.0.0	
  
-­‐	
  type:	
  docker:amouat/dnmonster:1.0	
  
	
  	
  id:	
  dnmonster	
  
	
  	
  openPorts:	
  8080	
  
-­‐	
  type:	
  docker:amouat/identidock:1.0	
  
	
  	
  id:	
  identidock	
  
	
  	
  portBindings:	
  
	
  	
  	
  	
  80:	
  9090	
  
	
  	
  links:	
  
	
  	
  -­‐	
  $brooklyn:component("redis")	
  
	
  	
  -­‐	
  $brooklyn:component("dnmonster")	
  
@grkvlt
Application Blueprint 3
Copyright 2015 by Cloudsoft Corporation Limited
id:	
  my-­‐application	
  
location:	
  my-­‐docker-­‐cloud	
  
services:	
  
-­‐	
  type:	
  org.apache.brooklyn.entity.nosql.redis.RedisStore	
  
	
  	
  location:	
  jclouds:softlayer:ams01	
  
	
  	
  id:	
  redis	
  
	
  	
  install.version:	
  3.0.0	
  
-­‐	
  type:	
  docker:amouat/dnmonster:1.0	
  
	
  	
  id:	
  dnmonster	
  
	
  	
  openPorts:	
  8080	
  
-­‐	
  type:	
  docker:amouat/identidock:1.0	
  
	
  	
  id:	
  identidock	
  
	
  	
  portBindings:	
  
	
  	
  	
  	
  80:	
  9090	
  
	
  	
  links:	
  
	
  	
  -­‐	
  $brooklyn:component("redis")	
  
	
  	
  -­‐	
  $brooklyn:component("dnmonster")	
  
@grkvlt
Application Blueprint 4
Copyright 2015 by Cloudsoft Corporation Limited
id:	
  my-­‐application	
  
location:	
  jclouds:softlayer:ams01	
  
services:	
  
-­‐	
  type:	
  org.apache.brooklyn.entity.nosql.redis.RedisStore	
  
	
  	
  id:	
  redis	
  
	
  	
  install.version:	
  3.0.0	
  
-­‐	
  type:	
  docker:amouat/dnmonster:1.0	
  
	
  	
  id:	
  dnmonster	
  
	
  	
  openPorts:	
  8080	
  
-­‐	
  type:	
  docker:amouat/identidock:1.0	
  
	
  	
  id:	
  identidock	
  
	
  	
  portBindings:	
  
	
  	
  	
  	
  80:	
  9090	
  
	
  	
  links:	
  
	
  	
  -­‐	
  $brooklyn:component("redis")	
  
	
  	
  -­‐	
  $brooklyn:component("dnmonster")	
  
@grkvlt
Application Blueprint 5
Copyright 2015 by Cloudsoft Corporation Limited
id:	
  my-­‐application	
  
services:	
  
-­‐	
  type:	
  org.apache.brooklyn.entity.nosql.redis.RedisStore	
  
	
  	
  location:	
  jclouds:softlayer:ams01	
  
	
  	
  id:	
  redis	
  
	
  	
  install.version:	
  3.0.0	
  
-­‐	
  type:	
  marathon:amouat/dnmonster:1.0	
  
	
  	
  location:	
  my-­‐mesos-­‐cluster	
  
	
  	
  id:	
  dnmonster	
  
	
  	
  openPorts:	
  8080	
  
-­‐	
  type:	
  docker:amouat/identidock:1.0	
  
	
  	
  location:	
  my-­‐docker-­‐cloud	
  
	
  	
  id:	
  identidock	
  
	
  	
  portBindings:	
  
	
  	
  	
  	
  80:	
  9090	
  
	
  	
  links:	
  
	
  	
  -­‐	
  $brooklyn:component("redis")	
  
	
  	
  -­‐	
  $brooklyn:component("dnmonster")	
  
@grkvlt
•  Orchestrated Docker deployment and
configuration, with Project Calico SDN
•  Brooklyn application blueprints deployed with
network topology linked to OpenStack using
Project Calico
•  Automated attachment of containers to multiple
dynamic networks
•  Zero Config Multi-Target Deployment
Copyright 2015 by Cloudsoft Corporation Limited
Features
Clocker	
  1.x	
  
@grkvlt
Roadmap 1
•  Mesos Integration
•  View and manage existing Mesos clusters
•  Provide Mesos as another Brooklyn endpoint
•  Run Marathon tasks for Brooklyn entities
•  Future Possibilities...
•  Brooklyn as a Mesos framework or scheduler
•  Integrate with other frameworks like Riak BDP
Copyright 2015 by Cloudsoft Corporation Limited
@grkvlt
Roadmap 2
Copyright 2015 by Cloudsoft Corporation Limited
Clocker Solves:
– Docker Cloud Networking
– Container Placement and Provisioning
– Composite Application Management
Summary	
  
Ques.ons?	
  
Nyan Whale
@grkvlt
Resources
http://clocker.io/	
  
http://brooklyn.io/	
  
https://github.com/brooklyncentral/clocker/	
  
https://github.com/apache/incubator-­‐brooklyn/	
  
https://github.com/Metaswitch/calico-­‐docker/	
  
https://github.com/weaveworks/weave/	
  
http://blog.abstractvisitorpattern.co.uk/	
  

Weitere ähnliche Inhalte

Was ist angesagt?

Was ist angesagt? (20)

CNCF Live Webinar: Kubernetes 1.23
CNCF Live Webinar: Kubernetes 1.23CNCF Live Webinar: Kubernetes 1.23
CNCF Live Webinar: Kubernetes 1.23
 
DCEU 18: Docker Container Networking
DCEU 18: Docker Container NetworkingDCEU 18: Docker Container Networking
DCEU 18: Docker Container Networking
 
State of the Stack v4 - OpenStack in All It's Glory
State of the Stack v4 - OpenStack in All It's GloryState of the Stack v4 - OpenStack in All It's Glory
State of the Stack v4 - OpenStack in All It's Glory
 
The path to a serverless-native era with Kubernetes
The path to a serverless-native era with KubernetesThe path to a serverless-native era with Kubernetes
The path to a serverless-native era with Kubernetes
 
Introduction to kubernetes
Introduction to kubernetesIntroduction to kubernetes
Introduction to kubernetes
 
Containers and Kubernetes
Containers and KubernetesContainers and Kubernetes
Containers and Kubernetes
 
Die große Cloud-native FaaS-Hitparade
Die große Cloud-native FaaS-HitparadeDie große Cloud-native FaaS-Hitparade
Die große Cloud-native FaaS-Hitparade
 
On-the-Fly Containerization of Enterprise Java & .NET Apps by Amjad Afanah
On-the-Fly Containerization of Enterprise Java & .NET Apps by Amjad AfanahOn-the-Fly Containerization of Enterprise Java & .NET Apps by Amjad Afanah
On-the-Fly Containerization of Enterprise Java & .NET Apps by Amjad Afanah
 
DevNexus 2015: Kubernetes & Container Engine
DevNexus 2015: Kubernetes & Container EngineDevNexus 2015: Kubernetes & Container Engine
DevNexus 2015: Kubernetes & Container Engine
 
Docker Networking with Project Calico
Docker Networking with Project CalicoDocker Networking with Project Calico
Docker Networking with Project Calico
 
Transforming Application Delivery with PaaS and Linux Containers
Transforming Application Delivery with PaaS and Linux ContainersTransforming Application Delivery with PaaS and Linux Containers
Transforming Application Delivery with PaaS and Linux Containers
 
The Good, the Bad and the Ugly of Migrating Hundreds of Legacy Applications ...
 The Good, the Bad and the Ugly of Migrating Hundreds of Legacy Applications ... The Good, the Bad and the Ugly of Migrating Hundreds of Legacy Applications ...
The Good, the Bad and the Ugly of Migrating Hundreds of Legacy Applications ...
 
SpringBoot and Spring Cloud Service for MSA
SpringBoot and Spring Cloud Service for MSASpringBoot and Spring Cloud Service for MSA
SpringBoot and Spring Cloud Service for MSA
 
Open Container Technologies and OpenStack - Sorting Through Kubernetes, the O...
Open Container Technologies and OpenStack - Sorting Through Kubernetes, the O...Open Container Technologies and OpenStack - Sorting Through Kubernetes, the O...
Open Container Technologies and OpenStack - Sorting Through Kubernetes, the O...
 
Docker Federal Summit 2017 General Session
Docker Federal Summit 2017 General SessionDocker Federal Summit 2017 General Session
Docker Federal Summit 2017 General Session
 
Build Robust Blockchain Services with Hyperledger and Containers
Build Robust Blockchain Services with Hyperledger and ContainersBuild Robust Blockchain Services with Hyperledger and Containers
Build Robust Blockchain Services with Hyperledger and Containers
 
KubeCon USA 2017 brief Overview - from Kubernetes meetup Bangalore
KubeCon USA 2017 brief Overview - from Kubernetes meetup BangaloreKubeCon USA 2017 brief Overview - from Kubernetes meetup Bangalore
KubeCon USA 2017 brief Overview - from Kubernetes meetup Bangalore
 
Journey Through Four Stages of Kubernetes Deployment Maturity
Journey Through Four Stages of Kubernetes Deployment MaturityJourney Through Four Stages of Kubernetes Deployment Maturity
Journey Through Four Stages of Kubernetes Deployment Maturity
 
Using the SDACK Architecture on Security Event Inspection by Yu-Lun Chen and ...
Using the SDACK Architecture on Security Event Inspection by Yu-Lun Chen and ...Using the SDACK Architecture on Security Event Inspection by Yu-Lun Chen and ...
Using the SDACK Architecture on Security Event Inspection by Yu-Lun Chen and ...
 
Flowchain: A case study on building a Blockchain for the IoT
Flowchain: A case study on building a Blockchain for the IoTFlowchain: A case study on building a Blockchain for the IoT
Flowchain: A case study on building a Blockchain for the IoT
 

Andere mochten auch

What if ? Trends ad thoughts
What if ? Trends ad thoughtsWhat if ? Trends ad thoughts
What if ? Trends ad thoughts
Shashi Bellamkonda
 
SEO Analytics - Huzzah workshop
SEO Analytics - Huzzah workshopSEO Analytics - Huzzah workshop
SEO Analytics - Huzzah workshop
Ian Lurie
 
6 Step Digression
6 Step Digression6 Step Digression
6 Step Digression
jzatko
 
Java Script
Java ScriptJava Script
Java Script
Liu Xing
 
Copiade Vuelode Gansos
Copiade Vuelode GansosCopiade Vuelode Gansos
Copiade Vuelode Gansos
joanvinpa
 

Andere mochten auch (20)

Mesos @ Atlassian - MesosCon14
Mesos @ Atlassian - MesosCon14Mesos @ Atlassian - MesosCon14
Mesos @ Atlassian - MesosCon14
 
Spark / Mesos Cluster Optimization
Spark / Mesos Cluster OptimizationSpark / Mesos Cluster Optimization
Spark / Mesos Cluster Optimization
 
Textbox.io for IBM Connections - IBM Connect 2016
Textbox.io for IBM Connections - IBM Connect 2016Textbox.io for IBM Connections - IBM Connect 2016
Textbox.io for IBM Connections - IBM Connect 2016
 
Great marketing can save the world
Great marketing can save the worldGreat marketing can save the world
Great marketing can save the world
 
How to Sell Social Media to the C Suite _ Shashi Bellamkonda
How to Sell Social Media to the C Suite _ Shashi BellamkondaHow to Sell Social Media to the C Suite _ Shashi Bellamkonda
How to Sell Social Media to the C Suite _ Shashi Bellamkonda
 
Connecting cape town v3.0.pptx
Connecting cape town v3.0.pptxConnecting cape town v3.0.pptx
Connecting cape town v3.0.pptx
 
Unconventional Training
Unconventional  TrainingUnconventional  Training
Unconventional Training
 
What if ? Trends ad thoughts
What if ? Trends ad thoughtsWhat if ? Trends ad thoughts
What if ? Trends ad thoughts
 
SEO Analytics - Huzzah workshop
SEO Analytics - Huzzah workshopSEO Analytics - Huzzah workshop
SEO Analytics - Huzzah workshop
 
Present perfect
Present perfectPresent perfect
Present perfect
 
Video Game Collection @ Your Library
Video Game Collection @ Your LibraryVideo Game Collection @ Your Library
Video Game Collection @ Your Library
 
6 Step Digression
6 Step Digression6 Step Digression
6 Step Digression
 
Web analytics for sane people
Web analytics for sane peopleWeb analytics for sane people
Web analytics for sane people
 
Flyer icid & hathi
Flyer icid & hathiFlyer icid & hathi
Flyer icid & hathi
 
Java Script
Java ScriptJava Script
Java Script
 
Internet Marketing: Conversation marketing
Internet Marketing: Conversation marketingInternet Marketing: Conversation marketing
Internet Marketing: Conversation marketing
 
Saved (Part 1)
Saved (Part 1)Saved (Part 1)
Saved (Part 1)
 
How metrics shape decisions f2psummit
How metrics shape decisions f2psummitHow metrics shape decisions f2psummit
How metrics shape decisions f2psummit
 
So What and Who Cares: Getting Your Messaging Right
So What and Who Cares: Getting Your Messaging RightSo What and Who Cares: Getting Your Messaging Right
So What and Who Cares: Getting Your Messaging Right
 
Copiade Vuelode Gansos
Copiade Vuelode GansosCopiade Vuelode Gansos
Copiade Vuelode Gansos
 

Ähnlich wie Running Docker in Production

Ähnlich wie Running Docker in Production (20)

Bringing Docker to the Cloud
Bringing Docker to the CloudBringing Docker to the Cloud
Bringing Docker to the Cloud
 
Simulating Production with Clocker
Simulating Production with ClockerSimulating Production with Clocker
Simulating Production with Clocker
 
Clocker 1.0.0 Preview
Clocker 1.0.0 PreviewClocker 1.0.0 Preview
Clocker 1.0.0 Preview
 
Clocker - How to Train your Docker Cloud
Clocker - How to Train your Docker CloudClocker - How to Train your Docker Cloud
Clocker - How to Train your Docker Cloud
 
How to Train Your Docker Cloud
How to Train Your Docker CloudHow to Train Your Docker Cloud
How to Train Your Docker Cloud
 
Clocker: Docker in the Cloud
Clocker: Docker in the CloudClocker: Docker in the Cloud
Clocker: Docker in the Cloud
 
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
 
20191201 kubernetes managed weblogic revival - part 2
20191201 kubernetes managed weblogic revival - part 220191201 kubernetes managed weblogic revival - part 2
20191201 kubernetes managed weblogic revival - part 2
 
The Kubernetes WebLogic revival (part 2)
The Kubernetes WebLogic revival (part 2)The Kubernetes WebLogic revival (part 2)
The Kubernetes WebLogic revival (part 2)
 
56k.cloud training
56k.cloud training56k.cloud training
56k.cloud training
 
Multi-Container Apps spanning Docker, Mesos and OpenStack
Multi-Container Apps spanning Docker, Mesos and OpenStackMulti-Container Apps spanning Docker, Mesos and OpenStack
Multi-Container Apps spanning Docker, Mesos and OpenStack
 
Orchestraing the Blockchain Using Containers
Orchestraing the Blockchain Using ContainersOrchestraing the Blockchain Using Containers
Orchestraing the Blockchain Using Containers
 
Clocker - The Docker Cloud Maker
Clocker - The Docker Cloud MakerClocker - The Docker Cloud Maker
Clocker - The Docker Cloud Maker
 
Clocker: Managing Container Networking and Placement
Clocker: Managing Container Networking and PlacementClocker: Managing Container Networking and Placement
Clocker: Managing Container Networking and Placement
 
Container orchestration k8s azure kubernetes services
Container orchestration  k8s azure kubernetes servicesContainer orchestration  k8s azure kubernetes services
Container orchestration k8s azure kubernetes services
 
Tokyo Azure Meetup #7 - Introduction to Serverless Architectures with Azure F...
Tokyo Azure Meetup #7 - Introduction to Serverless Architectures with Azure F...Tokyo Azure Meetup #7 - Introduction to Serverless Architectures with Azure F...
Tokyo Azure Meetup #7 - Introduction to Serverless Architectures with Azure F...
 
Kaleido Platform Overview and Full-stack Blockchain Services
Kaleido Platform Overview and Full-stack Blockchain ServicesKaleido Platform Overview and Full-stack Blockchain Services
Kaleido Platform Overview and Full-stack Blockchain Services
 
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
 
HOW TO DRONE.IO IN CI/CD WORLD
HOW TO DRONE.IO IN CI/CD WORLDHOW TO DRONE.IO IN CI/CD WORLD
HOW TO DRONE.IO IN CI/CD WORLD
 
Docker and Cloud - Enables for DevOps - by ACA-IT
Docker and Cloud - Enables for DevOps - by ACA-ITDocker and Cloud - Enables for DevOps - by ACA-IT
Docker and Cloud - Enables for DevOps - by ACA-IT
 

Mehr von Andrew Kennedy

Mehr von Andrew Kennedy (12)

Hyperledger Lightning Talk
Hyperledger Lightning TalkHyperledger Lightning Talk
Hyperledger Lightning Talk
 
Containers: Beyond the Basics
Containers: Beyond the BasicsContainers: Beyond the Basics
Containers: Beyond the Basics
 
Clocker Now and Next
Clocker Now and NextClocker Now and Next
Clocker Now and Next
 
Introducing the Open Container Project
Introducing the Open Container ProjectIntroducing the Open Container Project
Introducing the Open Container Project
 
Metaswitch Project Calico
Metaswitch Project CalicoMetaswitch Project Calico
Metaswitch Project Calico
 
Docker Networking with Clocker and Weave
Docker Networking with Clocker and WeaveDocker Networking with Clocker and Weave
Docker Networking with Clocker and Weave
 
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
 
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 Evolution
Clocker EvolutionClocker Evolution
Clocker Evolution
 
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

%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
masabamasaba
 
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICECHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
9953056974 Low Rate Call Girls In Saket, Delhi NCR
 
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
masabamasaba
 

KĂźrzlich hochgeladen (20)

Announcing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK SoftwareAnnouncing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK Software
 
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
 
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
 
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
 
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
 
Define the academic and professional writing..pdf
Define the academic and professional writing..pdfDefine the academic and professional writing..pdf
Define the academic and professional writing..pdf
 
Introducing Microsoft’s new Enterprise Work Management (EWM) Solution
Introducing Microsoft’s new Enterprise Work Management (EWM) SolutionIntroducing Microsoft’s new Enterprise Work Management (EWM) Solution
Introducing Microsoft’s new Enterprise Work Management (EWM) Solution
 
%in ivory park+277-882-255-28 abortion pills for sale in ivory park
%in ivory park+277-882-255-28 abortion pills for sale in ivory park %in ivory park+277-882-255-28 abortion pills for sale in ivory park
%in ivory park+277-882-255-28 abortion pills for sale in ivory park
 
AI & Machine Learning Presentation Template
AI & Machine Learning Presentation TemplateAI & Machine Learning Presentation Template
AI & Machine Learning Presentation Template
 
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital TransformationWSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
 
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
 
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
 
Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview Questions
 
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
 
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICECHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
 
Architecture decision records - How not to get lost in the past
Architecture decision records - How not to get lost in the pastArchitecture decision records - How not to get lost in the past
Architecture decision records - How not to get lost in the past
 
8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech students8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech students
 
WSO2CON2024 - It's time to go Platformless
WSO2CON2024 - It's time to go PlatformlessWSO2CON2024 - It's time to go Platformless
WSO2CON2024 - It's time to go Platformless
 
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
 
%in kempton park+277-882-255-28 abortion pills for sale in kempton park
%in kempton park+277-882-255-28 abortion pills for sale in kempton park %in kempton park+277-882-255-28 abortion pills for sale in kempton park
%in kempton park+277-882-255-28 abortion pills for sale in kempton park
 

Running Docker in Production

  • 1. Running Docker in Production Using Apache Brooklyn, Clocker and Project Calico Andrew Donald Kennedy
  • 2. @grkvlt Agenda • Introduction • Application Management • Networking with Calico • Demonstration • Roadmap • Questions Copyright 2015 by Cloudsoft Corporation Limited
  • 4.
  • 5. @grkvlt Clocker Developers Copyright 2015 by Cloudsoft Corporation Limited
  • 6. @grkvlt Clocker Statistics •  Open Source •  1+ Years Old •  725 Commits •  153 Pull Requests •  11 Contributors •  2 External •  15 KLOC •  26 Releases http://www.redotheweb.com/CodeFlower/   Copyright 2015 by Cloudsoft Corporation Limited
  • 7. @grkvlt •  Application Management Platform •  Deploy, Manage and Monitor Blueprints •  Provisioning, Installation and Customization •  Management •  AutoScaling, Resilience, Performance, Security Apache Brooklyn
  • 8. @grkvlt Apache jclouds •  Java Cloud Library •  API Agnostic •  SoftLayer, OpenStack, AWS EC2, GCE… •  Create Virtual Machines •  Return SSH Endpoint •  Create Containers •  Docker REST API Copyright 2015 by Cloudsoft Corporation Limited
  • 9. @grkvlt Docker •  Containers •  Isolation •  Performance •  Composable •  Huge Ecosystem •  Compute Abstraction •  Process Wrapper
  • 10. @grkvlt •  So0ware-­‐Dened  Networking   •  Calico   •  Weave   •  Storage  and  Volume  Management   •  Flocker   •  More  Being  Developed…   •  Na.ve  Plugins   Docker Extras
  • 11. @grkvltCopyright 2015 by Cloudsoft Corporation Limited Apache Mesos ... •  Distributed Systems Kernel •  Cluster Management •  Resource Sharing and Placement •  Calico SDN Support •  Frameworks •  Aurora and Marathon •  Riak, Spark, Hadoop, Storm et al •  Brooklyn Scheduler
  • 12. @grkvlt What does it do? 1.  Spins up and Manages Docker Clusters in the Clouds 2.  Serves up Containers on Demand 3.  Manages Composite Application Deployments Copyright 2015 by Cloudsoft Corporation Limited
  • 13. @grkvlt What does it provide? •  Infrastructure Management •  Docker Hosts •  Swarm Controller •  Multi Host and Multi Container Applications •  Seamless Networking •  Communication Between Services •  Orchestration and Clustering •  Control of Containers •  Container Management Copyright 2015 by Cloudsoft Corporation Limited
  • 14. @grkvlt Clocker and Brooklyn Summary •  What is it? •  Brooklyn Application •  Brooklyn Location •  What does it provide? •  First Class Docker Support in Brooklyn •  Optimized Brooklyn Blueprints for Docker •  Container Orchestration Copyright 2015 by Cloudsoft Corporation Limited
  • 16. @grkvlt Brooklyn Blueprints •  Describe Applications •  OASIS CAMP Standard •  TOSCA and Compose in Development •  List of Services •  NoSQL Database Clusters •  Web Servers and Load Balancers •  Shell or Python Scripts •  Targeting Multiple Destinations •  VM, Container, Bare Metal •  Sensors, Effectors and Policies Copyright 2015 by Cloudsoft Corporation Limited
  • 17. @grkvlt Application Management •  Sensors •  Data from Services •  Effectors •  Brooklyn Policies •  Attached to Entities in Application •  Nothing Docker Specific •  Elastic Scaling and Cluster Resizing •  Service Resilience and Replacement Copyright 2015 by Cloudsoft Corporation Limited
  • 18. @grkvlt Blueprint Example 1 Copyright 2015 by Cloudsoft Corporation Limited id:  redis-­‐service   name:  "Docker  Hub  Redis  Service"   origin:  "https://registry.hub.docker.com/_/redis/"     locations:   -­‐  my-­‐docker-­‐cloud     services:   -­‐  type:  docker:redis:3      id:  redis      openPorts:      -­‐  6379  
  • 19. @grkvlt Blueprint Example 2 Copyright 2015 by Cloudsoft Corporation Limited id:  redis-­‐cluster   name:  "Redis  Cluster"     locations:   -­‐  jclouds:aws-­‐ec2:          region:  eu-­‐central-­‐1     services:   -­‐  type:  org.apache.brooklyn.entity.nosql.redis.RedisCluster      initialSize:  3  
  • 20. @grkvlt Blueprint Example 3 id:  appserver-­‐with-­‐policy   name:  "Tomcat  Scaling  Webapp  Server"   location:  jclouds:aws-­‐ec2:eu-­‐west-­‐1   services:   -­‐  type:  org.apache.brooklyn.entity.webapp.ControlledDynamicWebAppCluster      initialSize:  3      memberSpec:          $brooklyn:entitySpec:              type:  org.apache.brooklyn.entity.webapp.tomcat.Tomcat8Server              brooklyn.config:                  wars.root:                      https://  s3-­‐eu-­‐west-­‐1.amazonaws.com/brooklyn-­‐clocker/brooklyn-­‐example-­‐hello-­‐world-­‐sql-­‐webapp-­‐0.6.0.war                  http.port:  8080+                  java.sysprops:                        brooklyn.example.db.url:  $brooklyn:formatString("jdbc:%s%s?user=%s&password=%s",                              component("db").attributeWhenReady("datastore.url"),  "visitors",  "brooklyn",  "br00k11n")      brooklyn.policies:      -­‐  policyType:  org.apache.brooklyn.policy.autoscaling.AutoScalerPolicy          brooklyn.config:              metric:  $brooklyn:sensor("org.apache.brooklyn.entity.webapp.DynamicWebAppCluster",  "webapp.reqs.perSec.windowed.perNode")              metricLowerBound:  10              metricUpperBound:  100              minPoolSize:  1              maxPoolSize:  5   -­‐  type:  org.apache.brooklyn.entity.database.mysql.MySqlNode      id:  db      name:  DB  HelloWorld  Visitors      brooklyn.config:          datastore.creation.script.url:              https://  s3-­‐eu-­‐west-­‐1.amazonaws.com/brooklyn-­‐clocker/visitors-­‐creation-­‐script.sql   Copyright 2015 by Cloudsoft Corporation Limited
  • 21. @grkvlt Clocker Blueprints Copyright 2015 by Cloudsoft Corporation Limited
  • 22. @grkvlt Docker Cloud •  Brooklyn Blueprint for Docker Cluster •  Docker Engine on Cloud VM or Bare Metal •  Manage TLS Certificates and access credentials •  Create and Mount Volumes •  Setup Logging and Monitoring •  Install SDN and other Agents •  Configure local or remote Docker Registry •  Manage Capacity or Headroom Copyright 2015 by Cloudsoft Corporation Limited
  • 23. @grkvlt Headroom •  Ensure resources available •  Based on MaxContainers strategy limit •  Or Percentage Utilisation •  Or CPU and RAM allocation •  Scale Docker Host Cluster Automatically •  Add new Docker hosts •  Remove empty Docker hosts Copyright 2015 by Cloudsoft Corporation Limited
  • 24. @grkvlt Clocker 1.x Architecture Copyright 2015 by Cloudsoft Corporation Limited
  • 25. @grkvlt Docker Cloud 1.  On-demand 2.  Multi-Tenant 3.  Hardware Independent 4.  Application Level Copyright 2015 by Cloudsoft Corporation Limited
  • 26. @grkvlt Clocker Features • Docker Extensions to Brooklyn – Docker Image as First-Class Service Type – Placement Strategies for Containers – Create Docker Images and Networks •  Manages Docker Engine and Swarm – Deployment and Management – Installation and Configuration – Software-Defined Networking Copyright 2015 by Cloudsoft Corporation Limited
  • 27. @grkvlt Container Management •  Sources •  Docker Image Definition •  Docker Hub or Registry •  Dockerfile •  Brooklyn Entity Definition •  Create Image Automatically •  Commit or Push for Reuse Copyright 2015 by Cloudsoft Corporation Limited
  • 28. @grkvlt Clocker Orchestration Copyright 2015 by Cloudsoft Corporation Limited Docker Engine Virtual Machine Container Clocker Network Segment SDN Provider Cloud Provider Brooklyn
  • 30. @grkvlt Software-Defined Networking •  Needed for Seamless Provisioning •  Host to Host Communication •  Same LAN Segment •  No Port Forwarding •  Natural Application Configuration •  Initial Driver was EPMD Applications •  Useful for any opinionated applications Copyright 2015 by Cloudsoft Corporation Limited
  • 31. @grkvlt Networking Providers •  Implementation Agnostic •  L2 overlay, L3 routing etc. •  Similar to Hypervisor in Clouds •  Generic Interfaces •  Host Component •  Service Component (or Endpoint) •  Same idea as Docker Network Plugins Copyright 2015 by Cloudsoft Corporation Limited
  • 32. @grkvlt Networking Capabilities •  Attach Containers to Networks   •  Create Networks as Required •  Also Attach to VMs and Metal •  Provide Multiple Networks •  Per-Application or Shared •  Segmented Private Address Space •  Docker Port Forwarding for Ingress Copyright 2015 by Cloudsoft Corporation Limited
  • 33. @grkvlt Network Provisioning •  Minimal (Zero!) Configuration •  Use Sensible Defaults •  Allows SDN or Cloud Specific Configuration •  Allocate Address Space on Demand •  IP Pool Controlled by Clocker -­‐  type:  brooklyn.networking.VirtualNetwork      networkId:  database-­‐net      cidr:  192.168.34.0/24      gateway:  192.168.34.1      dnsServers:      -­‐  $brooklyn:entity("bind-­‐server").attributeWhenReady("host.address")      addIptablesRules:  true   -­‐  type:  brooklyn.networking.OpenStackVirtualNetwork      networkId:  couchbase-­‐net   Copyright 2015 by Cloudsoft Corporation Limited
  • 35. @grkvlt Metaswitch Project Calico •  SDN for Bare Metal, VMs and Containers •  Layer 3 •  Uses OS IP routing and forwarding •  Configuration in an etcd Cluster •  Version 0.4.9 in Clocker •  0.6.0 with libnetwork when Docker stable •  Spans VMs and Containers •  OpenStack Neutron network driver Copyright 2015 by Cloudsoft Corporation Limited
  • 36. @grkvltCopyright 2015 by Cloudsoft Corporation Limited Cross-Target Deployment
  • 37. @grkvlt Networking Capabilities •  Wide Area and Multi Region SDN •  VPN or IPIP and NAT configuration •  Cross Platform SDN •  Both VMs and Containers on one VLAN •  Name Resolution and Service Discovery •  Contributing to Weave DNS for orchestration •  Use traditional external BIND service entity •  Brooklyn can inject correct endpoint address Copyright 2015 by Cloudsoft Corporation Limited
  • 39.
  • 40. @grkvlt Application Blueprint 1 Copyright 2015 by Cloudsoft Corporation Limited id:  my-­‐application   location:  my-­‐docker-­‐cloud   services:   -­‐  type:  docker:redis:3      id:  redis      openPorts:  6379   -­‐  type:  docker:amouat/dnmonster:1.0      id:  dnmonster      openPorts:  8080   -­‐  type:  docker:amouat/identidock:1.0      id:  identidock      portBindings:          80:  9090      links:      -­‐  $brooklyn:component("redis")      -­‐  $brooklyn:component("dnmonster")  
  • 41. @grkvlt Application Blueprint 2 Copyright 2015 by Cloudsoft Corporation Limited id:  my-­‐application   location:  my-­‐docker-­‐cloud   services:   -­‐  type:  org.apache.brooklyn.entity.nosql.redis.RedisStore      id:  redis      install.version:  3.0.0   -­‐  type:  docker:amouat/dnmonster:1.0      id:  dnmonster      openPorts:  8080   -­‐  type:  docker:amouat/identidock:1.0      id:  identidock      portBindings:          80:  9090      links:      -­‐  $brooklyn:component("redis")      -­‐  $brooklyn:component("dnmonster")  
  • 42. @grkvlt Application Blueprint 3 Copyright 2015 by Cloudsoft Corporation Limited id:  my-­‐application   location:  my-­‐docker-­‐cloud   services:   -­‐  type:  org.apache.brooklyn.entity.nosql.redis.RedisStore      location:  jclouds:softlayer:ams01      id:  redis      install.version:  3.0.0   -­‐  type:  docker:amouat/dnmonster:1.0      id:  dnmonster      openPorts:  8080   -­‐  type:  docker:amouat/identidock:1.0      id:  identidock      portBindings:          80:  9090      links:      -­‐  $brooklyn:component("redis")      -­‐  $brooklyn:component("dnmonster")  
  • 43. @grkvlt Application Blueprint 4 Copyright 2015 by Cloudsoft Corporation Limited id:  my-­‐application   location:  jclouds:softlayer:ams01   services:   -­‐  type:  org.apache.brooklyn.entity.nosql.redis.RedisStore      id:  redis      install.version:  3.0.0   -­‐  type:  docker:amouat/dnmonster:1.0      id:  dnmonster      openPorts:  8080   -­‐  type:  docker:amouat/identidock:1.0      id:  identidock      portBindings:          80:  9090      links:      -­‐  $brooklyn:component("redis")      -­‐  $brooklyn:component("dnmonster")  
  • 44. @grkvlt Application Blueprint 5 Copyright 2015 by Cloudsoft Corporation Limited id:  my-­‐application   services:   -­‐  type:  org.apache.brooklyn.entity.nosql.redis.RedisStore      location:  jclouds:softlayer:ams01      id:  redis      install.version:  3.0.0   -­‐  type:  marathon:amouat/dnmonster:1.0      location:  my-­‐mesos-­‐cluster      id:  dnmonster      openPorts:  8080   -­‐  type:  docker:amouat/identidock:1.0      location:  my-­‐docker-­‐cloud      id:  identidock      portBindings:          80:  9090      links:      -­‐  $brooklyn:component("redis")      -­‐  $brooklyn:component("dnmonster")  
  • 45. @grkvlt •  Orchestrated Docker deployment and configuration, with Project Calico SDN •  Brooklyn application blueprints deployed with network topology linked to OpenStack using Project Calico •  Automated attachment of containers to multiple dynamic networks •  Zero Config Multi-Target Deployment Copyright 2015 by Cloudsoft Corporation Limited Features
  • 47. @grkvlt Roadmap 1 •  Mesos Integration •  View and manage existing Mesos clusters •  Provide Mesos as another Brooklyn endpoint •  Run Marathon tasks for Brooklyn entities •  Future Possibilities... •  Brooklyn as a Mesos framework or scheduler •  Integrate with other frameworks like Riak BDP Copyright 2015 by Cloudsoft Corporation Limited
  • 48. @grkvlt Roadmap 2 Copyright 2015 by Cloudsoft Corporation Limited
  • 49. Clocker Solves: – Docker Cloud Networking – Container Placement and Provisioning – Composite Application Management Summary  
  • 52. @grkvlt Resources http://clocker.io/   http://brooklyn.io/   https://github.com/brooklyncentral/clocker/   https://github.com/apache/incubator-­‐brooklyn/   https://github.com/Metaswitch/calico-­‐docker/   https://github.com/weaveworks/weave/   http://blog.abstractvisitorpattern.co.uk/ Â