SlideShare a Scribd company logo
Sascha Möllering | zanox AG
Docker in the Cloud
About me
Sascha Möllering
sascha@autoscaling.io
sascha.moellering@zanox.com
Lead Engineer / DevOps Hipster
zanox AG
http://autoscaling.io
@sascha242
About me
Java Magazin 11.14
Architektur im Kontext der Cloud: Patterns und Best Prac
AWS Virtual Cloud Summit
Continuous delivery in AWS using Docker
http://aws-summit.de/
Entwickler Spezial: Docker
Über den Wolken: Ein Erfahrungsbericht zum Docker-Ein
Agenda
• Problem?
• Real World example
• Docker implementations
• Deployment
• Q&A
Docker in the Cloud
Problem?
• Using different
Cloud providers
• Additionally: own DC
• Different
infrastructure
• Different
deployment
mechanisms
Solution!
• Different applications!
• For each deployment target -> different
package!
Docker in the Cloud
Docker in the Cloud
• One container to rule them all!
• Application detects deployment target
• Application uses specific infrastructure
Real Solution!
Real World example
• JVM based event-driven application
• Ingests data into bus system
• Uses Redis as a cache
• Base framework is Vert.x
• Pre-build Docker image
Real World example
Real World example
• Deployment targets:
– Own data center
– Amazon Web Services
– Microsoft Azure
Real World example
• Our own data center:
– Linux servers with Docker 1.6
– Apache Kafka 0.8.1/0.8.2
• Topics and partitions
• Easy to write, hard to read from
– Redis 2.8
Real World example
• Amazon Web Services:
– EC2 instance with Docker 1.6
– Amazon Kinesis
• Amazon’s implementation of Kafka (?)
• Streams and shards
• KCL does the heavy lifting
– ElastiCache with Redis engine
• Amazon’s implementation of Redis
Real World example
• Microsoft Azure:
– Azure Ubuntu VM with Docker 1.6
– Azure Service Bus
• Bus system in Azure
• AMQP and JMS
• Problem: no partitioning for Java
– Azure Cache
• Redis implementation in Azure
Real World example
• For Redis: Jedis client in all cases
• Difference: bus system
– mod-kafka
– mod-kinesis
– mod-service-bus
Real World example
• mod-kafka:
– Vert.x module for Apache Kafka
– Recieves events by other verticles
– Sends events to Kafka broker
– Either Strings or binary data
– Supports StatsD
– Based on Apache Kafka Java API
Real World example
• mod-kinesis:
– Vert.x module for Amazon Kinesis
– Recieves events by other verticles
– Sends events to Kinesis stream
– Either Strings or binary data
– Support for partitioning in events
– Based on AWS Java SDK
Real World example
• mod-service-bus:
– Vert.x module for Azure Service Bus
– Recieves events by other verticles
– Support for binary data only ATM
– No partitioning (Service Bus problem)
– Based on AMQP and JMS
Real World example
But … how can we
detect where the
application is running?
Real World example
http://169.254.169.254/latest/meta-data
Real World example
boolean isAzure = true;
try {
RoleEnvironment.getRoles();
} catch (Exception exc) {
isAzure = false;}
Real World example
• Problem: not working in Docker container
• Alternative: check for /etc/waagent.conf
• File has to be mapped in Docker container
Real World example
• StarterVerticle pattern:
– Bootstrapping Vert.x application
– Start all verticles in StarterVerticle
– Deploy all modules in StartVerticle
Real World example
Docker implementations
Docker implementations
• Basic implementation:
– EC2 using User Data
– Install Docker and start service
– Either pull Container in User Data script
– Or Remote API
Docker implementations
• AWS OpsWorks:
– No “official” support
– Docker Chef Cookbook by AWS
– Problem: Docker Images are build in the
Cookbook
Docker implementations
• Amazon Elastic Beanstalk:
– Support for single/multi container
environments
– ELB support on container level
– Multi container environments -> ECS
resources
– Running containers locally is possible
Docker implementations
• Amazon EC2 Container Service:
– Container management service for Docker
– Description language for applications (“task
definition”)
– Supports batch mode (taks that only run
once)
– Supports long running taks
– ELB support on container level
Docker implementations
Docker implementations
• xplat-cli:
– Support for:
• Ubuntu from Azure Image Gallery
• Custom Linux image with Azure Linux VM
Agent
– Similar to plain EC2 approach
Docker implementations
• xplat-cli:
– azure vm docker create
– Docker remote API
Docker in the Cloud
Deployment
Deployment
Amazon Cloud
Workstation
GitHub Jenkins
Python/Boto
Docker Image
Docker Registry S3 bucket with
Docker Images
Deployment
Deployment
Deployment
• AWS OpsWorks:
– Docker Chef Cookbook by AWS
– Add a new stack containing the Cookbook
– Add a new layer and add custom recipes
– Docker Images are build in the Cookbook
– Use custom JSON to modify stack
configuration
Deployment
• Amazon Elastic Beanstalk:
– Create an application using console or CLI
– Create Dockerrun.aws.json to deploy a
Docker container
– Create a ZIP-file containing application
files (optional)
Deployment
1. Create a cluster
2. Create a task definition
3. Create a service
4. Configure cluster
5. Run task
Deployment
Deployment
• Remote API is exposed
docker --tls -H tcp://<vm-name-
you-used>.cloudapp.net:4243
info
Deployment
• Useful Docker clients:
– Spotify Docker Client
– docker-py
Deployment
Deployment
Q&A

