SlideShare a Scribd company logo
So many Docker platforms, so little time…
Michele Leroux Bustamante
Cofounder / CIO Solliance
Microservices / Security Architect
@michelebusta
2
Frequently
Asked
Questions
#1
How do I know
if I need an
orchestration
platform?
#2
How do I
CHOOSE
the right
approach or
platform?
Considerations
Deployment scenarios
Single container / instance
Classic load balancing
Orchestration platforms at scale
Features
Scheduling and resource constraints
Load balancing and networking
Service discovery
Recovery and self-healing
Auto-scale
Overall manageability
In ~ 60 minutes…
Docker things
Quick review of Docker / container lifecycle
Docker-compose, networking, DNS
Deploying containers (Azure Container Instance)
Platform things
Scheduling and constraints (Docker Swarm / Azure Container Service)
Orchestration / management UI intro (Docker Enterprise Edition)
Load balancing, discovery (DC/OS / Azure Container Service)
Recovery, self-healing, auto-scale (Amazon ECS, Kubernetes / Google Container
Engine)
Quick review, Docker things
DEMO
Docker Compose
Run multi-container applications
Create a service definition file
YML (YAML) file “docker-compose.yml”
Defines:
Container image
Ports
Networks
Volumes
Environment variables
Configuration
Image Registry
Local
Machine
Container
Registry
Push
Images
Image
Repo
Latest
Version Info
Repository tags
Promotion tags
Tagged
Images
Images
Build
Images
Code
Dockerfile
Automated Image Builds
GitHub /
TFS
CI Tool
Container
Registry
Build
Images
Pull
Latest
Push
Images
Service
Image
Repo
Latest
Version Info
Repository tags
Promotion tags
Dockerfile
Checkin
Automate or
manually
execute build
Service
Repo
Tagged
Images
Push images and deploy services
DEMO
.NET Developer Days - So many Docker platforms, so little time...
.NET Developer Days - So many Docker platforms, so little time...
What does deployment topology
look like?
Containers and VMs
Azure, AWS, Google all support this with IaaS
Docker-enabled VMs
Load balanced
Azure PaaS options
App Service with Linux container support
Azure Container Instance
VM Topologies
Single VM
We’ll be ok with a single
instance. Containers
start fast.
NO!
VM Topologies
Single VM
Load balanced VMs
IaaS
Web Apps
Load balanced VMs
VM Topologies
Single VM
Load balanced VMs
IaaS
Web Apps
Load balanced VMs
Azure Container Instance
Serverless
Azure Container Instance
DEMO
Azure Container Instance
Azure Container Instance
.NET Developer Days - So many Docker platforms, so little time...
VM Topologies
Single VM
Load balanced VMs
IaaS
Web Apps
Load balanced VMs
Azure Container Instance
Serverless
Multiple Containers per VM
Reverse proxy / router per VM
Scheduling Services
Scheduling Services
Now the fun begins…
Container Platforms / Considerations
Platforms
• Amazon ECS
• Google Container
Engine
• Azure Container
Service
• Mesosphere DC/OS
• Kubernetes
• Docker Enterprise
Edition
Infrastructure
• Management cluster
• Agent node cluster
• Proxy / routing/
discovery
infrastructure
• Docker registry
Core Features
• Service registration
and discovery
• Load balancing
• Routing
• Auto-scaling
• Self-healing
• Upgrade, rollback,
recovery
• Versioning
Platform Master and Agent clusters
LEADER
Master
Nodes
/ Cluster
Agent
Nodes
Scheduling and constraints
Docker Swarm
Docker Swarm
Scheduling
LEADER
Master
Nodes
/ Cluster
Agent
Nodes
Schedule services
Pull image
Run container
Service
Description
### making use of the swarm cluster
#Show swarm cluster info
$ docker -H tcp://0.0.0.0:2375 info
#Show containers
$ docker -H tcp://0.0.0.0:2375 ps
#Run container on cluster
$ docker -H tcp://0.0.0.0:2375 run -d -p 8080:8080 dasblonde/helloworlddocker
$ docker -H tcp://0.0.0.0:2375 ps
#Run another container, same port (gets different node)
$ docker -H tcp://0.0.0.0:2375 run -d -p 8080:8080 dasblonde/helloworlddocker
$ docker -H tcp://0.0.0.0:2375 ps
###container constraints (port)
#Run another container, same port (no more 8080 ports available, error)
$ docker -H tcp://0.0.0.0:2375 run -d -p 8080:8080 dasblonde/helloworlddocker
$ docker logs --tail 20 containers_swarm_1
#Make request to containers
$ curl 10.0.0.4:8080
$ curl 10.0.0.7:8080
#container constraints (image affinity, memory)
#Memory affinity and image affinity
$ docker -H tcp://0.0.0.0:2375 run -d -m 3G dasblonde/helloworlddocker
$ docker -H tcp://0.0.0.0:2375 info
$ docker -H tcp://0.0.0.0:2375 run -d -e affinity:image==dasblonde/helloworlddocker
dasblonde/helloworlddocker
#Failure due to applied constraints
$ docker -H tcp://0.0.0.0:2375 run -d -m 3G -e
affinity:image==dasblonde/helloworlddocker dasblonde/helloworlddocker
#Node allocation with available memory
$ docker -H tcp://0.0.0.0:2375 run -d -m 2G dasblonde/helloworlddocker
$ docker -H tcp://0.0.0.0:2375 ps
Docker Swarm / scheduling and resource constraints
DEMO
.NET Developer Days - So many Docker platforms, so little time...
.NET Developer Days - So many Docker platforms, so little time...
.NET Developer Days - So many Docker platforms, so little time...
Resource Constraints
Implicit constraints
Physical hardware
Technical limitation (port reuse)
Explicit constraints
CPU, memory, IO
Determines node distribution
Enables containment of resource usage
Multi-tenancy
Avoiding noisy neighbor
Orchestration / Management
Native UI
Docker Enterprise Edition
Docker EE Trial
DEMO
Load balancing, discovery
Mesosphere DC/OS /
Azure Container Service
Mesos / Marathon
DC/OS and Azure Container Service
Load balancing / discovery
DEMO
Recovery, self-healing, auto-
scale
Amazon ECS
Kubernetes / Google Container
Engine
.NET Developer Days - So many Docker platforms, so little time...
Public
ALB
Route 53
DNS
Availability Zone A
Availability Zone B
Availability Zone C
Public Subnet
Private Subnet
Private Subnet
ECS Nodes
ECS Nodes
Private Subnet
ECS NodesEC2 Nodes
Public Subnet
EC2 Nodes
Public Subnet
EC2 Nodes
Private
ALB
Server Density
Server Density
Room for Upgrades, Restarts
What about me???
Adding Nodes
What about me???
Redistribution of Instances
What about me???
Room for New Instances
What about me???
AWS EC2 Container Services (ECS)
Self healing, auto scale, health checks
DEMO
.NET Developer Days - So many Docker platforms, so little time...
.NET Developer Days - So many Docker platforms, so little time...
.NET Developer Days - So many Docker platforms, so little time...
Kubernetes / Google Container Engine
Job execution
DEMO
Review
Docker without an orchestration platform
Features of orchestration platforms we care about
Load balancing, networking
Scheduling, discovery
Recovery, self healing
Auto scale
A look at
Docker Swarm / Docker EE
Mesosphere DC/OS / Azure Container Service
AWS
Kubernetes / Google Container Engine
.NET Developer Days - So many Docker platforms, so little time...

