SlideShare ist ein Scribd-Unternehmen logo
1 von 40
Downloaden Sie, um offline zu lesen
Building Web Scale Apps with 
Docker and Mesos 
Alexander Rukletsov 
Software Engineer @ Mesosphere
Why should we care?
Applications in the Cloud Era 
App App App App 
Client-Server Era: 
Small apps, big servers 
App 
Serv Serv Serv Serv 
Cloud Era: 
Big apps, small servers 
Virtualization 
Aggregation 
Server
Major Components 
● Hardware 
● Orchestration, deployment and isolation 
● Cluster and resource management 
● Scale-aware applications, service discovery, etc.
Major Components 
● Hardware 
● Orchestration, deployment and isolation 
● Cluster and resource management 
● Scale-aware applications, service discovery
Applications in the Cloud Era 
App App App App 
Client-Server Era: 
Small apps, big servers 
App 
Serv Serv Serv Serv 
Cloud Era: 
Big apps, small servers 
Virtualization 
Aggregation 
Server
“Divide et impera [et sarcina]” 
“Divide and rule [and package]” 
—Philip II of Macedon, paraphrased
Containers 
● Lightweight Linux execution environment 
● Static application composition 
● Reliable deployment 
● Unit of resource isolation 
● Execution isolation 
● Multi-tenancy without heavyweight VMs
Docker 
● Open source 
● Configurable layers 
● Reproducible 
● Version-controlled 
● Plenty of other people’s containers
Docker 
● Open source 
● Configurable layers 
● Reproducible 
● Version-controlled 
● Plenty of other people’s containers 
● First-class citizen in Mesos and the Mesosphere stack 
● Kubernetes employs and promotes Docker
© Gerard Julien/AFP 
Run everything in containers!
What about container management?
© Unknown
© Unknown
Apache Mesos facts 
● Created in 2009 at UC Berkeley, hardened in Twitter 
● Top-level Apache project 
● Mesosphere, Twitter, and Airbnb are major users / 
contributors 
● Scales to 10 000s of nodes, production grade 
● Packages and support through Mesosphere 
● Google officially endorsed Mesos for Kubernetes 
● Built-in containerization, including Docker
Mesos as a Distributed OS kernel 
● Two level resource scheduling 
● Launch tasks across the cluster 
● Communication between tasks (like IPC) 
● APIs for building “native” applications (aka frameworks): 
program against the datacenter 
● APIs in C++, Python, JVM-languages, Go and counting 
● Pluggable CPU, memory, IO isolation 
● Multi-tenant workloads 
● Failure detection 
● Easy failover and HA
How Mesos works (HA mode) 
Application 
Scheduler 
Zookeeper 
Mesos 
MasteMr esos 
Master 
Mesos 
Master 
Mesos 
Master 
Mesos 
Slave 
Executor Task 
Task 
Executor 
Framework Task 
Task 
Task 
Executor 
Mesos 
Slave
Manage containers with Mesos! 
© ect.nl
Mesos + Docker =
Native Docker support in Mesos 
message DockerInfo { 
required string image = 1; 
// Network options. 
enum Network { 
HOST = 1; 
BRIDGE = 2; 
NONE = 3; 
} 
message PortMapping { 
required uint32 host_port = 1; 
required uint32 container_port = 2; 
optional string protocol = 3; // Protocol to expose (ie: tcp, udp). 
} 
optional Network network = 2 [default = HOST]; 
repeated PortMapping port_mappings = 3; 
optional bool privileged = 4 [default = false]; 
// Allowing arbitrary parameters to be passed to docker CLI. 
repeated Parameter parameters = 5; 
}
Native Docker support in Mesos 
CommandInfo command; 
command.set_value("dd if=/dev/zero of=/dev/null"); 
ContainerInfo::DockerInfo dockerInfo; 
dockerInfo.set_image("mesosphere/inky"); 
ContainerInfo containerInfo; 
containerInfo.set_type(ContainerInfo::DOCKER); 
containerInfo.mutable_docker()->CopyFrom(dockerInfo); 
TaskInfo task; 
task.set_name(""); 
task.mutable_task_id()->set_value("1"); 
task.mutable_slave_id()->CopyFrom(offer.slave_id()); 
task.mutable_resources()->CopyFrom(offer.resource()); 
task.mutable_command()->CopyFrom(command); 
task.mutable_container()->CopyFrom(containerInfo); 
vector<TaskInfo> tasks; 
tasks.push_back(task); 
driver.launchTasks(offer.id(), tasks);
Native Docker support in Marathon 
// nginx-task.json 
{ 
"container": { 
"type": "DOCKER", 
"docker": { 
"image": "nginx", 
"network": "BRIDGE", 
"portMappings": [ 
{ "containerPort": 80, 
"hostPort": 0, 
"servicePort": 80, 
"protocol": "tcp" } 
] 
} 
}, 
"id": "nginx", 
"instances": "1", 
"cpus": "0.25", 
"mem": "256", 
"uris": [] 
} 
$ cat nginx-task.json | http http://dev1.mesosphere.com:8080/v2/apps
Future Docker Swarm API support 
App 
App 
App 
Mesos Framework 
Mesos 
App 
Serv 
Docker 
Docker Swarm API 
Docker 
App 
Docker 
Docker 
Docker 
App 
Docker 
App 
Docker 
Serv Serv Serv Serv
What Mesos contributes 
● Multi-framework: weighted fair sharing, roles, etc. 
● Run Docker containers alongside other popular frameworks 
(e.g. Spark, Rails, Hadoop, …) 
● Run services and batch apps in the same cluster 
● Advanced scheduling: resources, constraints, global view 
● High resource availability, cluster self-healing 
● Proven at scale, battle-tested in production 
● GUI / CLI cluster management console
Ways of running Dockers 
● Marathon 
easy to setup, reliable orchestration 
● Multiple Marathons 
benefit from two level scheduling, reservations, framework 
roles 
● Custom framework 
fine-grained management
“L’homme est libre au moment qu’il veut l’être” 
“Man is free at the instant he wants to be” 
—Voltaire
Cluster configuration example #1 
Services 
Mesos 
App 
App 
AWS, DigitalOcean, GCE 
Apps 
API 
Kernel 
Hardware 
Docker 
Docker 
Services REST API 
“Marathon” 
App 
Docker 
App 
App 
Docker 
App
Cluster configuration example #2 
Mesos 
App 
App 
AWS, DigitalOcean, GCE 
Apps 
API 
Kernel 
Hardware 
Services 
Services REST API 
“Marathon” 
App 
App 
Kubernetes 
Docker 
Docker 
Docker 
App 
Docker 
App
Cluster configuration example #3 
Docker 
Services REST API 
“Marathon” (init) 
Serv Serv Serv Serv 
Mesos 
Spark, MPI, 
Hadoop, Storm 
Mesos SDK 
App 
Java, Python, C++, Go 
Serv Serv Serv Serv 
Batch REST API 
“Chronos” (cron) 
Serv 
App Recurring Jobs 
(ETL, backups) 
Hardware 
Native Long running Batch 
Apps 
API 
Kernel 
App 
Docker
Cluster configuration example #4 
Docker 
AWS, DO, GCE 
Mesos 
Spark, MPI, 
Hadoop, Storm 
Mesos SDK 
App 
Java, Python, C++, Go 
Serv Serv 
Services REST API 
“Marathon” (init) 
Batch REST API 
“Chronos” (cron) 
Serv 
App Recurring Jobs 
(ETL, backups) 
Hardware 
Native Long running Batch 
Apps 
API 
Kernel 
App 
Docker 
Serv
Mesos is not only for “big” players! 
© Reuters
Tiny clusters for everybody 
● Mesosphere on GCE 
● Mesosphere on DigitalOcean 
● Mesosphere on AWS 
● Portable Mesosphere on a USB stick
google.mesosphere.com
digitalocean.mesosphere.com
elastic.mesosphere.io
Demo: Mesos-on-Mesosphere
Mesos-on-Mesosphere 
Task Task Task 
Zookeeper 
Mesos 
Marathon Slave 
Mesos 
Master 
Mesos 
MasMteersos 
MasteMresos 
Master 
Mesos 
Slave 
... 
Task
Mesos-on-Mesosphere 
Mesos 
Slave 
Mesos 
Slave 
Docker Docker Docker 
Docker 
Zookeeper 
Mesos 
Marathon Slave 
Mesos 
Master 
Mesos 
MasMteersos 
MasteMresos 
Master 
Mesos 
Slave 
... 
Mesos 
Master 
Docker 
Mesos 
Slave 
Docker 
Mesos 
Slave 
Mesos 
Master
Summary 
● Complete stack for large (and small) distributed apps 
● Multi-tenancy 
● Resource optimizations 
● Easy to deploy 
● No vendor lock-in
Thank You. 
alex@mesosphere.io 
#mesos on irc.freenode.net