More Related Content

PPTX
Sas 2015 event_driven
PPT
DevOpsCon Cloud Workshop
PDF
Cloudsolutionday 2016: DevOps workflow with Docker on AWS
PPTX
Cloudsolutionday 2016: Getting Started with Severless Architecture
PPT
Sebastien goasguen cloud stack the next year
PDF
Securing Containers From Day One | null Ahmedabad Meetup
PDF
NDev Talk - Serverless Design Patterns
PPTX
Building Micro-Services with Scala
Sas 2015 event_driven
DevOpsCon Cloud Workshop
Cloudsolutionday 2016: DevOps workflow with Docker on AWS
Cloudsolutionday 2016: Getting Started with Severless Architecture
Sebastien goasguen cloud stack the next year
Securing Containers From Day One | null Ahmedabad Meetup
NDev Talk - Serverless Design Patterns
Building Micro-Services with Scala

What's hot (17)

PPTX
Meetup #3: Migrate a fast scale system to AWS
PDF
Iguazú: A Long-Running Job Scheduler using Docker and Mesos
PDF
Fuse integration-services
PPT
Sebastien goasguen cloud stack and docker
PPTX
Surati Tech Talks 2022 / Build reliable Svelte applications using Cypress
PPTX
Ibm cloud nativenetflixossfinal
PDF
Intro to Serverless
PPTX
Container orchestration overview
PPTX
104 meets cloud
PPTX
Greetings from AWS User Group Taiwan
PPTX
Serverless
PPT
Stacktician - CloudStack Collab Conference 2014
PDF
Overcoming 5 Common Docker Challenges: How We Do It at RightScale
PPTX
Weaveworks at AWS re:Invent 2016: Operations Management with Amazon ECS
PPTX
Going serverless with aws
PDF
Rohit yadav cloud stack internals
PPTX
Next generation pipelines
Meetup #3: Migrate a fast scale system to AWS
Iguazú: A Long-Running Job Scheduler using Docker and Mesos
Fuse integration-services
Sebastien goasguen cloud stack and docker
Surati Tech Talks 2022 / Build reliable Svelte applications using Cypress
Ibm cloud nativenetflixossfinal
Intro to Serverless
Container orchestration overview
104 meets cloud
Greetings from AWS User Group Taiwan
Serverless
Stacktician - CloudStack Collab Conference 2014
Overcoming 5 Common Docker Challenges: How We Do It at RightScale
Weaveworks at AWS re:Invent 2016: Operations Management with Amazon ECS
Going serverless with aws
Rohit yadav cloud stack internals
Next generation pipelines
Ad

Viewers also liked (20)

