SlideShare a Scribd company logo
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/	
  

More Related Content

What's hot

CNCF Live Webinar: Kubernetes 1.23
CNCF Live Webinar: Kubernetes 1.23CNCF Live Webinar: Kubernetes 1.23
CNCF Live Webinar: Kubernetes 1.23
LibbySchulze
 
DCEU 18: Docker Container Networking
DCEU 18: Docker Container NetworkingDCEU 18: Docker Container Networking
DCEU 18: Docker Container Networking
Docker, Inc.
 
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
Randy Bias
 
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
sparkfabrik
 
Introduction to kubernetes
Introduction to kubernetesIntroduction to kubernetes
Introduction to kubernetes
Gabriel Carro
 
Containers and Kubernetes
Containers and KubernetesContainers and Kubernetes
Containers and Kubernetes
Altoros
 
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
QAware GmbH
 
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
Docker, Inc.
 
DevNexus 2015: Kubernetes & Container Engine
DevNexus 2015: Kubernetes & Container EngineDevNexus 2015: Kubernetes & Container Engine
DevNexus 2015: Kubernetes & Container Engine
Kit Merker
 
Docker Networking with Project Calico
Docker Networking with Project CalicoDocker Networking with Project Calico
Docker Networking with Project Calico
Andrew Kennedy
 
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
Giovanni Galloro
 
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 ...
Josef Adersberger
 
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
Oracle Korea
 
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...
Daniel Krook
 
Docker Federal Summit 2017 General Session
Docker Federal Summit 2017 General SessionDocker Federal Summit 2017 General Session
Docker Federal Summit 2017 General Session
Docker, Inc.
 
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
LinuxCon ContainerCon CloudOpen China
 
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
Krishna-Kumar
 
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
Altoros
 
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 ...
Docker, Inc.
 
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
LinuxCon ContainerCon CloudOpen China
 

What's hot (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
 

Viewers also liked

Mesos @ Atlassian - MesosCon14
Mesos @ Atlassian - MesosCon14Mesos @ Atlassian - MesosCon14
Mesos @ Atlassian - MesosCon14
Ryan Thomas
 
Spark / Mesos Cluster Optimization
Spark / Mesos Cluster OptimizationSpark / Mesos Cluster Optimization
Spark / Mesos Cluster Optimization
ebiznext
 
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
Tiny
 
Great marketing can save the world
Great marketing can save the worldGreat marketing can save the world
Great marketing can save the world
Ian Lurie
 
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
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
Brian Pinnock
 
Unconventional Training
Unconventional  TrainingUnconventional  Training
Unconventional Training
Molinaro Andrea
 
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 workshopIan Lurie
 
Present perfect
Present perfectPresent perfect
Present perfect
Maribel Gonzalez
 
Video Game Collection @ Your Library
Video Game Collection @ Your LibraryVideo Game Collection @ Your Library
Video Game Collection @ Your Library
Maggie Hommel Thomann
 
6 Step Digression
6 Step Digression6 Step Digression
6 Step Digression
jzatko
 
Web analytics for sane people
Web analytics for sane peopleWeb analytics for sane people
Web analytics for sane people
Ian Lurie
 
Flyer icid & hathi
Flyer icid & hathiFlyer icid & hathi
Flyer icid & hathi
Surana Ir, MSc, PU-SDA
 
Java Script
Java ScriptJava Script
Java Script
Liu Xing
 
Internet Marketing: Conversation marketing
Internet Marketing: Conversation marketingInternet Marketing: Conversation marketing
Internet Marketing: Conversation marketing
Ian Lurie
 
Saved (Part 1)
Saved (Part 1)Saved (Part 1)
Saved (Part 1)
jzatko
 
How metrics shape decisions f2psummit
How metrics shape decisions f2psummitHow metrics shape decisions f2psummit
How metrics shape decisions f2psummit
Pascal Zuta
 
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
Kivi Leroux Miller
 
Copiade Vuelode Gansos
Copiade Vuelode GansosCopiade Vuelode Gansos
Copiade Vuelode Gansos
joanvinpa
 