More Related Content

PPTX
.NET Developer Days - Launching Patterns for Containers
PPTX
So Many Docker Platforms...so little time
PDF
Amazon EC2 Container Service in Action
PPTX
Docker toolbox
PPTX
Docker in production
PPTX
ILM - Pipeline in the cloud
PDF
Docker up and running
PDF
Docker Swarm 0.2.0
.NET Developer Days - Launching Patterns for Containers
So Many Docker Platforms...so little time
Amazon EC2 Container Service in Action
Docker toolbox
Docker in production
ILM - Pipeline in the cloud
Docker up and running
Docker Swarm 0.2.0

What's hot (20)

PDF
What’s new in Swarm 1.1
 
PDF
Artem Zhurbila - docker clusters (solit 2015)
PDF
EC2 Container Service
PDF
Wanting distributed volumes - Experiences with ceph-docker
PPTX
An intro to Docker, Terraform, and Amazon ECS
PDF
Kubernetes 1.3 - Highlights
PPTX
Orchestration? You Don't Need Orchestration. What You Want Is Choreography by...
PDF
Docker Security in Production Overview
PPTX
Running High Performance & Fault-tolerant Elasticsearch Clusters on Docker
PDF
Under the Hood with Docker Swarm Mode - Drew Erny and Nishant Totla, Docker
PPTX
Introduction to Amazon EC2 Container Service and setting up build pipeline wi...
PDF
AtlasCamp 2015: The age of orchestration: From Docker basics to cluster manag...
PPTX
Docker 1.5
PDF
CI and CD at Scale: Scaling Jenkins with Docker and Apache Mesos
PDF
Making Sense Out of Amazon EC2 Container Service
PDF
Automatic docker service announcement with registrator and confd
PPTX
Lessons from running potentially malicious code inside containers
PDF
Service discovery in Docker environments
PDF
15 kubernetes failure points you should watch
PPT
Running High Performance and Fault Tolerant Elasticsearch Clusters on Docker
What’s new in Swarm 1.1
 