PPTX
MTC 2013 monetarisierung
PDF
Lift Urban Entrepreneurs Seoul Ideation Workshop, Nov 12, 2016
KEY
BED Con JBoss
PPTX
Get IT together
PPTX
Docker in der Cloud
PPTX
Cloud Patterns Beuth Hochschule
PPTX
Docker in der AWS Cloud
PPTX
Real World Enterprise Reactive Programming using Vert.x
PPTX
Docker on AWS
PDF
東京都市大 大学院特別講義 「ITによって進化する公共交通の最前線」 前編:情報技術編
PDF
Pitch, please. What startups should pitch and why?
PPTX
Production ready Vert.x
PPTX
Integrate Jenkins with S3
PPTX
ボトムアップアプローチでのVRサービス立ち上げ / DeNA TechCon 2016
PPTX
Infrastructure as Code
PPTX
Continuous Delivery and Infrastructure as Code
PPTX
Cloud Architecture: Patterns and Best Practices
PDF
自動運転に向けた取り組みと安全管理
PDF
Microservices: Architecture for Agile Software Development
PPTX
その後のDeNAのネイティブアプリ開発 #denatechcon
MTC 2013 monetarisierung
Lift Urban Entrepreneurs Seoul Ideation Workshop, Nov 12, 2016
BED Con JBoss
Get IT together
Docker in der Cloud
Cloud Patterns Beuth Hochschule
Docker in der AWS Cloud
Real World Enterprise Reactive Programming using Vert.x
Docker on AWS
東京都市大 大学院特別講義 「ITによって進化する公共交通の最前線」 前編:情報技術編
Pitch, please. What startups should pitch and why?
Production ready Vert.x
Integrate Jenkins with S3
ボトムアップアプローチでのVRサービス立ち上げ / DeNA TechCon 2016
Infrastructure as Code
Continuous Delivery and Infrastructure as Code
Cloud Architecture: Patterns and Best Practices
自動運転に向けた取り組みと安全管理
Microservices: Architecture for Agile Software Development
その後のDeNAのネイティブアプリ開発 #denatechcon
Ad

Similar to Docker in the Cloud (20)

PDF
Running your dockerized application(s) on AWS Elastic Container Service
PPTX
Docker Meetup Paris: enterprise Docker
PDF
Play Framework + Docker + CircleCI + AWS + EC2 Container Service
PDF
Docker in practice
PDF
Introduction to Docker at the Azure Meet-up in New York
PDF
Introduction to Docker and deployment and Azure
PDF
Introduction to Docker, December 2014 "Tour de France" Bordeaux Special Edition
PDF
Best Practices for Developing & Deploying Java Applications with Docker
PPTX
AWS SSA Webinar 12 - Getting started on AWS with Containers
PPTX
Docker New York Meetup May 2015 - The Docker Orchestration Ecosystem on Azure
PDF
Docker 1 0 1 0 1: a Docker introduction, actualized for the stable release of...
PDF
Why everyone is excited about Docker (and you should too...) - Carlo Bonamic...
PDF
Docker 0.11 at MaxCDN meetup in Los Angeles
PPTX
Compare Docker deployment options in the public cloud
PPTX
Docker Ecosystem on Azure
PPTX
Docker Seattle Meetup April 2015 - The Docker Orchestration Ecosystem on Azure
PDF
Come costruire una Platform As A Service con Docker, Kubernetes Go e Java
PDF
Dessi docker kubernetes paas cloud
PDF
Containers, Docker, and Microservices: the Terrific Trio
PDF
Deploy microservices in containers with Docker and friends - KCDC2015
Running your dockerized application(s) on AWS Elastic Container Service
Docker Meetup Paris: enterprise Docker
Play Framework + Docker + CircleCI + AWS + EC2 Container Service
Docker in practice
Introduction to Docker at the Azure Meet-up in New York
Introduction to Docker and deployment and Azure
Introduction to Docker, December 2014 "Tour de France" Bordeaux Special Edition
Best Practices for Developing & Deploying Java Applications with Docker
AWS SSA Webinar 12 - Getting started on AWS with Containers
Docker New York Meetup May 2015 - The Docker Orchestration Ecosystem on Azure
Docker 1 0 1 0 1: a Docker introduction, actualized for the stable release of...
Why everyone is excited about Docker (and you should too...) - Carlo Bonamic...
Docker 0.11 at MaxCDN meetup in Los Angeles
Compare Docker deployment options in the public cloud
Docker Ecosystem on Azure
Docker Seattle Meetup April 2015 - The Docker Orchestration Ecosystem on Azure
Come costruire una Platform As A Service con Docker, Kubernetes Go e Java
Dessi docker kubernetes paas cloud
Containers, Docker, and Microservices: the Terrific Trio
Deploy microservices in containers with Docker and friends - KCDC2015

