SlideShare uma empresa Scribd logo
1 de 29
Compare Docker Deployment
Options in Public Cloud
Presenter Name: Sreenivas Makam
Presented at: Container conference, Bangalore
Presentation Date: April 7, 2017
About me
• Senior Engineering Manager at Cisco Systems Data Center
group
• Author of “Mastering CoreOS”
https://www.packtpub.com/networking-and-servers/mastering-
coreos/ )
• Docker Captain(https://www.docker.com/community/docker-
captains )
• Blog: https://sreeninet.wordpress.com/
• Code hacks: https://github.com/smakam
• LinkedIn: https://in.linkedin.com/in/sreenivasmakam
• Twitter: @srmakam
Agenda
•Deployment options – Overview
•Methodology used to compare
•Comparison of Deployment options
•Pick the right option for your use
case
Considerations for Container solution
Which Orchestration solution to choose?
Should it be deployed in VM or bare-metal?
How to run stateful applications?
How to achieve Service discovery and DNS?
Should it be deployed on premise or public cloud?
Is central logging required?
How to monitor and troubleshoot container platform?
Is the solution secure?
How to inject secrets and dynamic configuration?
Docker deployment in public cloud
Docker Machine
(for AWS, Azure, GCE)
Cloud provider’s CaaS
(AWS ECS, Google GKE,
Microsoft ACS)
Docker’s custom cloud
(Docker for AWS, Azure, GCE)
Docker’s CaaS (Docker cloud,
Docker datacenter)
Docker
deployment
Docker Machine
• Tool from Docker to create and manage Docker nodes.
• Supported for majority of cloud providers including AWS, Azure
and Google cloud.
• Creates Docker node on the cloud with 1 command.
• Latest Docker version is pre-installed in the node.
• Both old and new Swarm modes can be used to create clusters.
• Provides automatic secure access to Docker node.
• Minimal integration to native cloud provider features.
• Targeted as a developer tool.
Docker custom cloud
• This is Docker’s solution to get Containers integrate well with the
cloud infrastructure.
• Docker for AWS and Azure is available for general use. Docker for
GCE is available as beta currently.
• Swarm mode cluster gets automatically created using a cloud
provider template and with few simple inputs from the user.
• Solution integrated with Cloud networking, storage, logging,
security group, load balancer.
• Targeted for hybrid cloud or multi-cloud deployments.
Docker CaaS
• Container service offered by Docker.
• Docker Datacenter(DDC) - Docker’s enterprise grade container platform
• Docker cloud - Hosted service from Docker to manage Containers
• DDC can be run on-premise or in any of the major public cloud. Official support is
present now for AWS and Azure. GCE would be added soon.
• UCP and DTR are main components of DDC and they can be deployed in a highly
available manner.
• DDC provides enterprise grade features like high availability, RBAC and LDAP
integration.
• DDC and Docker cloud provides nice user interface for management and is also
compatible with regular Docker API.
• Docker cloud is targeted as a simple hosted solution for relatively small deployments.
• DDC is targeted as a complete Container platform since it includes all associated
services like service discovery, logging, networking, storage with a decent cloud
integration.
Docker datacenter - Components
https://www.docker.com/enterprise-edition
Docker datacenter for AWS - Architecture
https://docs.docker.com/datacenter/install/aws/
Docker datacenter for Azure - Architecture
https://blog.docker.com/2016/06/docker-datacenter-aws-azure-cloud/
Cloud provider CaaS
• Container service offered by Cloud providers.
• ECS – From Amazon(Docker with Amazon’s proprietary orchestrator)
• GKE – From Google(Docker with Kubernetes orchestrator)
• ACS – From Microsoft(Docker with either Swarm, Kubernetes, Mesos)
• Provides very tight cloud integration.
• In some cases, there seems to be a lag with latest Docker version
and features available with this option.
• Targeted for folks who want to manage VMs and Containers
together. This solution suits companies which have a big cloud
presence and already using public cloud.
Amazon ECS - Architecture
Uses proprietary orchestrator currently. There is a plan to make
orchestrator as pluggable module in the future.
http://www.allthingsdistributed.com/2015/07/under-the-hood-of-the-amazon-ec2-container-service.html http://docs.aws.amazon.com/AmazonECS/latest/developerguide/Welcome.html
Azure Container service- Architecture
• Supports major orchestrators like Docker Swarm, Kubernetes, Mesos.
• ACS only takes care of installing and deploying the cluster. Management of
containers and services is done by orchestrator itself.
https://docs.microsoft.com/en-in/azure/container-service/container-service-intro
GKE Architecture
Kubernetes Architecture
GKE Architecture – Built on Docker
and Kubernetes
• GKE makes Kubernetes easier to manage and integrates well with
Google compute’s other cloud services.
https://www.cloudbees.com/blog/demand-jenkins-slaves-kubernetes-and-google-container-engine
https://www.slideshare.net/wattsteve/kubernetes-48013640
Methodology used to compare
• Built multi-node cluster in all cases. Tried to use Swarm mode in most of
the cases where it is supported. In some cases, used custom
orchestrator, old Swarm mode or Kubernetes where Swarm mode is not
supported.
• Deployed multi-container voting application using Docker containers in
the multi-node cluster.
• Accessed the externally exposed services using load balancer where it is
available.
• Tried scaling up/down services as well as scaling up/down the cluster.
• Checked features like logging capability, service discovery, high
availability, networking and storage.
• Evaluated ease of management, upgradability and the cloud integration.
• Details are captured here(https://github.com/smakam/dockerdeploy)
Multi-Container Voting app
https://github.com/docker/example-voting-app
Comparison parameter - Orchestration
• Both old and new Swarm modes can be used.Docker Machine
• Swarm mode
Docker’s
custom cloud
• ECS – Amazon’s proprietary scheduler
• GKE – Kubernetes
• ACS – Supports Docker Swarm, Kubernetes,
Mesos
Cloud provider’s
CaaS
• DDC – Swarm mode
• Docker cloud – proprietary orchestration and
Swarm mode, Swarm mode available as beta
Docker’s CaaS
Comparison parameter - Management
• Docker-machine interface for managing cluster.
Container management using Docker tools.Docker Machine
• Cluster creation using cloud provider template,
Cluster management using Cloud provider tools,
Container management using Docker tools.
Docker’s
custom cloud
• ECS – ECS GUI and CLI
• GKE – Cluster management using Google cloud,
Kubernetes dashboard to manage Containers
• ACS – Cluster management using Azure cloud,
Container management using Docker tools.
Cloud provider’s CaaS
• DDC – UCP and DTR has GUI to manage,
Supports Docker API.
• Docker cloud – GUI to manage. Supports Docker
API.
Docker’s CaaS
Comparison parameter – Networking & Storage
• Libnetwork with overlay for networking. Docker volume
plugin supported by cloud provider can be used.Docker Machine
• Libnetwork with overlay for networking. Cloudstor volume
plugin is supported currently.
Docker’s
custom cloud
• ECS – Overlay network not supported. Docker volume is
supported with limited drivers
• GKE – Kubernetes based networking. Storage through
Kubernetes persistent disk and google cloud storage
• ACS – Libnetwork with overlay for networking. Docker
volume driver using Azure file storage is supported.
Cloud provider’s
CaaS
• Libnetwork with overlay for networking. Docker volume
plugin supported by cloud provider can be usedDocker’s CaaS
Comparison parameter – Registry
• Docker hub is default. Can be used with any Docker
registry.
Docker
Machine
• Can be used with any Docker registry.
Docker’s
custom cloud
• ECS –Docker registry and Amazon’s ECR
• GKE – Docker registry and Google’s container
registry
• ACS – Docker registry and Microsoft’s ACR
Cloud
provider’s CaaS
• DDC – DTR
• Docker cloud – Docker cloud registry and any other
Docker registry
Docker’s CaaS
Comparison parameter – Cloud integration
• Minimal cloud integration.
Docker
Machine
• Integrated with cloud networking, firewall, load
balancer, logging. This can be improved further.
Docker’s
custom cloud
• Provides native integration of Containers to other
cloud offerings from provider.
Cloud
provider’s CaaS
• DDC – Good integration with cloud services.
• Docker cloud – Swarm mode has minimal integration
now. Non-swarm mode has better integration.
Docker’s CaaS
Comparison parameter – Application file format
• Compose formatDocker Machine
• Compose format
Docker’s
custom cloud
• ECS – Proprietary task definition format, limited
compose support
• GKE – Kubernetes task definition format
• ACS – Compose can be used with Docker Swarm
Cloud provider’s
CaaS
• DDC – Compose format
• Docker cloud – Compose format, supported stackfile
format earlier which is similar to compose
Docker’s CaaS
Comparison parameter – Docker version & upgrade
• Uses CE latest version 17.03. No easy way to use older
versions.
• Docker upgrade has to be done manually.
Docker Machine
• Uses CE latest version 17.03. No easy way to use older
versions.
• Rolling upgrade is supported.
Docker’s
custom cloud
• ECS – Docker version 1.12.6. No flexibility with Docker
version. Container agent upgrade will also upgrade Docker
version. Upgrade is manual.
• GKE – Docker 1.11.2, Kubernetes 1.5.4. Rolling upgrade is
supported.
• ACS – CE version 17.03. No option to upgrade the cluster,
suggestion is to create new cluster.
Cloud provider’s
CaaS
• DDC – Uses EE 17.03 version. Need to upgrade UCP, DTR
and Docker engine separately. No rolling upgrade yet.
• Docker cloud – Uses CE latest version 17.03. Provides
integrated upgrade option.
Docker’s CaaS
Comparison parameter – Enterprise features
• Enterprise features has to be manually setup.Docker Machine
• Enterprise features has to be manually setup
Docker’s
custom cloud
• Integrated with cloud provider’s enterprise features like
user management, high availability.
Cloud provider’s
CaaS
• DDC – Highly available. Provides RBAC and LDAP
integration.
• Docker cloud – Supports organizations and teams.
Docker’s CaaS
Comparison parameter - Cost
• Cost is for cloud resource usage, no separate
cost for ContainersDocker Machine
• Cost is for cloud resource usage, no separate
cost for Containers
Docker’s
custom cloud
• AWS, ACS - Cost is for cloud resource usage,
no separate cost for Containers
• GKE – Chargeable after 5 Container nodes.
Cloud provider’s
CaaS
• DDC – Separate cost for Container nodes.
• Docker cloud – Separate charge for private
repositories
Docker’s CaaS
How do I pick the right option for me?
Production
use case
VM and
Container
used
Docker CaaS
Enterprise
grade DDC
Docker Cloud
Hybrid/Multi
cloud
Cloud
provider CaaS
Kubernetes
GKE
Azure
ECS
Azure
Docker custom
cloud
Docker
Machine
yes
yes
yes
yes
yesno
no
no
no
no
Caution:
This flowchart oversimplifies the problem.
There are more considerations than this.
References
• https://github.com/smakam/dockerdeploy
• https://sreeninet.wordpress.com/2016/09/03/docker-for-aws-deployment-options/
• https://docs.docker.com/machine/drivers/aws/
• https://docs.docker.com/machine/drivers/azure/
• https://docs.docker.com/machine/drivers/gce/
• http://docs.aws.amazon.com/AmazonECS/latest/developerguide/Welcome.html
• https://docs.microsoft.com/en-in/azure/container-service/container-service-intro
• https://cloud.google.com/container-engine/
• https://docs.docker.com/docker-for-aws/
• https://docs.docker.com/docker-for-azure/
• https://docs.docker.com/docker-for-aws/
• https://beta.docker.com/docs/gcp/
• https://docs.docker.com/docker-cloud/
• https://www.docker.com/enterprise-edition
Thank you!
Any questions?

Mais conteĂşdo relacionado

Mais procurados

Kubernetes on CloudStack with coreOS
Kubernetes on CloudStack with coreOSKubernetes on CloudStack with coreOS
Kubernetes on CloudStack with coreOSSebastien Goasguen
 
Deploying apps with Docker and Kubernetes
Deploying apps with Docker and KubernetesDeploying apps with Docker and Kubernetes
Deploying apps with Docker and KubernetesDaniel Fenton
 
Scaling Jenkins with Docker: Swarm, Kubernetes or Mesos?
Scaling Jenkins with Docker: Swarm, Kubernetes or Mesos?Scaling Jenkins with Docker: Swarm, Kubernetes or Mesos?
Scaling Jenkins with Docker: Swarm, Kubernetes or Mesos?Carlos Sanchez
 
Docker Online Meetup: Infrakit update and Q&A
Docker Online Meetup: Infrakit update and Q&ADocker Online Meetup: Infrakit update and Q&A
Docker Online Meetup: Infrakit update and Q&ADocker, Inc.
 
Docker serverless v1.0
Docker serverless v1.0Docker serverless v1.0
Docker serverless v1.0Thomas Chacko
 
Devops in Networking
Devops in NetworkingDevops in Networking
Devops in NetworkingSreenivas Makam
 
ContainerDayVietnam2016: Django Development with Docker
ContainerDayVietnam2016: Django Development with DockerContainerDayVietnam2016: Django Development with Docker
ContainerDayVietnam2016: Django Development with DockerDocker-Hanoi
 
ContainerDayVietnam2016: Containers with OpenStack
ContainerDayVietnam2016: Containers with OpenStackContainerDayVietnam2016: Containers with OpenStack
ContainerDayVietnam2016: Containers with OpenStackDocker-Hanoi
 
ContainerDayVietnam2016: Docker at scale with Mesos
ContainerDayVietnam2016: Docker at scale with MesosContainerDayVietnam2016: Docker at scale with Mesos
ContainerDayVietnam2016: Docker at scale with MesosDocker-Hanoi
 
Scaling Docker Containers using Kubernetes and Azure Container Service
Scaling Docker Containers using Kubernetes and Azure Container ServiceScaling Docker Containers using Kubernetes and Azure Container Service
Scaling Docker Containers using Kubernetes and Azure Container ServiceBen Hall
 
Docker Orchestration at Production Scale
Docker Orchestration at Production Scale Docker Orchestration at Production Scale
Docker Orchestration at Production Scale Docker, Inc.
 
Docker Container As A Service - March 2016
Docker Container As A Service - March 2016Docker Container As A Service - March 2016
Docker Container As A Service - March 2016Patrick Chanezon
 
ContainerDayVietnam2016: Docker for JS Developer
ContainerDayVietnam2016: Docker for JS DeveloperContainerDayVietnam2016: Docker for JS Developer
ContainerDayVietnam2016: Docker for JS DeveloperDocker-Hanoi
 
Docker Networking : 0 to 60mph slides
Docker Networking : 0 to 60mph slidesDocker Networking : 0 to 60mph slides
Docker Networking : 0 to 60mph slidesDocker, Inc.
 
Docker 1.11 Presentation
Docker 1.11 PresentationDocker 1.11 Presentation
Docker 1.11 PresentationSreenivas Makam
 
ContainerDayVietnam2016: Kubernetes State-of-the-art Container Management Pla...
ContainerDayVietnam2016: Kubernetes State-of-the-art Container Management Pla...ContainerDayVietnam2016: Kubernetes State-of-the-art Container Management Pla...
ContainerDayVietnam2016: Kubernetes State-of-the-art Container Management Pla...Docker-Hanoi
 
Docker for Java Developers
Docker for Java DevelopersDocker for Java Developers
Docker for Java DevelopersNGINX, Inc.
 
An Introduction to Kubernetes
An Introduction to KubernetesAn Introduction to Kubernetes
An Introduction to KubernetesRohman Muhamad
 
Docker Security Overview
Docker Security OverviewDocker Security Overview
Docker Security OverviewSreenivas Makam
 
Securing your Containers
Securing your ContainersSecuring your Containers
Securing your ContainersRiyaz Faizullabhoy
 

Mais procurados (20)

Kubernetes on CloudStack with coreOS
Kubernetes on CloudStack with coreOSKubernetes on CloudStack with coreOS
Kubernetes on CloudStack with coreOS
 
Deploying apps with Docker and Kubernetes
Deploying apps with Docker and KubernetesDeploying apps with Docker and Kubernetes
Deploying apps with Docker and Kubernetes
 
Scaling Jenkins with Docker: Swarm, Kubernetes or Mesos?
Scaling Jenkins with Docker: Swarm, Kubernetes or Mesos?Scaling Jenkins with Docker: Swarm, Kubernetes or Mesos?
Scaling Jenkins with Docker: Swarm, Kubernetes or Mesos?
 
Docker Online Meetup: Infrakit update and Q&A
Docker Online Meetup: Infrakit update and Q&ADocker Online Meetup: Infrakit update and Q&A
Docker Online Meetup: Infrakit update and Q&A
 
Docker serverless v1.0
Docker serverless v1.0Docker serverless v1.0
Docker serverless v1.0
 
Devops in Networking
Devops in NetworkingDevops in Networking
Devops in Networking
 
ContainerDayVietnam2016: Django Development with Docker
ContainerDayVietnam2016: Django Development with DockerContainerDayVietnam2016: Django Development with Docker
ContainerDayVietnam2016: Django Development with Docker
 
ContainerDayVietnam2016: Containers with OpenStack
ContainerDayVietnam2016: Containers with OpenStackContainerDayVietnam2016: Containers with OpenStack
ContainerDayVietnam2016: Containers with OpenStack
 
ContainerDayVietnam2016: Docker at scale with Mesos
ContainerDayVietnam2016: Docker at scale with MesosContainerDayVietnam2016: Docker at scale with Mesos
ContainerDayVietnam2016: Docker at scale with Mesos
 
Scaling Docker Containers using Kubernetes and Azure Container Service
Scaling Docker Containers using Kubernetes and Azure Container ServiceScaling Docker Containers using Kubernetes and Azure Container Service
Scaling Docker Containers using Kubernetes and Azure Container Service
 
Docker Orchestration at Production Scale
Docker Orchestration at Production Scale Docker Orchestration at Production Scale
Docker Orchestration at Production Scale
 
Docker Container As A Service - March 2016
Docker Container As A Service - March 2016Docker Container As A Service - March 2016
Docker Container As A Service - March 2016
 
ContainerDayVietnam2016: Docker for JS Developer
ContainerDayVietnam2016: Docker for JS DeveloperContainerDayVietnam2016: Docker for JS Developer
ContainerDayVietnam2016: Docker for JS Developer
 
Docker Networking : 0 to 60mph slides
Docker Networking : 0 to 60mph slidesDocker Networking : 0 to 60mph slides
Docker Networking : 0 to 60mph slides
 
Docker 1.11 Presentation
Docker 1.11 PresentationDocker 1.11 Presentation
Docker 1.11 Presentation
 
ContainerDayVietnam2016: Kubernetes State-of-the-art Container Management Pla...
ContainerDayVietnam2016: Kubernetes State-of-the-art Container Management Pla...ContainerDayVietnam2016: Kubernetes State-of-the-art Container Management Pla...
ContainerDayVietnam2016: Kubernetes State-of-the-art Container Management Pla...
 
Docker for Java Developers
Docker for Java DevelopersDocker for Java Developers
Docker for Java Developers
 
An Introduction to Kubernetes
An Introduction to KubernetesAn Introduction to Kubernetes
An Introduction to Kubernetes
 
Docker Security Overview
Docker Security OverviewDocker Security Overview
Docker Security Overview
 
Securing your Containers
Securing your ContainersSecuring your Containers
Securing your Containers
 

Destaque

Managing Container-as-a-Service and Docker Clusters in the Cloud with RightScale
Managing Container-as-a-Service and Docker Clusters in the Cloud with RightScaleManaging Container-as-a-Service and Docker Clusters in the Cloud with RightScale
Managing Container-as-a-Service and Docker Clusters in the Cloud with RightScaleRightScale
 
Container as a Service with Docker
Container as a Service with DockerContainer as a Service with Docker
Container as a Service with DockerPatrick Chanezon
 
CI, CD with Docker, Jenkins and Tutum
CI, CD with Docker, Jenkins and TutumCI, CD with Docker, Jenkins and Tutum
CI, CD with Docker, Jenkins and TutumSreenivas Makam
 
Container Monitoring with Sysdig
Container Monitoring with SysdigContainer Monitoring with Sysdig
Container Monitoring with SysdigSreenivas Makam
 
CoreOS Overview and Current Status
CoreOS Overview and Current StatusCoreOS Overview and Current Status
CoreOS Overview and Current StatusSreenivas Makam
 
Docker Networking Overview
Docker Networking OverviewDocker Networking Overview
Docker Networking OverviewSreenivas Makam
 
Docker Networking - Common Issues and Troubleshooting Techniques
Docker Networking - Common Issues and Troubleshooting TechniquesDocker Networking - Common Issues and Troubleshooting Techniques
Docker Networking - Common Issues and Troubleshooting TechniquesSreenivas Makam
 
Integrating Docker EE into SociĂŠtĂŠ GĂŠnĂŠrale's Existing Enterprise IT Systems
Integrating Docker EE into SociĂŠtĂŠ GĂŠnĂŠrale's Existing Enterprise IT SystemsIntegrating Docker EE into SociĂŠtĂŠ GĂŠnĂŠrale's Existing Enterprise IT Systems
Integrating Docker EE into SociĂŠtĂŠ GĂŠnĂŠrale's Existing Enterprise IT SystemsDocker, Inc.
 
What is Artificial Intelligence | Artificial Intelligence Tutorial For Beginn...
What is Artificial Intelligence | Artificial Intelligence Tutorial For Beginn...What is Artificial Intelligence | Artificial Intelligence Tutorial For Beginn...
What is Artificial Intelligence | Artificial Intelligence Tutorial For Beginn...Edureka!
 

Destaque (12)

Docker cloud
Docker cloudDocker cloud
Docker cloud
 
Managing Container-as-a-Service and Docker Clusters in the Cloud with RightScale
Managing Container-as-a-Service and Docker Clusters in the Cloud with RightScaleManaging Container-as-a-Service and Docker Clusters in the Cloud with RightScale
Managing Container-as-a-Service and Docker Clusters in the Cloud with RightScale
 
An introduction to predictionIO
An introduction to predictionIOAn introduction to predictionIO
An introduction to predictionIO
 
Container as a Service with Docker
Container as a Service with DockerContainer as a Service with Docker
Container as a Service with Docker
 
CI, CD with Docker, Jenkins and Tutum
CI, CD with Docker, Jenkins and TutumCI, CD with Docker, Jenkins and Tutum
CI, CD with Docker, Jenkins and Tutum
 
Container Monitoring with Sysdig
Container Monitoring with SysdigContainer Monitoring with Sysdig
Container Monitoring with Sysdig
 
CoreOS Overview and Current Status
CoreOS Overview and Current StatusCoreOS Overview and Current Status
CoreOS Overview and Current Status
 
Docker Networking Overview
Docker Networking OverviewDocker Networking Overview
Docker Networking Overview
 
Docker Networking - Common Issues and Troubleshooting Techniques
Docker Networking - Common Issues and Troubleshooting TechniquesDocker Networking - Common Issues and Troubleshooting Techniques
Docker Networking - Common Issues and Troubleshooting Techniques
 
Integrating Docker EE into SociĂŠtĂŠ GĂŠnĂŠrale's Existing Enterprise IT Systems
Integrating Docker EE into SociĂŠtĂŠ GĂŠnĂŠrale's Existing Enterprise IT SystemsIntegrating Docker EE into SociĂŠtĂŠ GĂŠnĂŠrale's Existing Enterprise IT Systems
Integrating Docker EE into SociĂŠtĂŠ GĂŠnĂŠrale's Existing Enterprise IT Systems
 
What is Artificial Intelligence | Artificial Intelligence Tutorial For Beginn...
What is Artificial Intelligence | Artificial Intelligence Tutorial For Beginn...What is Artificial Intelligence | Artificial Intelligence Tutorial For Beginn...
What is Artificial Intelligence | Artificial Intelligence Tutorial For Beginn...
 
10 facts about jobs in the future
10 facts about jobs in the future10 facts about jobs in the future
10 facts about jobs in the future
 

Semelhante a Compare Docker deployment options in the public cloud

Sebastien goasguen cloud stack and docker
Sebastien goasguen   cloud stack and dockerSebastien goasguen   cloud stack and docker
Sebastien goasguen cloud stack and dockerShapeBlue
 
Azure: Docker Container orchestration, PaaS ( Service Farbic ) and High avail...
Azure: Docker Container orchestration, PaaS ( Service Farbic ) and High avail...Azure: Docker Container orchestration, PaaS ( Service Farbic ) and High avail...
Azure: Docker Container orchestration, PaaS ( Service Farbic ) and High avail...Alexey Bokov
 
Docker y azure container service
Docker y azure container serviceDocker y azure container service
Docker y azure container serviceFernando MejĂ­a
 
Containerization with Microsoft Azure
Containerization with Microsoft AzureContainerization with Microsoft Azure
Containerization with Microsoft AzureAbhimanyu Singhal
 
Containerization with Azure
Containerization with AzureContainerization with Azure
Containerization with AzurePranav Ainavolu
 
Containerization in microsoft azure
Containerization in microsoft azureContainerization in microsoft azure
Containerization in microsoft azureMohit Chhabra
 
Intro to docker and kubernetes
Intro to docker and kubernetesIntro to docker and kubernetes
Intro to docker and kubernetesMohit Chhabra
 
On CloudStack, Docker, Kubernetes, and Big Data…Oh my ! By Sebastien Goasguen...
On CloudStack, Docker, Kubernetes, and Big Data…Oh my ! By Sebastien Goasguen...On CloudStack, Docker, Kubernetes, and Big Data…Oh my ! By Sebastien Goasguen...
On CloudStack, Docker, Kubernetes, and Big Data…Oh my ! By Sebastien Goasguen...Radhika Puthiyetath
 
AWS re:Invent 2016: Introduction to Container Management on AWS (CON303)
AWS re:Invent 2016: Introduction to Container Management on AWS (CON303)AWS re:Invent 2016: Introduction to Container Management on AWS (CON303)
AWS re:Invent 2016: Introduction to Container Management on AWS (CON303)Amazon Web Services
 
ContainerDays NYC 2016: "Containers in Azure: Understanding the Microsoft Con...
ContainerDays NYC 2016: "Containers in Azure: Understanding the Microsoft Con...ContainerDays NYC 2016: "Containers in Azure: Understanding the Microsoft Con...
ContainerDays NYC 2016: "Containers in Azure: Understanding the Microsoft Con...DynamicInfraDays
 
Docker Seattle Meetup April 2015 - The Docker Orchestration Ecosystem on Azure
Docker Seattle Meetup April 2015 - The Docker Orchestration Ecosystem on AzureDocker Seattle Meetup April 2015 - The Docker Orchestration Ecosystem on Azure
Docker Seattle Meetup April 2015 - The Docker Orchestration Ecosystem on AzurePatrick Chanezon
 
Docker New York Meetup May 2015 - The Docker Orchestration Ecosystem on Azure
Docker New York Meetup May 2015 - The Docker Orchestration Ecosystem on Azure Docker New York Meetup May 2015 - The Docker Orchestration Ecosystem on Azure
Docker New York Meetup May 2015 - The Docker Orchestration Ecosystem on Azure Patrick Chanezon
 
Rami Sayar - Node microservices with Docker
Rami Sayar - Node microservices with DockerRami Sayar - Node microservices with Docker
Rami Sayar - Node microservices with DockerWeb Ă  QuĂŠbec
 
Storage Integrations for Container Orchestrators
Storage Integrations for Container OrchestratorsStorage Integrations for Container Orchestrators
Storage Integrations for Container Orchestrators{code} by Dell EMC
 
Power of Choice in Docker EE 2.0 - Anoop - Docker - CC18
Power of Choice in Docker EE 2.0 - Anoop - Docker - CC18Power of Choice in Docker EE 2.0 - Anoop - Docker - CC18
Power of Choice in Docker EE 2.0 - Anoop - Docker - CC18CodeOps Technologies LLP
 
Docker and Azure Kubernetes service.pptx
Docker and Azure Kubernetes service.pptxDocker and Azure Kubernetes service.pptx
Docker and Azure Kubernetes service.pptxArzitPanda
 

Semelhante a Compare Docker deployment options in the public cloud (20)

Docker and CloudStack
Docker and CloudStackDocker and CloudStack
Docker and CloudStack
 
Sebastien goasguen cloud stack and docker
Sebastien goasguen   cloud stack and dockerSebastien goasguen   cloud stack and docker
Sebastien goasguen cloud stack and docker
 
Docker
DockerDocker
Docker
 
Azure: Docker Container orchestration, PaaS ( Service Farbic ) and High avail...
Azure: Docker Container orchestration, PaaS ( Service Farbic ) and High avail...Azure: Docker Container orchestration, PaaS ( Service Farbic ) and High avail...
Azure: Docker Container orchestration, PaaS ( Service Farbic ) and High avail...
 
Docker y azure container service
Docker y azure container serviceDocker y azure container service
Docker y azure container service
 
Containerization with Microsoft Azure
Containerization with Microsoft AzureContainerization with Microsoft Azure
Containerization with Microsoft Azure
 
Containerization with Azure
Containerization with AzureContainerization with Azure
Containerization with Azure
 
Containerization in microsoft azure
Containerization in microsoft azureContainerization in microsoft azure
Containerization in microsoft azure
 
Intro to docker and kubernetes
Intro to docker and kubernetesIntro to docker and kubernetes
Intro to docker and kubernetes
 
On CloudStack, Docker, Kubernetes, and Big Data…Oh my ! By Sebastien Goasguen...
On CloudStack, Docker, Kubernetes, and Big Data…Oh my ! By Sebastien Goasguen...On CloudStack, Docker, Kubernetes, and Big Data…Oh my ! By Sebastien Goasguen...
On CloudStack, Docker, Kubernetes, and Big Data…Oh my ! By Sebastien Goasguen...
 
Docker slides
Docker slidesDocker slides
Docker slides
 
AWS re:Invent 2016: Introduction to Container Management on AWS (CON303)
AWS re:Invent 2016: Introduction to Container Management on AWS (CON303)AWS re:Invent 2016: Introduction to Container Management on AWS (CON303)
AWS re:Invent 2016: Introduction to Container Management on AWS (CON303)
 
ContainerDays NYC 2016: "Containers in Azure: Understanding the Microsoft Con...
ContainerDays NYC 2016: "Containers in Azure: Understanding the Microsoft Con...ContainerDays NYC 2016: "Containers in Azure: Understanding the Microsoft Con...
ContainerDays NYC 2016: "Containers in Azure: Understanding the Microsoft Con...
 
Docker Seattle Meetup April 2015 - The Docker Orchestration Ecosystem on Azure
Docker Seattle Meetup April 2015 - The Docker Orchestration Ecosystem on AzureDocker Seattle Meetup April 2015 - The Docker Orchestration Ecosystem on Azure
Docker Seattle Meetup April 2015 - The Docker Orchestration Ecosystem on Azure
 
Docker New York Meetup May 2015 - The Docker Orchestration Ecosystem on Azure
Docker New York Meetup May 2015 - The Docker Orchestration Ecosystem on Azure Docker New York Meetup May 2015 - The Docker Orchestration Ecosystem on Azure
Docker New York Meetup May 2015 - The Docker Orchestration Ecosystem on Azure
 
Rami Sayar - Node microservices with Docker
Rami Sayar - Node microservices with DockerRami Sayar - Node microservices with Docker
Rami Sayar - Node microservices with Docker
 
Storage Integrations for Container Orchestrators
Storage Integrations for Container OrchestratorsStorage Integrations for Container Orchestrators
Storage Integrations for Container Orchestrators
 
Power of Choice in Docker EE 2.0 - Anoop - Docker - CC18
Power of Choice in Docker EE 2.0 - Anoop - Docker - CC18Power of Choice in Docker EE 2.0 - Anoop - Docker - CC18
Power of Choice in Docker EE 2.0 - Anoop - Docker - CC18
 
Docker Overview
Docker OverviewDocker Overview
Docker Overview
 
Docker and Azure Kubernetes service.pptx
Docker and Azure Kubernetes service.pptxDocker and Azure Kubernetes service.pptx
Docker and Azure Kubernetes service.pptx
 

Mais de Sreenivas Makam

GKE Tip Series - Usage Metering
GKE Tip Series -  Usage MeteringGKE Tip Series -  Usage Metering
GKE Tip Series - Usage MeteringSreenivas Makam
 
GKE Tip Series how do i choose between gke standard, autopilot and cloud run
GKE Tip Series   how do i choose between gke standard, autopilot and cloud run GKE Tip Series   how do i choose between gke standard, autopilot and cloud run
GKE Tip Series how do i choose between gke standard, autopilot and cloud run Sreenivas Makam
 
Kubernetes design principles, patterns and ecosystem
Kubernetes design principles, patterns and ecosystemKubernetes design principles, patterns and ecosystem
Kubernetes design principles, patterns and ecosystemSreenivas Makam
 
My kubernetes toolkit
My kubernetes toolkitMy kubernetes toolkit
My kubernetes toolkitSreenivas Makam
 
Top 3 reasons why you should run your Enterprise workloads on GKE
Top 3 reasons why you should run your Enterprise workloads on GKETop 3 reasons why you should run your Enterprise workloads on GKE
Top 3 reasons why you should run your Enterprise workloads on GKESreenivas Makam
 
How Kubernetes helps Devops
How Kubernetes helps DevopsHow Kubernetes helps Devops
How Kubernetes helps DevopsSreenivas Makam
 
Deep dive into Kubernetes Networking
Deep dive into Kubernetes NetworkingDeep dive into Kubernetes Networking
Deep dive into Kubernetes NetworkingSreenivas Makam
 
Service Discovery using etcd, Consul and Kubernetes
Service Discovery using etcd, Consul and KubernetesService Discovery using etcd, Consul and Kubernetes
Service Discovery using etcd, Consul and KubernetesSreenivas Makam
 
Docker Networking - Current Status and goals of Experimental Networking
Docker Networking - Current Status and goals of Experimental NetworkingDocker Networking - Current Status and goals of Experimental Networking
Docker Networking - Current Status and goals of Experimental NetworkingSreenivas Makam
 

Mais de Sreenivas Makam (9)

GKE Tip Series - Usage Metering
GKE Tip Series -  Usage MeteringGKE Tip Series -  Usage Metering
GKE Tip Series - Usage Metering
 
GKE Tip Series how do i choose between gke standard, autopilot and cloud run
GKE Tip Series   how do i choose between gke standard, autopilot and cloud run GKE Tip Series   how do i choose between gke standard, autopilot and cloud run
GKE Tip Series how do i choose between gke standard, autopilot and cloud run
 
Kubernetes design principles, patterns and ecosystem
Kubernetes design principles, patterns and ecosystemKubernetes design principles, patterns and ecosystem
Kubernetes design principles, patterns and ecosystem
 
My kubernetes toolkit
My kubernetes toolkitMy kubernetes toolkit
My kubernetes toolkit
 
Top 3 reasons why you should run your Enterprise workloads on GKE
Top 3 reasons why you should run your Enterprise workloads on GKETop 3 reasons why you should run your Enterprise workloads on GKE
Top 3 reasons why you should run your Enterprise workloads on GKE
 
How Kubernetes helps Devops
How Kubernetes helps DevopsHow Kubernetes helps Devops
How Kubernetes helps Devops
 
Deep dive into Kubernetes Networking
Deep dive into Kubernetes NetworkingDeep dive into Kubernetes Networking
Deep dive into Kubernetes Networking
 
Service Discovery using etcd, Consul and Kubernetes
Service Discovery using etcd, Consul and KubernetesService Discovery using etcd, Consul and Kubernetes
Service Discovery using etcd, Consul and Kubernetes
 
Docker Networking - Current Status and goals of Experimental Networking
Docker Networking - Current Status and goals of Experimental NetworkingDocker Networking - Current Status and goals of Experimental Networking
Docker Networking - Current Status and goals of Experimental Networking
 

Último

Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CVKhem
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024The Digital Insurer
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Scriptwesley chun
 
Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilDeveloping An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilV3cube
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...Neo4j
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...apidays
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfsudhanshuwaghmare1
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobeapidays
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)wesley chun
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdflior mazor
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel AraĂşjo
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?Igalia
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
HTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesHTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesBoston Institute of Analytics
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 