Artem Zhurbila - docker clusters (solit 2015)
EC2 Container Service
Wanting distributed volumes - Experiences with ceph-docker
An intro to Docker, Terraform, and Amazon ECS
Kubernetes 1.3 - Highlights
Orchestration? You Don't Need Orchestration. What You Want Is Choreography by...
Docker Security in Production Overview
Running High Performance & Fault-tolerant Elasticsearch Clusters on Docker
Under the Hood with Docker Swarm Mode - Drew Erny and Nishant Totla, Docker
Introduction to Amazon EC2 Container Service and setting up build pipeline wi...
AtlasCamp 2015: The age of orchestration: From Docker basics to cluster manag...
Docker 1.5
CI and CD at Scale: Scaling Jenkins with Docker and Apache Mesos
Making Sense Out of Amazon EC2 Container Service
Automatic docker service announcement with registrator and confd
Lessons from running potentially malicious code inside containers
Service discovery in Docker environments
15 kubernetes failure points you should watch
Running High Performance and Fault Tolerant Elasticsearch Clusters on Docker
Ad

Similar to .NET Developer Days - So many Docker platforms, so little time... (20)

PDF
Introduction to Docker
PPTX
Scaling Docker Containers using Kubernetes and Azure Container Service
PPTX
Gaming across multiple devices
PDF
Helsinki dockermeetup 12102017-orchestrate_docker_with_docker
PDF
Higher order infrastructure: from Docker basics to cluster management - Nicol...
PPTX
Docker Seattle Meetup April 2015 - The Docker Orchestration Ecosystem on Azure
PPTX
Docker New York Meetup May 2015 - The Docker Orchestration Ecosystem on Azure
PDF
Containers and Nutanix - Acropolis Container Services
PPTX
Docker and kubernetes_introduction
PDF
Sheep it
PDF
Getting Started with MariaDB with Docker
PPTX
Docker and kubernetes
PDF
From Monolith to Docker Distributed Applications
PDF
MariaDB on Docker
PDF
M|18 Running MariaDB TX on Containers
PPTX
Azure: Docker Container orchestration, PaaS ( Service Farbic ) and High avail...
PPTX
Docker Security workshop slides
PDF
Getting started with MariaDB with Docker
PPTX
Docker San Francisco Meetup April 2015 - The Docker Orchestration Ecosystem o...
PDF
Habitat & Amazon's ECS
Introduction to Docker
Scaling Docker Containers using Kubernetes and Azure Container Service
Gaming across multiple devices
Helsinki dockermeetup 12102017-orchestrate_docker_with_docker
Higher order infrastructure: from Docker basics to cluster management - Nicol...
Docker Seattle Meetup April 2015 - The Docker Orchestration Ecosystem on Azure
Docker New York Meetup May 2015 - The Docker Orchestration Ecosystem on Azure
Containers and Nutanix - Acropolis Container Services
Docker and kubernetes_introduction
Sheep it
Getting Started with MariaDB with Docker
Docker and kubernetes
From Monolith to Docker Distributed Applications
MariaDB on Docker
M|18 Running MariaDB TX on Containers
Azure: Docker Container orchestration, PaaS ( Service Farbic ) and High avail...
Docker Security workshop slides
Getting started with MariaDB with Docker
Docker San Francisco Meetup April 2015 - The Docker Orchestration Ecosystem o...
Habitat & Amazon's ECS
Ad

More from Michele Leroux Bustamante (18)