Recently uploaded (20)

PPTX
CHE NAA, , b,mn,mblblblbljb jb jlb ,j , ,C PPT.pptx
PPTX
522797556-Unit-2-Temperature-measurement-1-1.pptx
PPTX
QR Codes Qr codecodecodecodecocodedecodecode
PDF
LABUAN4D EXCLUSIVE SERVER STAR GAMING ASIA NO.1
PPTX
PptxGenJS_Demo_Chart_20250317130215833.pptx
DOCX
Unit-3 cyber security network security of internet system
PPTX
CSharp_Syntax_Basics.pptxxxxxxxxxxxxxxxxxxxxxxxxxxxx
PPTX
Internet___Basics___Styled_ presentation
PDF
The Internet -By the Numbers, Sri Lanka Edition
PDF
Testing WebRTC applications at scale.pdf
PDF
Paper PDF World Game (s) Great Redesign.pdf
PDF
Slides PDF The World Game (s) Eco Economic Epochs.pdf
PPTX
innovation process that make everything different.pptx
PDF
LABUAN4D EXCLUSIVE SERVER STAR GAMING ASIA NO.1
PPTX
introduction about ICD -10 & ICD-11 ppt.pptx
PPTX
Introduction about ICD -10 and ICD11 on 5.8.25.pptx
PDF
💰 𝐔𝐊𝐓𝐈 𝐊𝐄𝐌𝐄𝐍𝐀𝐍𝐆𝐀𝐍 𝐊𝐈𝐏𝐄𝐑𝟒𝐃 𝐇𝐀𝐑𝐈 𝐈𝐍𝐈 𝟐𝟎𝟐𝟓 💰
PDF
Sims 4 Historia para lo sims 4 para jugar
PPTX
INTERNET------BASICS-------UPDATED PPT PRESENTATION
PPTX
durere- in cancer tu ttresjjnklj gfrrjnrs mhugyfrd
CHE NAA, , b,mn,mblblblbljb jb jlb ,j , ,C PPT.pptx
522797556-Unit-2-Temperature-measurement-1-1.pptx
QR Codes Qr codecodecodecodecocodedecodecode
LABUAN4D EXCLUSIVE SERVER STAR GAMING ASIA NO.1
PptxGenJS_Demo_Chart_20250317130215833.pptx
Unit-3 cyber security network security of internet system
CSharp_Syntax_Basics.pptxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Internet___Basics___Styled_ presentation
The Internet -By the Numbers, Sri Lanka Edition
Testing WebRTC applications at scale.pdf
Paper PDF World Game (s) Great Redesign.pdf
Slides PDF The World Game (s) Eco Economic Epochs.pdf
innovation process that make everything different.pptx
LABUAN4D EXCLUSIVE SERVER STAR GAMING ASIA NO.1
introduction about ICD -10 & ICD-11 ppt.pptx
Introduction about ICD -10 and ICD11 on 5.8.25.pptx
💰 𝐔𝐊𝐓𝐈 𝐊𝐄𝐌𝐄𝐍𝐀𝐍𝐆𝐀𝐍 𝐊𝐈𝐏𝐄𝐑𝟒𝐃 𝐇𝐀𝐑𝐈 𝐈𝐍𝐈 𝟐𝟎𝟐𝟓 💰
Sims 4 Historia para lo sims 4 para jugar
INTERNET------BASICS-------UPDATED PPT PRESENTATION
durere- in cancer tu ttresjjnklj gfrrjnrs mhugyfrd

Docker in the Cloud

Editor's Notes

  • #15: - Read offset stored in Zookeeper
  • #16: - Read offset stored in DynamoDB by KCL
  • #31: - ELB support: nginx reverse proxy conencts to container ip and port