Último (20)

Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilDeveloping An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of Brazil
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
HTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesHTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation Strategies
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 

Compare Docker deployment options in the public cloud

  • 1. Compare Docker Deployment Options in Public Cloud Presenter Name: Sreenivas Makam Presented at: Container conference, Bangalore Presentation Date: April 7, 2017
  • 2. About me • Senior Engineering Manager at Cisco Systems Data Center group • Author of “Mastering CoreOS” https://www.packtpub.com/networking-and-servers/mastering- coreos/ ) • Docker Captain(https://www.docker.com/community/docker- captains ) • Blog: https://sreeninet.wordpress.com/ • Code hacks: https://github.com/smakam • LinkedIn: https://in.linkedin.com/in/sreenivasmakam • Twitter: @srmakam
  • 3. Agenda •Deployment options – Overview •Methodology used to compare •Comparison of Deployment options •Pick the right option for your use case
  • 4. Considerations for Container solution Which Orchestration solution to choose? Should it be deployed in VM or bare-metal? How to run stateful applications? How to achieve Service discovery and DNS? Should it be deployed on premise or public cloud? Is central logging required? How to monitor and troubleshoot container platform? Is the solution secure? How to inject secrets and dynamic configuration?
  • 5. Docker deployment in public cloud Docker Machine (for AWS, Azure, GCE) Cloud provider’s CaaS (AWS ECS, Google GKE, Microsoft ACS) Docker’s custom cloud (Docker for AWS, Azure, GCE) Docker’s CaaS (Docker cloud, Docker datacenter) Docker deployment
  • 6. Docker Machine • Tool from Docker to create and manage Docker nodes. • Supported for majority of cloud providers including AWS, Azure and Google cloud. • Creates Docker node on the cloud with 1 command. • Latest Docker version is pre-installed in the node. • Both old and new Swarm modes can be used to create clusters. • Provides automatic secure access to Docker node. • Minimal integration to native cloud provider features. • Targeted as a developer tool.
  • 7. Docker custom cloud • This is Docker’s solution to get Containers integrate well with the cloud infrastructure. • Docker for AWS and Azure is available for general use. Docker for GCE is available as beta currently. • Swarm mode cluster gets automatically created using a cloud provider template and with few simple inputs from the user. • Solution integrated with Cloud networking, storage, logging, security group, load balancer. • Targeted for hybrid cloud or multi-cloud deployments.
  • 8. Docker CaaS • Container service offered by Docker. • Docker Datacenter(DDC) - Docker’s enterprise grade container platform • Docker cloud - Hosted service from Docker to manage Containers • DDC can be run on-premise or in any of the major public cloud. Official support is present now for AWS and Azure. GCE would be added soon. • UCP and DTR are main components of DDC and they can be deployed in a highly available manner. • DDC provides enterprise grade features like high availability, RBAC and LDAP integration. • DDC and Docker cloud provides nice user interface for management and is also compatible with regular Docker API. • Docker cloud is targeted as a simple hosted solution for relatively small deployments. • DDC is targeted as a complete Container platform since it includes all associated services like service discovery, logging, networking, storage with a decent cloud integration.
  • 9. Docker datacenter - Components https://www.docker.com/enterprise-edition
  • 10. Docker datacenter for AWS - Architecture https://docs.docker.com/datacenter/install/aws/
  • 11. Docker datacenter for Azure - Architecture https://blog.docker.com/2016/06/docker-datacenter-aws-azure-cloud/
  • 12. Cloud provider CaaS • Container service offered by Cloud providers. • ECS – From Amazon(Docker with Amazon’s proprietary orchestrator) • GKE – From Google(Docker with Kubernetes orchestrator) • ACS – From Microsoft(Docker with either Swarm, Kubernetes, Mesos) • Provides very tight cloud integration. • In some cases, there seems to be a lag with latest Docker version and features available with this option. • Targeted for folks who want to manage VMs and Containers together. This solution suits companies which have a big cloud presence and already using public cloud.
  • 13. Amazon ECS - Architecture Uses proprietary orchestrator currently. There is a plan to make orchestrator as pluggable module in the future. http://www.allthingsdistributed.com/2015/07/under-the-hood-of-the-amazon-ec2-container-service.html http://docs.aws.amazon.com/AmazonECS/latest/developerguide/Welcome.html
  • 14. Azure Container service- Architecture • Supports major orchestrators like Docker Swarm, Kubernetes, Mesos. • ACS only takes care of installing and deploying the cluster. Management of containers and services is done by orchestrator itself. https://docs.microsoft.com/en-in/azure/container-service/container-service-intro
  • 15. GKE Architecture Kubernetes Architecture GKE Architecture – Built on Docker and Kubernetes • GKE makes Kubernetes easier to manage and integrates well with Google compute’s other cloud services. https://www.cloudbees.com/blog/demand-jenkins-slaves-kubernetes-and-google-container-engine https://www.slideshare.net/wattsteve/kubernetes-48013640
  • 16. Methodology used to compare • Built multi-node cluster in all cases. Tried to use Swarm mode in most of the cases where it is supported. In some cases, used custom orchestrator, old Swarm mode or Kubernetes where Swarm mode is not supported. • Deployed multi-container voting application using Docker containers in the multi-node cluster. • Accessed the externally exposed services using load balancer where it is available. • Tried scaling up/down services as well as scaling up/down the cluster. • Checked features like logging capability, service discovery, high availability, networking and storage. • Evaluated ease of management, upgradability and the cloud integration. • Details are captured here(https://github.com/smakam/dockerdeploy)
  • 18. Comparison parameter - Orchestration • Both old and new Swarm modes can be used.Docker Machine • Swarm mode Docker’s custom cloud • ECS – Amazon’s proprietary scheduler • GKE – Kubernetes • ACS – Supports Docker Swarm, Kubernetes, Mesos Cloud provider’s CaaS • DDC – Swarm mode • Docker cloud – proprietary orchestration and Swarm mode, Swarm mode available as beta Docker’s CaaS
  • 19. Comparison parameter - Management • Docker-machine interface for managing cluster. Container management using Docker tools.Docker Machine • Cluster creation using cloud provider template, Cluster management using Cloud provider tools, Container management using Docker tools. Docker’s custom cloud • ECS – ECS GUI and CLI • GKE – Cluster management using Google cloud, Kubernetes dashboard to manage Containers • ACS – Cluster management using Azure cloud, Container management using Docker tools. Cloud provider’s CaaS • DDC – UCP and DTR has GUI to manage, Supports Docker API. • Docker cloud – GUI to manage. Supports Docker API. Docker’s CaaS
  • 20. Comparison parameter – Networking & Storage • Libnetwork with overlay for networking. Docker volume plugin supported by cloud provider can be used.Docker Machine • Libnetwork with overlay for networking. Cloudstor volume plugin is supported currently. Docker’s custom cloud • ECS – Overlay network not supported. Docker volume is supported with limited drivers • GKE – Kubernetes based networking. Storage through Kubernetes persistent disk and google cloud storage • ACS – Libnetwork with overlay for networking. Docker volume driver using Azure file storage is supported. Cloud provider’s CaaS • Libnetwork with overlay for networking. Docker volume plugin supported by cloud provider can be usedDocker’s CaaS
  • 21. Comparison parameter – Registry • Docker hub is default. Can be used with any Docker registry. Docker Machine • Can be used with any Docker registry. Docker’s custom cloud • ECS –Docker registry and Amazon’s ECR • GKE – Docker registry and Google’s container registry • ACS – Docker registry and Microsoft’s ACR Cloud provider’s CaaS • DDC – DTR • Docker cloud – Docker cloud registry and any other Docker registry Docker’s CaaS
  • 22. Comparison parameter – Cloud integration • Minimal cloud integration. Docker Machine • Integrated with cloud networking, firewall, load balancer, logging. This can be improved further. Docker’s custom cloud • Provides native integration of Containers to other cloud offerings from provider. Cloud provider’s CaaS • DDC – Good integration with cloud services. • Docker cloud – Swarm mode has minimal integration now. Non-swarm mode has better integration. Docker’s CaaS
  • 23. Comparison parameter – Application file format • Compose formatDocker Machine • Compose format Docker’s custom cloud • ECS – Proprietary task definition format, limited compose support • GKE – Kubernetes task definition format • ACS – Compose can be used with Docker Swarm Cloud provider’s CaaS • DDC – Compose format • Docker cloud – Compose format, supported stackfile format earlier which is similar to compose Docker’s CaaS
  • 24. Comparison parameter – Docker version & upgrade • Uses CE latest version 17.03. No easy way to use older versions. • Docker upgrade has to be done manually. Docker Machine • Uses CE latest version 17.03. No easy way to use older versions. • Rolling upgrade is supported. Docker’s custom cloud • ECS – Docker version 1.12.6. No flexibility with Docker version. Container agent upgrade will also upgrade Docker version. Upgrade is manual. • GKE – Docker 1.11.2, Kubernetes 1.5.4. Rolling upgrade is supported. • ACS – CE version 17.03. No option to upgrade the cluster, suggestion is to create new cluster. Cloud provider’s CaaS • DDC – Uses EE 17.03 version. Need to upgrade UCP, DTR and Docker engine separately. No rolling upgrade yet. • Docker cloud – Uses CE latest version 17.03. Provides integrated upgrade option. Docker’s CaaS
  • 25. Comparison parameter – Enterprise features • Enterprise features has to be manually setup.Docker Machine • Enterprise features has to be manually setup Docker’s custom cloud • Integrated with cloud provider’s enterprise features like user management, high availability. Cloud provider’s CaaS • DDC – Highly available. Provides RBAC and LDAP integration. • Docker cloud – Supports organizations and teams. Docker’s CaaS
  • 26. Comparison parameter - Cost • Cost is for cloud resource usage, no separate cost for ContainersDocker Machine • Cost is for cloud resource usage, no separate cost for Containers Docker’s custom cloud • AWS, ACS - Cost is for cloud resource usage, no separate cost for Containers • GKE – Chargeable after 5 Container nodes. Cloud provider’s CaaS • DDC – Separate cost for Container nodes. • Docker cloud – Separate charge for private repositories Docker’s CaaS
  • 27. How do I pick the right option for me? Production use case VM and Container used Docker CaaS Enterprise grade DDC Docker Cloud Hybrid/Multi cloud Cloud provider CaaS Kubernetes GKE Azure ECS Azure Docker custom cloud Docker Machine yes yes yes yes yesno no no no no Caution: This flowchart oversimplifies the problem. There are more considerations than this.
  • 28. References • https://github.com/smakam/dockerdeploy • https://sreeninet.wordpress.com/2016/09/03/docker-for-aws-deployment-options/ • https://docs.docker.com/machine/drivers/aws/ • https://docs.docker.com/machine/drivers/azure/ • https://docs.docker.com/machine/drivers/gce/ • http://docs.aws.amazon.com/AmazonECS/latest/developerguide/Welcome.html • https://docs.microsoft.com/en-in/azure/container-service/container-service-intro • https://cloud.google.com/container-engine/ • https://docs.docker.com/docker-for-aws/ • https://docs.docker.com/docker-for-azure/ • https://docs.docker.com/docker-for-aws/ • https://beta.docker.com/docs/gcp/ • https://docs.docker.com/docker-cloud/ • https://www.docker.com/enterprise-edition

Notas do Editor

  1. Not included commercial solutions like Rancher, Tectonic.
  2. https://www.docker.com/enterprise-edition
  3. https://docs.docker.com/datacenter/install/aws/
  4. https://blog.docker.com/2016/06/docker-datacenter-aws-azure-cloud/
  5. http://www.allthingsdistributed.com/2015/07/under-the-hood-of-the-amazon-ec2-container-service.html http://docs.aws.amazon.com/AmazonECS/latest/developerguide/Welcome.html https://blox.github.io/
  6. https://docs.microsoft.com/en-in/azure/container-service/container-service-intro
  7. https://www.cloudbees.com/blog/demand-jenkins-slaves-kubernetes-and-google-container-engine https://www.slideshare.net/wattsteve/kubernetes-48013640
  8. https://github.com/docker/example-voting-app
  9. https://social.msdn.microsoft.com/Forums/azure/en-US/88916be6-e906-4377-ac7f-2de6d25e5079/azure-container-service-which-docker-volume-drivers-are-available-on-acs?forum=windowsazuredata
  10. Tools like Kompose can be used to convert between compose and other formats.
  11. https://docs.docker.com/datacenter/ucp/2.1/guides/admin/upgrade/ https://docs.docker.com/docker-for-aws/upgrade/ https://docs.docker.com/docker-cloud/infrastructure/docker-upgrade/ http://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-agent-update.html https://cloud.google.com/container-engine/docs/clusters/upgrade https://docs.microsoft.com/en-in/azure/container-service/container-service-faq