PPTX
You are not excused! How to avoid security blind spots on the way to production
PPTX
Security Tips for Enterprise Azure Solutions
PPTX
Surviving Microservices - v2
PPTX
Design Practices for a Secure Azure Solution
PPTX
The Ultimate Logging Architecture - You KNOW you want it!
PPTX
The Power of Social Login
PPTX
Unleash Your Inner Startup (Sweden, Dev Sum)
PPTX
Deep thoughts from the real world of azure
PPTX
PPTX
Security Avalanche
PPTX
Surviving the Azure Avalanche
PPTX
DevOps for Azure
PPTX
End to End Security with MVC and Web API
PPT
Windows Azure Essentials V3
PPTX
Channel Your Inner Startup and Go For It!
PPTX
Global Windows Azure Bootcamp - San Diego
PPTX
Windows Azure Essentials
PPTX
Pricing and Revenue Projection in a Cloud-Centric World
You are not excused! How to avoid security blind spots on the way to production
Security Tips for Enterprise Azure Solutions
Surviving Microservices - v2
Design Practices for a Secure Azure Solution
The Ultimate Logging Architecture - You KNOW you want it!
The Power of Social Login
Unleash Your Inner Startup (Sweden, Dev Sum)
Deep thoughts from the real world of azure
Security Avalanche
Surviving the Azure Avalanche
DevOps for Azure
End to End Security with MVC and Web API
Windows Azure Essentials V3
Channel Your Inner Startup and Go For It!
Global Windows Azure Bootcamp - San Diego
Windows Azure Essentials
Pricing and Revenue Projection in a Cloud-Centric World

Recently uploaded (20)

PPTX
sap open course for s4hana steps from ECC to s4
PDF
Advanced methodologies resolving dimensionality complications for autism neur...
PDF
Building Integrated photovoltaic BIPV_UPV.pdf
PDF
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
DOCX
The AUB Centre for AI in Media Proposal.docx
PDF
Electronic commerce courselecture one. Pdf
PDF
KodekX | Application Modernization Development
PPT
“AI and Expert System Decision Support & Business Intelligence Systems”
PDF
Empathic Computing: Creating Shared Understanding
PDF
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
PDF
Reach Out and Touch Someone: Haptics and Empathic Computing
PDF
Agricultural_Statistics_at_a_Glance_2022_0.pdf
PDF
Encapsulation theory and applications.pdf
PDF
The Rise and Fall of 3GPP – Time for a Sabbatical?
PPT
Teaching material agriculture food technology
PPTX
20250228 LYD VKU AI Blended-Learning.pptx
PPTX
Programs and apps: productivity, graphics, security and other tools
PDF
Unlocking AI with Model Context Protocol (MCP)
PDF
Dropbox Q2 2025 Financial Results & Investor Presentation
PDF
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
sap open course for s4hana steps from ECC to s4
Advanced methodologies resolving dimensionality complications for autism neur...
Building Integrated photovoltaic BIPV_UPV.pdf
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
The AUB Centre for AI in Media Proposal.docx
Electronic commerce courselecture one. Pdf
KodekX | Application Modernization Development
“AI and Expert System Decision Support & Business Intelligence Systems”
Empathic Computing: Creating Shared Understanding
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
Reach Out and Touch Someone: Haptics and Empathic Computing
Agricultural_Statistics_at_a_Glance_2022_0.pdf
Encapsulation theory and applications.pdf
The Rise and Fall of 3GPP – Time for a Sabbatical?
Teaching material agriculture food technology
20250228 LYD VKU AI Blended-Learning.pptx
Programs and apps: productivity, graphics, security and other tools
Unlocking AI with Model Context Protocol (MCP)
Dropbox Q2 2025 Financial Results & Investor Presentation
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf

.NET Developer Days - So many Docker platforms, so little time...

Editor's Notes

  • #2: Docker is a key player in the microservices movement and is arguably the leader in containerization technology. That said, there are many ways to “do Docker”. Between the leading cloud providers AWS, Azure, and Google; plus other platform stacks like Docker/Swarm, Apache Mesos – DC/OS, and Kubernetes; it can get confusing. In this session, Michele will bring her customer experiences building solutions across most of these platforms – to provide you with the highlights, the architecture topologies, and some perspective on the way she helps her customers choose the right platform for their cloud, on premise or hybrid solutions.