Weitere ähnliche Inhalte

Was ist angesagt?

Musings on Mesos: Docker, Kubernetes, and Beyond.
Musings on Mesos: Docker, Kubernetes, and Beyond.Musings on Mesos: Docker, Kubernetes, and Beyond.
Musings on Mesos: Docker, Kubernetes, and Beyond.Timothy St. Clair
 
Introduction to Apache Mesos
Introduction to Apache MesosIntroduction to Apache Mesos
Introduction to Apache MesosKnoldus Inc.
 
Mesos: The Operating System for your Datacenter
Mesos: The Operating System for your DatacenterMesos: The Operating System for your Datacenter
Mesos: The Operating System for your DatacenterDavid Greenberg
 
Introduction To Apache Mesos
Introduction To Apache MesosIntroduction To Apache Mesos
Introduction To Apache MesosTimothy St. Clair
 
DC/OS: The definitive platform for modern apps
DC/OS: The definitive platform for modern appsDC/OS: The definitive platform for modern apps
DC/OS: The definitive platform for modern appsDatio Big Data
 
DEPLOYING A DOCKERIZED DISTRIBUTED APPLICATION IN MESOS
DEPLOYING A DOCKERIZED DISTRIBUTED APPLICATION IN MESOSDEPLOYING A DOCKERIZED DISTRIBUTED APPLICATION IN MESOS
DEPLOYING A DOCKERIZED DISTRIBUTED APPLICATION IN MESOSJulia Mateo
 
Platform as a Service with Kubernetes and Mesos
Platform as a Service with Kubernetes and Mesos Platform as a Service with Kubernetes and Mesos
Platform as a Service with Kubernetes and Mesos Miguel Zuniga
 
Container Orchestration @Docker Meetup Hamburg
Container Orchestration @Docker Meetup HamburgContainer Orchestration @Docker Meetup Hamburg
Container Orchestration @Docker Meetup HamburgTimo Derstappen
 
Building and deploying a distributed application with Docker, Mesos and Marathon
Building and deploying a distributed application with Docker, Mesos and MarathonBuilding and deploying a distributed application with Docker, Mesos and Marathon
Building and deploying a distributed application with Docker, Mesos and MarathonJulia Mateo
 
Kubernetes on Top of Mesos on Top of DCOS
Kubernetes on Top of Mesos on Top of DCOSKubernetes on Top of Mesos on Top of DCOS
Kubernetes on Top of Mesos on Top of DCOSStefan Schimanski
 
HA Kubernetes on Mesos / Marathon
HA Kubernetes on Mesos / MarathonHA Kubernetes on Mesos / Marathon
HA Kubernetes on Mesos / MarathonCobus Bernard
 
Doing Big Data for Real with Docker
Doing Big Data for Real with Docker  Doing Big Data for Real with Docker
Doing Big Data for Real with Docker Mesosphere Inc.
 
Deploying Containers in Production and at Scale
Deploying Containers in Production and at ScaleDeploying Containers in Production and at Scale
Deploying Containers in Production and at ScaleMesosphere Inc.
 
OSDC 2018 | Lifecycle of a resource. Codifying infrastructure with Terraform ...
OSDC 2018 | Lifecycle of a resource. Codifying infrastructure with Terraform ...OSDC 2018 | Lifecycle of a resource. Codifying infrastructure with Terraform ...
OSDC 2018 | Lifecycle of a resource. Codifying infrastructure with Terraform ...NETWAYS
 
Integrating Docker with Mesos and Marathon
Integrating Docker with Mesos and MarathonIntegrating Docker with Mesos and Marathon
Integrating Docker with Mesos and MarathonRishabh Chaudhary
 
Openshift Container Platform on Azure
Openshift Container Platform on Azure Openshift Container Platform on Azure
Openshift Container Platform on Azure Glenn West
 
Openshift Container Platform on Azure
Openshift Container Platform on AzureOpenshift Container Platform on Azure
Openshift Container Platform on AzureGlenn West
 