Viewers also liked (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
 

Similar to Running Docker in Production

Bringing Docker to the Cloud
Bringing Docker to the CloudBringing Docker to the Cloud
Bringing Docker to the Cloud
Andrew Kennedy
 
Simulating Production with Clocker
Simulating Production with ClockerSimulating Production with Clocker
Simulating Production with Clocker
Andrew Kennedy
 
Clocker 1.0.0 Preview
Clocker 1.0.0 PreviewClocker 1.0.0 Preview
Clocker 1.0.0 Preview
Andrew Kennedy
 
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
Andrew Kennedy
 
How to Train Your Docker Cloud
How to Train Your Docker CloudHow to Train Your Docker Cloud
How to Train Your Docker Cloud
C4Media
 
Clocker: Docker in the Cloud
Clocker: Docker in the CloudClocker: Docker in the Cloud
Clocker: Docker in the Cloud
Andrew 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 OpenStack
Andrew Kennedy
 
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
makker_nl
 
The Kubernetes WebLogic revival (part 2)
The Kubernetes WebLogic revival (part 2)The Kubernetes WebLogic revival (part 2)
The Kubernetes WebLogic revival (part 2)
Simon Haslam
 
56k.cloud training
56k.cloud training56k.cloud training
56k.cloud training
Brian Christner
 
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
Docker, Inc.
 
Orchestraing the Blockchain Using Containers
Orchestraing the Blockchain Using ContainersOrchestraing the Blockchain Using Containers
Orchestraing the Blockchain Using Containers
Andrew Kennedy
 
Clocker - The Docker Cloud Maker
Clocker - The Docker Cloud MakerClocker - The Docker Cloud Maker
Clocker - The Docker Cloud Maker
Andrew Kennedy
 
Clocker: Managing Container Networking and Placement
Clocker: Managing Container Networking and PlacementClocker: Managing Container Networking and Placement
Clocker: Managing Container Networking and Placement
Docker, Inc.
 
Container orchestration k8s azure kubernetes services
Container orchestration  k8s azure kubernetes servicesContainer orchestration  k8s azure kubernetes services
Container orchestration k8s azure kubernetes services
Rajesh Kolla
 
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...
Tokyo Azure Meetup
 
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
Peter Broadhurst
 
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
Duncan Johnston-Watt
 
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
Aleksandr Maklakov
 
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
Stijn Wijndaele
 

Similar to 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
 

More from Andrew Kennedy

Hyperledger Lightning Talk
Hyperledger Lightning TalkHyperledger Lightning Talk
Hyperledger Lightning Talk
Andrew Kennedy
 
Containers: Beyond the Basics
Containers: Beyond the BasicsContainers: Beyond the Basics
Containers: Beyond the Basics
Andrew Kennedy
 
Clocker Now and Next
Clocker Now and NextClocker Now and Next
Clocker Now and Next
Andrew Kennedy
 
Introducing the Open Container Project
Introducing the Open Container ProjectIntroducing the Open Container Project
Introducing the Open Container Project
Andrew Kennedy
 
Metaswitch Project Calico
Metaswitch Project CalicoMetaswitch Project Calico
Metaswitch Project Calico
Andrew Kennedy
 
Docker Networking with Clocker and Weave
Docker Networking with Clocker and WeaveDocker Networking with Clocker and Weave
Docker Networking with Clocker and Weave
Andrew 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 Brooklyn
Andrew 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 Brooklyn
Andrew Kennedy
 
Clocker Evolution
Clocker EvolutionClocker Evolution
Clocker Evolution
Andrew Kennedy
 
Clocker and OpenStack
Clocker and OpenStackClocker and OpenStack
Clocker and OpenStack
Andrew Kennedy
 
Introducing Clocker
Introducing ClockerIntroducing Clocker
Introducing Clocker
Andrew Kennedy
 
Global Scale ESB with Mule
Global Scale ESB with MuleGlobal Scale ESB with Mule
Global Scale ESB with Mule
Andrew Kennedy
 

More from 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
 

Recently uploaded

Microservice Teams - How the cloud changes the way we work
Microservice Teams - How the cloud changes the way we workMicroservice Teams - How the cloud changes the way we work
Microservice Teams - How the cloud changes the way we work
Sven Peters
 
Neo4j - Product Vision and Knowledge Graphs - GraphSummit Paris
Neo4j - Product Vision and Knowledge Graphs - GraphSummit ParisNeo4j - Product Vision and Knowledge Graphs - GraphSummit Paris
Neo4j - Product Vision and Knowledge Graphs - GraphSummit Paris
Neo4j
 
Transform Your Communication with Cloud-Based IVR Solutions
Transform Your Communication with Cloud-Based IVR SolutionsTransform Your Communication with Cloud-Based IVR Solutions
Transform Your Communication with Cloud-Based IVR Solutions
TheSMSPoint
 
Why Choose Odoo 17 Community & How it differs from Odoo 17 Enterprise Edition
Why Choose Odoo 17 Community & How it differs from Odoo 17 Enterprise EditionWhy Choose Odoo 17 Community & How it differs from Odoo 17 Enterprise Edition
Why Choose Odoo 17 Community & How it differs from Odoo 17 Enterprise Edition
Envertis Software Solutions
 
Webinar On-Demand: Using Flutter for Embedded
Webinar On-Demand: Using Flutter for EmbeddedWebinar On-Demand: Using Flutter for Embedded
Webinar On-Demand: Using Flutter for Embedded
ICS
 
E-commerce Development Services- Hornet Dynamics
E-commerce Development Services- Hornet DynamicsE-commerce Development Services- Hornet Dynamics
E-commerce Development Services- Hornet Dynamics
Hornet Dynamics
 
Vitthal Shirke Java Microservices Resume.pdf
Vitthal Shirke Java Microservices Resume.pdfVitthal Shirke Java Microservices Resume.pdf
Vitthal Shirke Java Microservices Resume.pdf
Vitthal Shirke
 
Fundamentals of Programming and Language Processors
Fundamentals of Programming and Language ProcessorsFundamentals of Programming and Language Processors
Fundamentals of Programming and Language Processors
Rakesh Kumar R
 
socradar-q1-2024-aviation-industry-report.pdf
socradar-q1-2024-aviation-industry-report.pdfsocradar-q1-2024-aviation-industry-report.pdf
socradar-q1-2024-aviation-industry-report.pdf
SOCRadar
 
How to write a program in any programming language
How to write a program in any programming languageHow to write a program in any programming language
How to write a program in any programming language
Rakesh Kumar R
 
Artificia Intellicence and XPath Extension Functions
Artificia Intellicence and XPath Extension FunctionsArtificia Intellicence and XPath Extension Functions
Artificia Intellicence and XPath Extension Functions
Octavian Nadolu
 
LORRAINE ANDREI_LEQUIGAN_HOW TO USE WHATSAPP.pptx
LORRAINE ANDREI_LEQUIGAN_HOW TO USE WHATSAPP.pptxLORRAINE ANDREI_LEQUIGAN_HOW TO USE WHATSAPP.pptx
LORRAINE ANDREI_LEQUIGAN_HOW TO USE WHATSAPP.pptx
lorraineandreiamcidl
 
GraphSummit Paris - The art of the possible with Graph Technology
GraphSummit Paris - The art of the possible with Graph TechnologyGraphSummit Paris - The art of the possible with Graph Technology
GraphSummit Paris - The art of the possible with Graph Technology
Neo4j
 
Using Xen Hypervisor for Functional Safety
Using Xen Hypervisor for Functional SafetyUsing Xen Hypervisor for Functional Safety
Using Xen Hypervisor for Functional Safety
Ayan Halder
 
Orion Context Broker introduction 20240604
Orion Context Broker introduction 20240604Orion Context Broker introduction 20240604
Orion Context Broker introduction 20240604
Fermin Galan
 
APIs for Browser Automation (MoT Meetup 2024)
APIs for Browser Automation (MoT Meetup 2024)APIs for Browser Automation (MoT Meetup 2024)
APIs for Browser Automation (MoT Meetup 2024)
Boni García
 
SWEBOK and Education at FUSE Okinawa 2024
SWEBOK and Education at FUSE Okinawa 2024SWEBOK and Education at FUSE Okinawa 2024
SWEBOK and Education at FUSE Okinawa 2024
Hironori Washizaki
 
Essentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FMEEssentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FME
Safe Software
 
May Marketo Masterclass, London MUG May 22 2024.pdf
May Marketo Masterclass, London MUG May 22 2024.pdfMay Marketo Masterclass, London MUG May 22 2024.pdf
May Marketo Masterclass, London MUG May 22 2024.pdf
Adele Miller
 
OpenMetadata Community Meeting - 5th June 2024
OpenMetadata Community Meeting - 5th June 2024OpenMetadata Community Meeting - 5th June 2024
OpenMetadata Community Meeting - 5th June 2024
OpenMetadata
 

Recently uploaded (20)

Microservice Teams - How the cloud changes the way we work
Microservice Teams - How the cloud changes the way we workMicroservice Teams - How the cloud changes the way we work
Microservice Teams - How the cloud changes the way we work
 
Neo4j - Product Vision and Knowledge Graphs - GraphSummit Paris
Neo4j - Product Vision and Knowledge Graphs - GraphSummit ParisNeo4j - Product Vision and Knowledge Graphs - GraphSummit Paris
Neo4j - Product Vision and Knowledge Graphs - GraphSummit Paris
 
Transform Your Communication with Cloud-Based IVR Solutions
Transform Your Communication with Cloud-Based IVR SolutionsTransform Your Communication with Cloud-Based IVR Solutions
Transform Your Communication with Cloud-Based IVR Solutions
 
Why Choose Odoo 17 Community & How it differs from Odoo 17 Enterprise Edition
Why Choose Odoo 17 Community & How it differs from Odoo 17 Enterprise EditionWhy Choose Odoo 17 Community & How it differs from Odoo 17 Enterprise Edition
Why Choose Odoo 17 Community & How it differs from Odoo 17 Enterprise Edition
 
Webinar On-Demand: Using Flutter for Embedded
Webinar On-Demand: Using Flutter for EmbeddedWebinar On-Demand: Using Flutter for Embedded
Webinar On-Demand: Using Flutter for Embedded
 
E-commerce Development Services- Hornet Dynamics
E-commerce Development Services- Hornet DynamicsE-commerce Development Services- Hornet Dynamics
E-commerce Development Services- Hornet Dynamics
 
Vitthal Shirke Java Microservices Resume.pdf
Vitthal Shirke Java Microservices Resume.pdfVitthal Shirke Java Microservices Resume.pdf
Vitthal Shirke Java Microservices Resume.pdf
 
Fundamentals of Programming and Language Processors
Fundamentals of Programming and Language ProcessorsFundamentals of Programming and Language Processors
Fundamentals of Programming and Language Processors
 
socradar-q1-2024-aviation-industry-report.pdf
socradar-q1-2024-aviation-industry-report.pdfsocradar-q1-2024-aviation-industry-report.pdf
socradar-q1-2024-aviation-industry-report.pdf
 
How to write a program in any programming language
How to write a program in any programming languageHow to write a program in any programming language
How to write a program in any programming language
 
Artificia Intellicence and XPath Extension Functions
Artificia Intellicence and XPath Extension FunctionsArtificia Intellicence and XPath Extension Functions
Artificia Intellicence and XPath Extension Functions
 
LORRAINE ANDREI_LEQUIGAN_HOW TO USE WHATSAPP.pptx
LORRAINE ANDREI_LEQUIGAN_HOW TO USE WHATSAPP.pptxLORRAINE ANDREI_LEQUIGAN_HOW TO USE WHATSAPP.pptx
LORRAINE ANDREI_LEQUIGAN_HOW TO USE WHATSAPP.pptx
 
GraphSummit Paris - The art of the possible with Graph Technology
GraphSummit Paris - The art of the possible with Graph TechnologyGraphSummit Paris - The art of the possible with Graph Technology
GraphSummit Paris - The art of the possible with Graph Technology
 
Using Xen Hypervisor for Functional Safety
Using Xen Hypervisor for Functional SafetyUsing Xen Hypervisor for Functional Safety
Using Xen Hypervisor for Functional Safety
 
Orion Context Broker introduction 20240604
Orion Context Broker introduction 20240604Orion Context Broker introduction 20240604
Orion Context Broker introduction 20240604
 
APIs for Browser Automation (MoT Meetup 2024)
APIs for Browser Automation (MoT Meetup 2024)APIs for Browser Automation (MoT Meetup 2024)
APIs for Browser Automation (MoT Meetup 2024)
 
SWEBOK and Education at FUSE Okinawa 2024
SWEBOK and Education at FUSE Okinawa 2024SWEBOK and Education at FUSE Okinawa 2024
SWEBOK and Education at FUSE Okinawa 2024
 
Essentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FMEEssentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FME
 
May Marketo Masterclass, London MUG May 22 2024.pdf
May Marketo Masterclass, London MUG May 22 2024.pdfMay Marketo Masterclass, London MUG May 22 2024.pdf
May Marketo Masterclass, London MUG May 22 2024.pdf
 
OpenMetadata Community Meeting - 5th June 2024
OpenMetadata Community Meeting - 5th June 2024OpenMetadata Community Meeting - 5th June 2024
OpenMetadata Community Meeting - 5th June 2024
 

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-­‐Defined  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/