(Draft) Kubernetes - A Comprehensive Overview
(Draft) Kubernetes - A Comprehensive Overview(Draft) Kubernetes - A Comprehensive Overview
(Draft) Kubernetes - A Comprehensive OverviewBob Killen
 
February 2016 HUG: Running Spark Clusters in Containers with Docker
February 2016 HUG: Running Spark Clusters in Containers with DockerFebruary 2016 HUG: Running Spark Clusters in Containers with Docker
February 2016 HUG: Running Spark Clusters in Containers with DockerYahoo Developer Network
 
Orchestrating Redis & K8s Operators
Orchestrating Redis & K8s OperatorsOrchestrating Redis & K8s Operators
Orchestrating Redis & K8s OperatorsDoiT International
 

Was ist angesagt? (20)

Musings on Mesos: Docker, Kubernetes, and Beyond.
Musings on Mesos: Docker, Kubernetes, and Beyond.Musings on Mesos: Docker, Kubernetes, and Beyond.
Musings on Mesos: Docker, Kubernetes, and Beyond.
 
Introduction to Apache Mesos
Introduction to Apache MesosIntroduction to Apache Mesos
Introduction to Apache Mesos
 
Mesos: The Operating System for your Datacenter
Mesos: The Operating System for your DatacenterMesos: The Operating System for your Datacenter
Mesos: The Operating System for your Datacenter
 
Introduction To Apache Mesos
Introduction To Apache MesosIntroduction To Apache Mesos
Introduction To Apache Mesos
 
DC/OS: The definitive platform for modern apps
DC/OS: The definitive platform for modern appsDC/OS: The definitive platform for modern apps
DC/OS: The definitive platform for modern apps
 
DEPLOYING A DOCKERIZED DISTRIBUTED APPLICATION IN MESOS
DEPLOYING A DOCKERIZED DISTRIBUTED APPLICATION IN MESOSDEPLOYING A DOCKERIZED DISTRIBUTED APPLICATION IN MESOS
DEPLOYING A DOCKERIZED DISTRIBUTED APPLICATION IN MESOS
 
Platform as a Service with Kubernetes and Mesos
Platform as a Service with Kubernetes and Mesos Platform as a Service with Kubernetes and Mesos
Platform as a Service with Kubernetes and Mesos
 
Container Orchestration @Docker Meetup Hamburg
Container Orchestration @Docker Meetup HamburgContainer Orchestration @Docker Meetup Hamburg
Container Orchestration @Docker Meetup Hamburg
 
Building and deploying a distributed application with Docker, Mesos and Marathon
Building and deploying a distributed application with Docker, Mesos and MarathonBuilding and deploying a distributed application with Docker, Mesos and Marathon
Building and deploying a distributed application with Docker, Mesos and Marathon
 
Kubernetes on Top of Mesos on Top of DCOS
Kubernetes on Top of Mesos on Top of DCOSKubernetes on Top of Mesos on Top of DCOS
Kubernetes on Top of Mesos on Top of DCOS
 
HA Kubernetes on Mesos / Marathon
HA Kubernetes on Mesos / MarathonHA Kubernetes on Mesos / Marathon
HA Kubernetes on Mesos / Marathon
 
Doing Big Data for Real with Docker
Doing Big Data for Real with Docker  Doing Big Data for Real with Docker
Doing Big Data for Real with Docker
 
Deploying Containers in Production and at Scale
Deploying Containers in Production and at ScaleDeploying Containers in Production and at Scale
Deploying Containers in Production and at Scale
 
OSDC 2018 | Lifecycle of a resource. Codifying infrastructure with Terraform ...
OSDC 2018 | Lifecycle of a resource. Codifying infrastructure with Terraform ...OSDC 2018 | Lifecycle of a resource. Codifying infrastructure with Terraform ...
OSDC 2018 | Lifecycle of a resource. Codifying infrastructure with Terraform ...
 
Integrating Docker with Mesos and Marathon
Integrating Docker with Mesos and MarathonIntegrating Docker with Mesos and Marathon
Integrating Docker with Mesos and Marathon
 
Openshift Container Platform on Azure
Openshift Container Platform on Azure Openshift Container Platform on Azure
Openshift Container Platform on Azure
 
Openshift Container Platform on Azure
Openshift Container Platform on AzureOpenshift Container Platform on Azure
Openshift Container Platform on Azure
 
(Draft) Kubernetes - A Comprehensive Overview
(Draft) Kubernetes - A Comprehensive Overview(Draft) Kubernetes - A Comprehensive Overview
(Draft) Kubernetes - A Comprehensive Overview
 
February 2016 HUG: Running Spark Clusters in Containers with Docker
February 2016 HUG: Running Spark Clusters in Containers with DockerFebruary 2016 HUG: Running Spark Clusters in Containers with Docker
February 2016 HUG: Running Spark Clusters in Containers with Docker
 
Orchestrating Redis & K8s Operators
Orchestrating Redis & K8s OperatorsOrchestrating Redis & K8s Operators
Orchestrating Redis & K8s Operators
 

Andere mochten auch

Docker 101: Introduction to Docker
Docker 101: Introduction to DockerDocker 101: Introduction to Docker
Docker 101: Introduction to DockerDocker, Inc.
 
Scaling Development Environments with Docker
Scaling Development Environments with DockerScaling Development Environments with Docker
Scaling Development Environments with DockerDocker, Inc.
 
Docker at Shopify: From This-Looks-Fun to Production by Simon Eskildsen (Shop...
Docker at Shopify: From This-Looks-Fun to Production by Simon Eskildsen (Shop...Docker at Shopify: From This-Looks-Fun to Production by Simon Eskildsen (Shop...
Docker at Shopify: From This-Looks-Fun to Production by Simon Eskildsen (Shop...Docker, Inc.
 
Clocker: Managing Container Networking and Placement
Clocker: Managing Container Networking and PlacementClocker: Managing Container Networking and Placement
Clocker: Managing Container Networking and PlacementDocker, Inc.
 
Orchestrating Docker with Terraform and Consul by Mitchell Hashimoto
Orchestrating Docker with Terraform and Consul by Mitchell Hashimoto Orchestrating Docker with Terraform and Consul by Mitchell Hashimoto
Orchestrating Docker with Terraform and Consul by Mitchell Hashimoto Docker, Inc.
 
Docker Online Meetup: Announcing Docker CE + EE
Docker Online Meetup: Announcing Docker CE + EEDocker Online Meetup: Announcing Docker CE + EE
Docker Online Meetup: Announcing Docker CE + EEDocker, Inc.
 
Docker and the Linux Kernel
Docker and the Linux KernelDocker and the Linux Kernel
Docker and the Linux KernelDocker, Inc.
 
Prometheus design and philosophy
Prometheus design and philosophy   Prometheus design and philosophy
Prometheus design and philosophy Docker, Inc.
 
Docker Roadshow 2016
Docker Roadshow 2016Docker Roadshow 2016
Docker Roadshow 2016Docker, Inc.
 
Docker and Microsoft - Windows Server 2016 Technical Deep Dive
Docker and Microsoft - Windows Server 2016 Technical Deep DiveDocker and Microsoft - Windows Server 2016 Technical Deep Dive
Docker and Microsoft - Windows Server 2016 Technical Deep DiveDocker, Inc.
 
Why Docker
Why DockerWhy Docker
Why DockerdotCloud
 
Docker introduction
Docker introductionDocker introduction
Docker introductiondotCloud
 
Docker 101 - Nov 2016
Docker 101 - Nov 2016Docker 101 - Nov 2016
Docker 101 - Nov 2016Docker, Inc.
 
DCOS Presentation
DCOS PresentationDCOS Presentation
DCOS PresentationJan Repnak
 
Distributed, Real-time Web Apps
Distributed, Real-time Web AppsDistributed, Real-time Web Apps
Distributed, Real-time Web AppsDocker, Inc.
 
Opening words at DockerCon Europe by Ben Golub
Opening words at DockerCon Europe by Ben Golub Opening words at DockerCon Europe by Ben Golub
Opening words at DockerCon Europe by Ben Golub Docker, Inc.
 
Opinionated containers and the future of game servers by Brendan Fosberry
Opinionated containers and the future of game servers by Brendan FosberryOpinionated containers and the future of game servers by Brendan Fosberry
Opinionated containers and the future of game servers by Brendan FosberryDocker, Inc.
 
Docker and Radio Astronomy - Containing Fragile Scientific Software by Gijs M...
Docker and Radio Astronomy - Containing Fragile Scientific Software by Gijs M...Docker and Radio Astronomy - Containing Fragile Scientific Software by Gijs M...
Docker and Radio Astronomy - Containing Fragile Scientific Software by Gijs M...Docker, Inc.
 
Migrating a large code-base to containers by Doug Johnson and Jonathan Lozins...
Migrating a large code-base to containers by Doug Johnson and Jonathan Lozins...Migrating a large code-base to containers by Doug Johnson and Jonathan Lozins...
Migrating a large code-base to containers by Doug Johnson and Jonathan Lozins...Docker, Inc.
 
Enable Fig to deploy to multiple Docker servers by Willy Kuo
Enable Fig to deploy to multiple Docker servers by Willy KuoEnable Fig to deploy to multiple Docker servers by Willy Kuo
Enable Fig to deploy to multiple Docker servers by Willy KuoDocker, Inc.
 

Andere mochten auch (20)

Docker 101: Introduction to Docker
Docker 101: Introduction to DockerDocker 101: Introduction to Docker
Docker 101: Introduction to Docker
 
Scaling Development Environments with Docker
Scaling Development Environments with DockerScaling Development Environments with Docker
Scaling Development Environments with Docker
 
Docker at Shopify: From This-Looks-Fun to Production by Simon Eskildsen (Shop...
Docker at Shopify: From This-Looks-Fun to Production by Simon Eskildsen (Shop...Docker at Shopify: From This-Looks-Fun to Production by Simon Eskildsen (Shop...
Docker at Shopify: From This-Looks-Fun to Production by Simon Eskildsen (Shop...
 
Clocker: Managing Container Networking and Placement
Clocker: Managing Container Networking and PlacementClocker: Managing Container Networking and Placement
Clocker: Managing Container Networking and Placement
 
Orchestrating Docker with Terraform and Consul by Mitchell Hashimoto
Orchestrating Docker with Terraform and Consul by Mitchell Hashimoto Orchestrating Docker with Terraform and Consul by Mitchell Hashimoto
Orchestrating Docker with Terraform and Consul by Mitchell Hashimoto
 
Docker Online Meetup: Announcing Docker CE + EE
Docker Online Meetup: Announcing Docker CE + EEDocker Online Meetup: Announcing Docker CE + EE
Docker Online Meetup: Announcing Docker CE + EE
 
Docker and the Linux Kernel
Docker and the Linux KernelDocker and the Linux Kernel
Docker and the Linux Kernel
 
Prometheus design and philosophy
Prometheus design and philosophy   Prometheus design and philosophy
Prometheus design and philosophy
 
Docker Roadshow 2016
Docker Roadshow 2016Docker Roadshow 2016
Docker Roadshow 2016
 
Docker and Microsoft - Windows Server 2016 Technical Deep Dive
Docker and Microsoft - Windows Server 2016 Technical Deep DiveDocker and Microsoft - Windows Server 2016 Technical Deep Dive
Docker and Microsoft - Windows Server 2016 Technical Deep Dive
 
Why Docker
Why DockerWhy Docker
Why Docker
 
Docker introduction
Docker introductionDocker introduction
Docker introduction
 
Docker 101 - Nov 2016
Docker 101 - Nov 2016Docker 101 - Nov 2016
Docker 101 - Nov 2016
 
DCOS Presentation
DCOS PresentationDCOS Presentation
DCOS Presentation
 
Distributed, Real-time Web Apps
Distributed, Real-time Web AppsDistributed, Real-time Web Apps
Distributed, Real-time Web Apps
 
Opening words at DockerCon Europe by Ben Golub
Opening words at DockerCon Europe by Ben Golub Opening words at DockerCon Europe by Ben Golub
Opening words at DockerCon Europe by Ben Golub
 
Opinionated containers and the future of game servers by Brendan Fosberry
Opinionated containers and the future of game servers by Brendan FosberryOpinionated containers and the future of game servers by Brendan Fosberry
Opinionated containers and the future of game servers by Brendan Fosberry
 
Docker and Radio Astronomy - Containing Fragile Scientific Software by Gijs M...
Docker and Radio Astronomy - Containing Fragile Scientific Software by Gijs M...Docker and Radio Astronomy - Containing Fragile Scientific Software by Gijs M...
Docker and Radio Astronomy - Containing Fragile Scientific Software by Gijs M...
 
Migrating a large code-base to containers by Doug Johnson and Jonathan Lozins...
Migrating a large code-base to containers by Doug Johnson and Jonathan Lozins...Migrating a large code-base to containers by Doug Johnson and Jonathan Lozins...
Migrating a large code-base to containers by Doug Johnson and Jonathan Lozins...
 
Enable Fig to deploy to multiple Docker servers by Willy Kuo
Enable Fig to deploy to multiple Docker servers by Willy KuoEnable Fig to deploy to multiple Docker servers by Willy Kuo
Enable Fig to deploy to multiple Docker servers by Willy Kuo
 

Ähnlich wie Building Web Scale Apps with Docker and Mesos by Alex Rukletsov (Mesosphere)

Kubernetes - training micro-dragons without getting burnt
Kubernetes -  training micro-dragons without getting burntKubernetes -  training micro-dragons without getting burnt
Kubernetes - training micro-dragons without getting burntAmir Moghimi
 
Docker Azure Friday OSS March 2017 - Developing and deploying Java & Linux on...
Docker Azure Friday OSS March 2017 - Developing and deploying Java & Linux on...Docker Azure Friday OSS March 2017 - Developing and deploying Java & Linux on...
Docker Azure Friday OSS March 2017 - Developing and deploying Java & Linux on...Patrick Chanezon
 
Containers as a Service with Docker
Containers as a Service with DockerContainers as a Service with Docker
Containers as a Service with DockerDocker, 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
 
Techdays SE 2016 - Micros.. err Microcosmos
Techdays SE 2016 - Micros.. err MicrocosmosTechdays SE 2016 - Micros.. err Microcosmos
Techdays SE 2016 - Micros.. err MicrocosmosMike Martin
 
Deploying windows containers with kubernetes
Deploying windows containers with kubernetesDeploying windows containers with kubernetes
Deploying windows containers with kubernetesBen Hall
 
Kubernetes for the PHP developer
Kubernetes for the PHP developerKubernetes for the PHP developer
Kubernetes for the PHP developerPaul Czarkowski
 
Kubernetes One-Click Deployment: Hands-on Workshop (Mainz)
Kubernetes One-Click Deployment: Hands-on Workshop (Mainz)Kubernetes One-Click Deployment: Hands-on Workshop (Mainz)
Kubernetes One-Click Deployment: Hands-on Workshop (Mainz)QAware GmbH
 
Dockerization of Azure Platform
Dockerization of Azure PlatformDockerization of Azure Platform
Dockerization of Azure Platformnirajrules
 
Docker Introduction
Docker IntroductionDocker Introduction
Docker IntroductionHao Fan
 
Docker kubernetes fundamental(pod_service)_190307
Docker kubernetes fundamental(pod_service)_190307Docker kubernetes fundamental(pod_service)_190307
Docker kubernetes fundamental(pod_service)_190307Inhye Park
 
I Just Want to Run My Code: Waypoint, Nomad, and Other Things
I Just Want to Run My Code: Waypoint, Nomad, and Other ThingsI Just Want to Run My Code: Waypoint, Nomad, and Other Things
I Just Want to Run My Code: Waypoint, Nomad, and Other ThingsMichael Lange
 
Get you Java application ready for Kubernetes !
Get you Java application ready for Kubernetes !Get you Java application ready for Kubernetes !
Get you Java application ready for Kubernetes !Anthony Dahanne
 
Accelerate your development with Docker
Accelerate your development with DockerAccelerate your development with Docker
Accelerate your development with DockerAndrey Hristov
 
Accelerate your software development with Docker
Accelerate your software development with DockerAccelerate your software development with Docker
Accelerate your software development with DockerAndrey Hristov
 
[DevDay 2017] OpenShift Enterprise - Speaker: Linh Do - DevOps Engineer at Ax...
[DevDay 2017] OpenShift Enterprise - Speaker: Linh Do - DevOps Engineer at Ax...[DevDay 2017] OpenShift Enterprise - Speaker: Linh Do - DevOps Engineer at Ax...
[DevDay 2017] OpenShift Enterprise - Speaker: Linh Do - DevOps Engineer at Ax...DevDay.org
 
Docker + Node "hello world" Application
Docker + Node "hello world" ApplicationDocker + Node "hello world" Application
Docker + Node "hello world" ApplicationAdil Mehmoood
 
Creating microservices architectures using node.js and Kubernetes
Creating microservices architectures using node.js and KubernetesCreating microservices architectures using node.js and Kubernetes
Creating microservices architectures using node.js and KubernetesPaul Goldbaum
 
Docker dev ops for cd meetup 12-14
Docker dev ops for cd meetup 12-14Docker dev ops for cd meetup 12-14
Docker dev ops for cd meetup 12-14Simon Storm
 

Ähnlich wie Building Web Scale Apps with Docker and Mesos by Alex Rukletsov (Mesosphere) (20)

Kubernetes - training micro-dragons without getting burnt
Kubernetes -  training micro-dragons without getting burntKubernetes -  training micro-dragons without getting burnt
Kubernetes - training micro-dragons without getting burnt
 
Docker Azure Friday OSS March 2017 - Developing and deploying Java & Linux on...
Docker Azure Friday OSS March 2017 - Developing and deploying Java & Linux on...Docker Azure Friday OSS March 2017 - Developing and deploying Java & Linux on...
Docker Azure Friday OSS March 2017 - Developing and deploying Java & Linux on...
 
Containers as a Service with Docker
Containers as a Service with DockerContainers as a Service with Docker
Containers as a Service with Docker
 
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
 
Techdays SE 2016 - Micros.. err Microcosmos
Techdays SE 2016 - Micros.. err MicrocosmosTechdays SE 2016 - Micros.. err Microcosmos
Techdays SE 2016 - Micros.. err Microcosmos
 
Deploying windows containers with kubernetes
Deploying windows containers with kubernetesDeploying windows containers with kubernetes
Deploying windows containers with kubernetes
 
Kubernetes for the PHP developer
Kubernetes for the PHP developerKubernetes for the PHP developer
Kubernetes for the PHP developer
 
Kubernetes One-Click Deployment: Hands-on Workshop (Mainz)
Kubernetes One-Click Deployment: Hands-on Workshop (Mainz)Kubernetes One-Click Deployment: Hands-on Workshop (Mainz)
Kubernetes One-Click Deployment: Hands-on Workshop (Mainz)
 
Dockerization of Azure Platform
Dockerization of Azure PlatformDockerization of Azure Platform
Dockerization of Azure Platform
 
Docker Introduction
Docker IntroductionDocker Introduction
Docker Introduction
 
Docker kubernetes fundamental(pod_service)_190307
Docker kubernetes fundamental(pod_service)_190307Docker kubernetes fundamental(pod_service)_190307
Docker kubernetes fundamental(pod_service)_190307
 
I Just Want to Run My Code: Waypoint, Nomad, and Other Things
I Just Want to Run My Code: Waypoint, Nomad, and Other ThingsI Just Want to Run My Code: Waypoint, Nomad, and Other Things
I Just Want to Run My Code: Waypoint, Nomad, and Other Things
 
Get you Java application ready for Kubernetes !
Get you Java application ready for Kubernetes !Get you Java application ready for Kubernetes !
Get you Java application ready for Kubernetes !
 
Accelerate your development with Docker
Accelerate your development with DockerAccelerate your development with Docker
Accelerate your development with Docker
 
Accelerate your software development with Docker
Accelerate your software development with DockerAccelerate your software development with Docker
Accelerate your software development with Docker
 
Introduction to Docker on AWS
Introduction to Docker on AWSIntroduction to Docker on AWS
Introduction to Docker on AWS
 
[DevDay 2017] OpenShift Enterprise - Speaker: Linh Do - DevOps Engineer at Ax...
[DevDay 2017] OpenShift Enterprise - Speaker: Linh Do - DevOps Engineer at Ax...[DevDay 2017] OpenShift Enterprise - Speaker: Linh Do - DevOps Engineer at Ax...
[DevDay 2017] OpenShift Enterprise - Speaker: Linh Do - DevOps Engineer at Ax...
 
Docker + Node "hello world" Application
Docker + Node "hello world" ApplicationDocker + Node "hello world" Application
Docker + Node "hello world" Application
 
Creating microservices architectures using node.js and Kubernetes
Creating microservices architectures using node.js and KubernetesCreating microservices architectures using node.js and Kubernetes
Creating microservices architectures using node.js and Kubernetes
 
Docker dev ops for cd meetup 12-14
Docker dev ops for cd meetup 12-14Docker dev ops for cd meetup 12-14
Docker dev ops for cd meetup 12-14
 

Mehr von Docker, Inc.

Containerize Your Game Server for the Best Multiplayer Experience
Containerize Your Game Server for the Best Multiplayer Experience Containerize Your Game Server for the Best Multiplayer Experience
Containerize Your Game Server for the Best Multiplayer Experience Docker, Inc.
 
How to Improve Your Image Builds Using Advance Docker Build
How to Improve Your Image Builds Using Advance Docker BuildHow to Improve Your Image Builds Using Advance Docker Build
How to Improve Your Image Builds Using Advance Docker BuildDocker, Inc.
 
Build & Deploy Multi-Container Applications to AWS
Build & Deploy Multi-Container Applications to AWSBuild & Deploy Multi-Container Applications to AWS
Build & Deploy Multi-Container Applications to AWSDocker, Inc.
 
Securing Your Containerized Applications with NGINX
Securing Your Containerized Applications with NGINXSecuring Your Containerized Applications with NGINX
Securing Your Containerized Applications with NGINXDocker, Inc.
 
How To Build and Run Node Apps with Docker and Compose
How To Build and Run Node Apps with Docker and ComposeHow To Build and Run Node Apps with Docker and Compose
How To Build and Run Node Apps with Docker and ComposeDocker, Inc.
 
Distributed Deep Learning with Docker at Salesforce
Distributed Deep Learning with Docker at SalesforceDistributed Deep Learning with Docker at Salesforce
Distributed Deep Learning with Docker at SalesforceDocker, Inc.
 
The First 10M Pulls: Building The Official Curl Image for Docker Hub
The First 10M Pulls: Building The Official Curl Image for Docker HubThe First 10M Pulls: Building The Official Curl Image for Docker Hub
The First 10M Pulls: Building The Official Curl Image for Docker HubDocker, Inc.
 
Monitoring in a Microservices World
Monitoring in a Microservices WorldMonitoring in a Microservices World
Monitoring in a Microservices WorldDocker, Inc.
 
COVID-19 in Italy: How Docker is Helping the Biggest Italian IT Company Conti...
COVID-19 in Italy: How Docker is Helping the Biggest Italian IT Company Conti...COVID-19 in Italy: How Docker is Helping the Biggest Italian IT Company Conti...
COVID-19 in Italy: How Docker is Helping the Biggest Italian IT Company Conti...Docker, Inc.
 
Predicting Space Weather with Docker
Predicting Space Weather with DockerPredicting Space Weather with Docker
Predicting Space Weather with DockerDocker, Inc.
 
Become a Docker Power User With Microsoft Visual Studio Code
Become a Docker Power User With Microsoft Visual Studio CodeBecome a Docker Power User With Microsoft Visual Studio Code
Become a Docker Power User With Microsoft Visual Studio CodeDocker, Inc.
 
How to Use Mirroring and Caching to Optimize your Container Registry
How to Use Mirroring and Caching to Optimize your Container RegistryHow to Use Mirroring and Caching to Optimize your Container Registry
How to Use Mirroring and Caching to Optimize your Container RegistryDocker, Inc.
 
Monolithic to Microservices + Docker = SDLC on Steroids!
Monolithic to Microservices + Docker = SDLC on Steroids!Monolithic to Microservices + Docker = SDLC on Steroids!
Monolithic to Microservices + Docker = SDLC on Steroids!Docker, Inc.
 
Kubernetes at Datadog Scale
Kubernetes at Datadog ScaleKubernetes at Datadog Scale
Kubernetes at Datadog ScaleDocker, Inc.
 
Labels, Labels, Labels
Labels, Labels, Labels Labels, Labels, Labels
Labels, Labels, Labels Docker, Inc.
 
Using Docker Hub at Scale to Support Micro Focus' Delivery and Deployment Model
Using Docker Hub at Scale to Support Micro Focus' Delivery and Deployment ModelUsing Docker Hub at Scale to Support Micro Focus' Delivery and Deployment Model
Using Docker Hub at Scale to Support Micro Focus' Delivery and Deployment ModelDocker, Inc.
 
Build & Deploy Multi-Container Applications to AWS
Build & Deploy Multi-Container Applications to AWSBuild & Deploy Multi-Container Applications to AWS
Build & Deploy Multi-Container Applications to AWSDocker, Inc.
 
From Fortran on the Desktop to Kubernetes in the Cloud: A Windows Migration S...
From Fortran on the Desktop to Kubernetes in the Cloud: A Windows Migration S...From Fortran on the Desktop to Kubernetes in the Cloud: A Windows Migration S...
From Fortran on the Desktop to Kubernetes in the Cloud: A Windows Migration S...Docker, Inc.
 
Developing with Docker for the Arm Architecture
Developing with Docker for the Arm ArchitectureDeveloping with Docker for the Arm Architecture
Developing with Docker for the Arm ArchitectureDocker, Inc.
 

Mehr von Docker, Inc. (20)

Containerize Your Game Server for the Best Multiplayer Experience
Containerize Your Game Server for the Best Multiplayer Experience Containerize Your Game Server for the Best Multiplayer Experience
Containerize Your Game Server for the Best Multiplayer Experience
 
How to Improve Your Image Builds Using Advance Docker Build
How to Improve Your Image Builds Using Advance Docker BuildHow to Improve Your Image Builds Using Advance Docker Build
How to Improve Your Image Builds Using Advance Docker Build
 
Build & Deploy Multi-Container Applications to AWS
Build & Deploy Multi-Container Applications to AWSBuild & Deploy Multi-Container Applications to AWS
Build & Deploy Multi-Container Applications to AWS
 
Securing Your Containerized Applications with NGINX
Securing Your Containerized Applications with NGINXSecuring Your Containerized Applications with NGINX
Securing Your Containerized Applications with NGINX
 
How To Build and Run Node Apps with Docker and Compose
How To Build and Run Node Apps with Docker and ComposeHow To Build and Run Node Apps with Docker and Compose
How To Build and Run Node Apps with Docker and Compose
 
Hands-on Helm
Hands-on Helm Hands-on Helm
Hands-on Helm
 
Distributed Deep Learning with Docker at Salesforce
Distributed Deep Learning with Docker at SalesforceDistributed Deep Learning with Docker at Salesforce
Distributed Deep Learning with Docker at Salesforce
 
The First 10M Pulls: Building The Official Curl Image for Docker Hub
The First 10M Pulls: Building The Official Curl Image for Docker HubThe First 10M Pulls: Building The Official Curl Image for Docker Hub
The First 10M Pulls: Building The Official Curl Image for Docker Hub
 
Monitoring in a Microservices World
Monitoring in a Microservices WorldMonitoring in a Microservices World
Monitoring in a Microservices World
 
COVID-19 in Italy: How Docker is Helping the Biggest Italian IT Company Conti...
COVID-19 in Italy: How Docker is Helping the Biggest Italian IT Company Conti...COVID-19 in Italy: How Docker is Helping the Biggest Italian IT Company Conti...
COVID-19 in Italy: How Docker is Helping the Biggest Italian IT Company Conti...
 
Predicting Space Weather with Docker
Predicting Space Weather with DockerPredicting Space Weather with Docker
Predicting Space Weather with Docker
 
Become a Docker Power User With Microsoft Visual Studio Code
Become a Docker Power User With Microsoft Visual Studio CodeBecome a Docker Power User With Microsoft Visual Studio Code
Become a Docker Power User With Microsoft Visual Studio Code
 
How to Use Mirroring and Caching to Optimize your Container Registry
How to Use Mirroring and Caching to Optimize your Container RegistryHow to Use Mirroring and Caching to Optimize your Container Registry
How to Use Mirroring and Caching to Optimize your Container Registry
 
Monolithic to Microservices + Docker = SDLC on Steroids!
Monolithic to Microservices + Docker = SDLC on Steroids!Monolithic to Microservices + Docker = SDLC on Steroids!
Monolithic to Microservices + Docker = SDLC on Steroids!
 
Kubernetes at Datadog Scale
Kubernetes at Datadog ScaleKubernetes at Datadog Scale
Kubernetes at Datadog Scale
 
Labels, Labels, Labels
Labels, Labels, Labels Labels, Labels, Labels
Labels, Labels, Labels
 
Using Docker Hub at Scale to Support Micro Focus' Delivery and Deployment Model
Using Docker Hub at Scale to Support Micro Focus' Delivery and Deployment ModelUsing Docker Hub at Scale to Support Micro Focus' Delivery and Deployment Model
Using Docker Hub at Scale to Support Micro Focus' Delivery and Deployment Model
 
Build & Deploy Multi-Container Applications to AWS
Build & Deploy Multi-Container Applications to AWSBuild & Deploy Multi-Container Applications to AWS
Build & Deploy Multi-Container Applications to AWS
 
From Fortran on the Desktop to Kubernetes in the Cloud: A Windows Migration S...
From Fortran on the Desktop to Kubernetes in the Cloud: A Windows Migration S...From Fortran on the Desktop to Kubernetes in the Cloud: A Windows Migration S...
From Fortran on the Desktop to Kubernetes in the Cloud: A Windows Migration S...
 
Developing with Docker for the Arm Architecture
Developing with Docker for the Arm ArchitectureDeveloping with Docker for the Arm Architecture
Developing with Docker for the Arm Architecture
 

Building Web Scale Apps with Docker and Mesos by Alex Rukletsov (Mesosphere)

  • 1. Building Web Scale Apps with Docker and Mesos Alexander Rukletsov Software Engineer @ Mesosphere
  • 3. Applications in the Cloud Era App App App App Client-Server Era: Small apps, big servers App Serv Serv Serv Serv Cloud Era: Big apps, small servers Virtualization Aggregation Server
  • 4. Major Components ● Hardware ● Orchestration, deployment and isolation ● Cluster and resource management ● Scale-aware applications, service discovery, etc.
  • 5. Major Components ● Hardware ● Orchestration, deployment and isolation ● Cluster and resource management ● Scale-aware applications, service discovery
  • 6. Applications in the Cloud Era App App App App Client-Server Era: Small apps, big servers App Serv Serv Serv Serv Cloud Era: Big apps, small servers Virtualization Aggregation Server
  • 7. “Divide et impera [et sarcina]” “Divide and rule [and package]” —Philip II of Macedon, paraphrased
  • 8. Containers ● Lightweight Linux execution environment ● Static application composition ● Reliable deployment ● Unit of resource isolation ● Execution isolation ● Multi-tenancy without heavyweight VMs
  • 9. Docker ● Open source ● Configurable layers ● Reproducible ● Version-controlled ● Plenty of other people’s containers
  • 10. Docker ● Open source ● Configurable layers ● Reproducible ● Version-controlled ● Plenty of other people’s containers ● First-class citizen in Mesos and the Mesosphere stack ● Kubernetes employs and promotes Docker
  • 11. © Gerard Julien/AFP Run everything in containers!
  • 12. What about container management?
  • 15. Apache Mesos facts ● Created in 2009 at UC Berkeley, hardened in Twitter ● Top-level Apache project ● Mesosphere, Twitter, and Airbnb are major users / contributors ● Scales to 10 000s of nodes, production grade ● Packages and support through Mesosphere ● Google officially endorsed Mesos for Kubernetes ● Built-in containerization, including Docker
  • 16. Mesos as a Distributed OS kernel ● Two level resource scheduling ● Launch tasks across the cluster ● Communication between tasks (like IPC) ● APIs for building “native” applications (aka frameworks): program against the datacenter ● APIs in C++, Python, JVM-languages, Go and counting ● Pluggable CPU, memory, IO isolation ● Multi-tenant workloads ● Failure detection ● Easy failover and HA
  • 17. How Mesos works (HA mode) Application Scheduler Zookeeper Mesos MasteMr esos Master Mesos Master Mesos Master Mesos Slave Executor Task Task Executor Framework Task Task Task Executor Mesos Slave
  • 18. Manage containers with Mesos! © ect.nl
  • 20. Native Docker support in Mesos message DockerInfo { required string image = 1; // Network options. enum Network { HOST = 1; BRIDGE = 2; NONE = 3; } message PortMapping { required uint32 host_port = 1; required uint32 container_port = 2; optional string protocol = 3; // Protocol to expose (ie: tcp, udp). } optional Network network = 2 [default = HOST]; repeated PortMapping port_mappings = 3; optional bool privileged = 4 [default = false]; // Allowing arbitrary parameters to be passed to docker CLI. repeated Parameter parameters = 5; }
  • 21. Native Docker support in Mesos CommandInfo command; command.set_value("dd if=/dev/zero of=/dev/null"); ContainerInfo::DockerInfo dockerInfo; dockerInfo.set_image("mesosphere/inky"); ContainerInfo containerInfo; containerInfo.set_type(ContainerInfo::DOCKER); containerInfo.mutable_docker()->CopyFrom(dockerInfo); TaskInfo task; task.set_name(""); task.mutable_task_id()->set_value("1"); task.mutable_slave_id()->CopyFrom(offer.slave_id()); task.mutable_resources()->CopyFrom(offer.resource()); task.mutable_command()->CopyFrom(command); task.mutable_container()->CopyFrom(containerInfo); vector<TaskInfo> tasks; tasks.push_back(task); driver.launchTasks(offer.id(), tasks);
  • 22. Native Docker support in Marathon // nginx-task.json { "container": { "type": "DOCKER", "docker": { "image": "nginx", "network": "BRIDGE", "portMappings": [ { "containerPort": 80, "hostPort": 0, "servicePort": 80, "protocol": "tcp" } ] } }, "id": "nginx", "instances": "1", "cpus": "0.25", "mem": "256", "uris": [] } $ cat nginx-task.json | http http://dev1.mesosphere.com:8080/v2/apps
  • 23. Future Docker Swarm API support App App App Mesos Framework Mesos App Serv Docker Docker Swarm API Docker App Docker Docker Docker App Docker App Docker Serv Serv Serv Serv
  • 24. What Mesos contributes ● Multi-framework: weighted fair sharing, roles, etc. ● Run Docker containers alongside other popular frameworks (e.g. Spark, Rails, Hadoop, …) ● Run services and batch apps in the same cluster ● Advanced scheduling: resources, constraints, global view ● High resource availability, cluster self-healing ● Proven at scale, battle-tested in production ● GUI / CLI cluster management console
  • 25. Ways of running Dockers ● Marathon easy to setup, reliable orchestration ● Multiple Marathons benefit from two level scheduling, reservations, framework roles ● Custom framework fine-grained management
  • 26. “L’homme est libre au moment qu’il veut l’être” “Man is free at the instant he wants to be” —Voltaire
  • 27. Cluster configuration example #1 Services Mesos App App AWS, DigitalOcean, GCE Apps API Kernel Hardware Docker Docker Services REST API “Marathon” App Docker App App Docker App
  • 28. Cluster configuration example #2 Mesos App App AWS, DigitalOcean, GCE Apps API Kernel Hardware Services Services REST API “Marathon” App App Kubernetes Docker Docker Docker App Docker App
  • 29. Cluster configuration example #3 Docker Services REST API “Marathon” (init) Serv Serv Serv Serv Mesos Spark, MPI, Hadoop, Storm Mesos SDK App Java, Python, C++, Go Serv Serv Serv Serv Batch REST API “Chronos” (cron) Serv App Recurring Jobs (ETL, backups) Hardware Native Long running Batch Apps API Kernel App Docker
  • 30. Cluster configuration example #4 Docker AWS, DO, GCE Mesos Spark, MPI, Hadoop, Storm Mesos SDK App Java, Python, C++, Go Serv Serv Services REST API “Marathon” (init) Batch REST API “Chronos” (cron) Serv App Recurring Jobs (ETL, backups) Hardware Native Long running Batch Apps API Kernel App Docker Serv
  • 31. Mesos is not only for “big” players! © Reuters
  • 32. Tiny clusters for everybody ● Mesosphere on GCE ● Mesosphere on DigitalOcean ● Mesosphere on AWS ● Portable Mesosphere on a USB stick
  • 37. Mesos-on-Mesosphere Task Task Task Zookeeper Mesos Marathon Slave Mesos Master Mesos MasMteersos MasteMresos Master Mesos Slave ... Task
  • 38. Mesos-on-Mesosphere Mesos Slave Mesos Slave Docker Docker Docker Docker Zookeeper Mesos Marathon Slave Mesos Master Mesos MasMteersos MasteMresos Master Mesos Slave ... Mesos Master Docker Mesos Slave Docker Mesos Slave Mesos Master
  • 39. Summary ● Complete stack for large (and small) distributed apps ● Multi-tenancy ● Resource optimizations ● Easy to deploy ● No vendor lock-in
  • 40. Thank You. alex@mesosphere.io #mesos on irc.freenode.net