SlideShare ist ein Scribd-Unternehmen logo
1 von 55
Downloaden Sie, um offline zu lesen
Deploying Containers in
Production and at Scale
sunil@mesosphere.io
© 2015 Mesosphere, Inc. 2
1. Mesosphere and the DCOS

2. Running a Production Cluster: Four Themes
© 2015 Mesosphere, Inc.
About Me
• Engineer at Mesosphere who wants to make life
easier for our users.

• Continuing fascination with datacenters.

• Managed an 800TB cluster once upon a time,
now I just talk to people with large clusters!
3
© 2015 Mesosphere, Inc.
Dan
Wants happy Datacenter machines.

Seeks to always have enough headroom.

Prefers to avoid 3am wakeup calls.

Aims to provide top-level services - like app deployment
platforms, CI, databases - to everyone else.

Doesn’t care about what individual workloads are actually
doing: that’s for developers to worry about.
DATACENTER OPERATOR
© 2015 Mesosphere, Inc. 5
Mesosphere and the DCOS
© 2015 Mesosphere, Inc.
operating system



“a collection of software that manages the computer hardware resources and provides common services for
computer programs”
6
© 2015 Mesosphere, Inc.
datacenter operating system



“a collection of software that manages the datacenter computer hardware resources and provides common
services for computer programs”
7
© 2015 Mesosphere, Inc. 8
Kernel


Mesos

DCOS Services
Marathon

Chronos
Kubernetes
Spark
YARN
Cassandra
Kafka
ElasticSearch
Jenkins
...
Service Discovery
Mesos DNS

DCOS CLI
 DCOS GUI
 Repository
Security
System Image
Monitoring/Alerting
Open Source Components
Operations
Mesosphere DCOS

© 2015 Mesosphere, Inc.
Datacenter Operating System
Introduction to DCOS
9
• Native support for Docker containers

• Build around multiple open source projects:

• Apache Mesos (kernel)

• Mesosphere Marathon (init service)

• Mesos DNS (service discovery)
© 2015 Mesosphere, Inc.
Datacenter Operating System
Introduction to DCOS
10
© 2015 Mesosphere, Inc.
Datacenter Operating System
The Command Line for your Datacenter
11
• Easiest way to install distributed systems into a cluster

• One command installs of Spark, Cassandra, HDFS, etc.

• dcos package install spark
• More packages on their way!

• Myriad (YARN scheduler)

• ElasticSearch

• Provides tools to debug and monitor a DCOS cluster
© 2015 Mesosphere, Inc.
Datacenter Operating System
The Command Line for your Datacenter
12
• Provides tools to debug and monitor a DCOS cluster

• dcos marathon app list
• dcos service log spark
• Open source (Apache 2 licensed)

• Extensible!
© 2015 Mesosphere, Inc. 13
Apache Mesos: Datacenter Kernel
14© 2015 Mesosphere, Inc.
© 2015 Mesosphere, Inc.
Apache Mesos: Datacenter Kernel
Level of Indirection
15
Mesos%(slaves)%
coordinator%
Mesos%(master)%
coordinator%
© 2015 Mesosphere, Inc. 16
© 2015 Mesosphere, Inc.
Overview & Users
• A	
  top-­‐level	
  Apache	
  project	
  
• A	
  cluster	
  resource	
  nego4ator	
  
• Scalable	
  to	
  10,000s	
  of	
  nodes	
  
• Fault-­‐tolerant,	
  ba=le-­‐tested	
  
• An	
  SDK	
  for	
  distributed	
  apps
17
Apache Mesos: Datacenter Kernel
© 2015 Mesosphere, Inc. 18
Marathon: Init System
© 2015 Mesosphere, Inc. 19
© 2015 Mesosphere, Inc. 20
© 2015 Mesosphere, Inc.
Features
• Start,	
  stop,	
  scale,	
  update	
  apps	
  
• Nice	
  web	
  interface,	
  API	
  
• Highly	
  available,	
  no	
  SPoF	
  
• Na4ve	
  Docker	
  support	
  
• Rolling	
  deploy	
  /	
  restart	
  
• Applica4on	
  health	
  checks	
  
• Ar4fact	
  staging
21
Marathon: Init System
© 2015 Mesosphere, Inc. 22
Running a Production Cluster: Four Themes
© 2015 Mesosphere, Inc. 23
Running a Production Cluster: Four Themes
1. Dependency Management

2. Deployment

3. Service Discovery

4. Monitoring & Logging
© 2015 Mesosphere, Inc. 24
1. Dependency Management
© 2015 Mesosphere, Inc. 25
1. Dependency Management
a) Configuration of Servers

b) Application Dependencies
© 2015 Mesosphere, Inc.
1. Dependency Management
Configuration of Servers
• Still need to configure the underlying system image but it’s now much
simpler!

• Use Chef or Puppet.
26
Use a configuration management system to build your
underlying machines.
© 2015 Mesosphere, Inc.
1. Dependency Management
Application Dependencies
• Docker works really well!

• For non Dockerized applications, using a tarball is crude but works well.
27
Application developers should make no assumptions about the
underlying system. Containers make this easy.
© 2015 Mesosphere, Inc. 28
2. Deployment
© 2015 Mesosphere, Inc.
2. Deployment
29
We need two things:

1.An artifact repository

2.A container orchestration system (i.e. Mesos)
© 2015 Mesosphere, Inc.
2. Deployment
30
a) Developer Workflow

b) Private Registries

c) Resource Limits

d) Resource Homogeneity

e) Noisy Neighbours

f) High Availability
© 2015 Mesosphere, Inc.
2. Deployment
Developer Workflow
• Use a source control system to track application and job definitions. These
can either live in a central repository or in each projects' repository.
31
Make use of source control and continuous integration tooling
to provide an audit log of what's being deployed to your cluster.
© 2015 Mesosphere, Inc.
2. Deployment
Private Registries
• Lots of machines pulling down containers. Docker Hub just won't suffice.
You'll want to use a private registry backed by something like HDFS or S3.
32
Run an internal registry backed by a distributed file system.
© 2015 Mesosphere, Inc.
Think harder about how much of various resources your
application really needs.
2. Deployment
Resource Limits
• Containers need to be sized appropriately. 

• Running an application on a virtual machine allows the application to grow as
much as needed. Container resource limits will be enforced by killing the
task.

• Some languages are better than this than others (e.g. Java)
33
© 2015 Mesosphere, Inc.
Leave some slack in your resource limits when deploying an
application to account for performance differences between
servers.
2. Deployment
Resource Homogeneity
• CPUs perform at different rates! Generally 1 core = 1 share but one core
doesn’t necessarily equal another core.

• Same goes for memory!
34
© 2015 Mesosphere, Inc.
Leak some slack in your resource limits when deploying an
application to account for noisy neighbours. Consider co-location
constraints (or machine roles) to avoid worst case interference.
2. Deployment
Noisy Neighbours
• Just like VMs, containers suffer from the issues of noisy neighbours.

• Colocation between services is more frequent and interference becomes a
really big problem. Networking isolation is still poor.

• Stanford’s David Lo has done some great research into what workloads work
well with each other.
35
© 2015 Mesosphere, Inc.
It's up to the application writer to build in high availability
functionality. ZooKeeper is a good start.
2. Deployment
High Availability
• A container based architecture will not make your applications more resilient.

• Mesos and Marathon are built to handle rolling upgrades. 

• However it's up to the application itself to handle failover and persistence of
state.
36
© 2015 Mesosphere, Inc. 37
3. Service Discovery
© 2015 Mesosphere, Inc.
3. Service Discovery
38
Two approaches:

1.Static ports

2.Dynamic ports
© 2015 Mesosphere, Inc.
3. Service Discovery
Static Ports
• Each instance service is given a unique hostname and runs on the same, well
known, port. 

• In order to co-locate multiple instances of service on same physical host, it is
necessary to allocate one IP per container. 

• Typically using DNS A-records.
39
Less manual configuration but with static ports, unless you have
one IP per container, you are limited to one instance of an
application per machine.
© 2015 Mesosphere, Inc.
3. Service Discovery
Dynamic Ports
Routing to services running on unique ports usually requires maintaining a
secondary, out-of-band, process:

1. Using a DNS server and SRV records. Application must be able to
read SRV records. Most languages don't have good support for this
(Go does).

2. Use a proxy or iptables that is fed by a secondary process (e.g.
ServiceRouter) to remap well known ports to dynamically allocated
ports.
40
© 2015 Mesosphere, Inc.
3. Service Discovery
Dynamic Ports
41
Applications must be written to accept ports dynamically. This
may not be possible with legacy applications - which limits you
to running one instance per host.



DNS based approaches work well if your applications can
handle SRV records.
A combination of approaches will most likely be required.
© 2015 Mesosphere, Inc.
3. Service Discovery
Dynamic Ports (ZooKeeper/etc.d based)
• Use ZooKeeper or etc.d as a directory service / source of truth to store port
mapping information. 

• Load is significant and if clients misbehave then these services may have too
many open connections.
42
Ensure that ZooKeeper/etc.d clients are well behaved. Stick a
distributed cache in front of ZooKeeper to reduce load.
© 2015 Mesosphere, Inc.
3. Service Discovery
Is Not Load Balancing
• Service discovery mechanisms primarily handle reachability of one service by
another and don't typically route requests in an intelligent way.
43
Add some intelligence to your service discovery mechanism or
use an external load balancer (e.g. ELB).
© 2015 Mesosphere, Inc. 44
4. Monitoring & Logging
© 2015 Mesosphere, Inc.
4. Monitoring & Logging
45
Different when using containers:

1. Limited access to runtime environment

2. Metrics are different
© 2015 Mesosphere, Inc.
4. Monitoring & Logging
Utilisation vs Allocation
• It's hard to size applications correctly!

• Monitor running containers for CPU and memory usage to make sure they're
correctly sized.
46
Monitor CPU and memory of running containers to ensure
applications are correctly sized.
© 2015 Mesosphere, Inc.
4. Monitoring & Logging
Application Metrics
• Applications may be using all of their allocated capacity.

• This doesn't mean that they're necessarily mis-sized though.
47
Monitor application level metrics like throughput and latency to
get a more meaningful idea of how your application is
performing.
© 2015 Mesosphere, Inc.
4. Monitoring & Logging
Health Checks
• Health checks allow the container management system to automatically
cycle and route around tasks that may be still be running but are broken at
an application level. 

• Use these in combination with system/machine level monitoring to keep
track of the state of a cluster.
48
Make health checks a mandatory part of the application
deployment process.
© 2015 Mesosphere, Inc.
4. Monitoring & Logging
Tooling
• It's not feasible to ssh into machines. 

• Must provide tooling that allows users to introspect their containers. Mesos
allows users to access their tasks' sandboxes (and the new DCOS command
line interface provides similar functionality).
49
Make it easy for developers to access log output.
© 2015 Mesosphere, Inc.
4. Monitoring & Logging
Tooling
• It's not feasible to ssh into machines. 

• Must provide tooling that allows users to introspect their containers. Mesos
allows users to access their tasks' sandboxes (and the new DCOS command
line interface provides similar functionality).
50
Make it easy for developers to access log output.
© 2015 Mesosphere, Inc.
4. Monitoring & Logging
Consistency FTW
• Logging becomes significantly more important to debug application failures
when you're running many containers on various hosts. 

• Ensure logging is approached in a standard way across applications and that
log output is sufficiently descriptive to debug errors.
51
Mandate that applications log in a common way, either using a
library or enforced best practices.
© 2015 Mesosphere, Inc.
4. Monitoring & Logging
Aggregate Logs
• Good practice in general to view logging output across a cluster. 

• If a machine dies, you'll lose logs. 

• Aggregate these logs centrally and make them accessible to the user.
52
Aggregate logs and expose these to your application developers.
© 2015 Mesosphere, Inc. 53
Summary
© 2015 Mesosphere, Inc. 54
Summary
1. Mesos and Marathon provide a great starting point.

2. Docker with a container orchestration system makes it
easier to treat machines as “cattle”.

3. Resource requirements need more thought.

4. Developers need tooling to help debug application
failures.

5. No right answer (yet) for service discovery.
© 2015 Mesosphere, Inc. 55
Special thanks to:
• Ben Hindman
• Brenden Matthews
• Sam Eaton
• Tyler Neely
Thank you!
Slides will be online at:
mesosphere.github.io/presentations

Weitere ähnliche Inhalte

Was ist angesagt?

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
 
Cloud Computing, Docker, Mesos, DCOS, Container, Big Data, Paas
Cloud Computing, Docker, Mesos, DCOS, Container, Big Data, PaasCloud Computing, Docker, Mesos, DCOS, Container, Big Data, Paas
Cloud Computing, Docker, Mesos, DCOS, Container, Big Data, PaasNeeraj Sabharwal
 
DCOS Presentation
DCOS PresentationDCOS Presentation
DCOS PresentationJan Repnak
 
Container Orchestration Wars (Micro Edition)
Container Orchestration Wars (Micro Edition)Container Orchestration Wars (Micro Edition)
Container Orchestration Wars (Micro Edition)Karl Isenberg
 
Introduction To Apache Mesos
Introduction To Apache MesosIntroduction To Apache Mesos
Introduction To Apache MesosTimothy St. Clair
 
Building Web Scale Apps with Docker and Mesos by Alex Rukletsov (Mesosphere)
Building Web Scale Apps with Docker and Mesos by Alex Rukletsov (Mesosphere)Building Web Scale Apps with Docker and Mesos by Alex Rukletsov (Mesosphere)
Building Web Scale Apps with Docker and Mesos by Alex Rukletsov (Mesosphere)Docker, Inc.
 
Mesosphere & Magnetic: Take the pain out of running complex and critical serv...
Mesosphere & Magnetic: Take the pain out of running complex and critical serv...Mesosphere & Magnetic: Take the pain out of running complex and critical serv...
Mesosphere & Magnetic: Take the pain out of running complex and critical serv...Mesosphere Inc.
 
Mesos: A State-of-the-art Container Orchestrator
Mesos: A State-of-the-art Container OrchestratorMesos: A State-of-the-art Container Orchestrator
Mesos: A State-of-the-art Container OrchestratorC4Media
 
Introduction to Apache Mesos
Introduction to Apache MesosIntroduction to Apache Mesos
Introduction to Apache MesosJoe Stein
 
IoT on DCOS - Scala By the Bay 2015
IoT on DCOS - Scala By the Bay 2015IoT on DCOS - Scala By the Bay 2015
IoT on DCOS - Scala By the Bay 2015Brenden Matthews
 
Federated mesos clusters for global data center designs
Federated mesos clusters for global data center designsFederated mesos clusters for global data center designs
Federated mesos clusters for global data center designsKrishna-Kumar
 
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
 
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
 
Cloud Surfing: Kubernetes on Mesos
Cloud Surfing: Kubernetes on MesosCloud Surfing: Kubernetes on Mesos
Cloud Surfing: Kubernetes on MesosKarl Isenberg
 
Mesos and Kubernetes ecosystem overview
Mesos and Kubernetes ecosystem overviewMesos and Kubernetes ecosystem overview
Mesos and Kubernetes ecosystem overviewKrishna-Kumar
 
Kubernetes Multitenancy Karl Isenberg - KubeCon NA 2019
Kubernetes Multitenancy   Karl Isenberg - KubeCon NA 2019Kubernetes Multitenancy   Karl Isenberg - KubeCon NA 2019
Kubernetes Multitenancy Karl Isenberg - KubeCon NA 2019Karl Isenberg
 
Scalable On-Demand Hadoop Clusters with Docker and Mesos
Scalable On-Demand Hadoop Clusters with Docker and MesosScalable On-Demand Hadoop Clusters with Docker and Mesos
Scalable On-Demand Hadoop Clusters with Docker and Mesosnelsonadpresent
 
Introduction to Apache Mesos
Introduction to Apache MesosIntroduction to Apache Mesos
Introduction to Apache Mesostomasbart
 
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
 

Was ist angesagt? (20)

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
 
Cloud Computing, Docker, Mesos, DCOS, Container, Big Data, Paas
Cloud Computing, Docker, Mesos, DCOS, Container, Big Data, PaasCloud Computing, Docker, Mesos, DCOS, Container, Big Data, Paas
Cloud Computing, Docker, Mesos, DCOS, Container, Big Data, Paas
 
DCOS Presentation
DCOS PresentationDCOS Presentation
DCOS Presentation
 
Container Orchestration Wars (Micro Edition)
Container Orchestration Wars (Micro Edition)Container Orchestration Wars (Micro Edition)
Container Orchestration Wars (Micro Edition)
 
Introduction To Apache Mesos
Introduction To Apache MesosIntroduction To Apache Mesos
Introduction To Apache Mesos
 
Building Web Scale Apps with Docker and Mesos by Alex Rukletsov (Mesosphere)
Building Web Scale Apps with Docker and Mesos by Alex Rukletsov (Mesosphere)Building Web Scale Apps with Docker and Mesos by Alex Rukletsov (Mesosphere)
Building Web Scale Apps with Docker and Mesos by Alex Rukletsov (Mesosphere)
 
Mesosphere & Magnetic: Take the pain out of running complex and critical serv...
Mesosphere & Magnetic: Take the pain out of running complex and critical serv...Mesosphere & Magnetic: Take the pain out of running complex and critical serv...
Mesosphere & Magnetic: Take the pain out of running complex and critical serv...
 
Mesos: A State-of-the-art Container Orchestrator
Mesos: A State-of-the-art Container OrchestratorMesos: A State-of-the-art Container Orchestrator
Mesos: A State-of-the-art Container Orchestrator
 
Introduction to Apache Mesos
Introduction to Apache MesosIntroduction to Apache Mesos
Introduction to Apache Mesos
 
IoT on DCOS - Scala By the Bay 2015
IoT on DCOS - Scala By the Bay 2015IoT on DCOS - Scala By the Bay 2015
IoT on DCOS - Scala By the Bay 2015
 
Federated mesos clusters for global data center designs
Federated mesos clusters for global data center designsFederated mesos clusters for global data center designs
Federated mesos clusters for global data center designs
 
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.
 
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
 
Cloud Surfing: Kubernetes on Mesos
Cloud Surfing: Kubernetes on MesosCloud Surfing: Kubernetes on Mesos
Cloud Surfing: Kubernetes on Mesos
 
Mesos and Kubernetes ecosystem overview
Mesos and Kubernetes ecosystem overviewMesos and Kubernetes ecosystem overview
Mesos and Kubernetes ecosystem overview
 
Kubernetes Multitenancy Karl Isenberg - KubeCon NA 2019
Kubernetes Multitenancy   Karl Isenberg - KubeCon NA 2019Kubernetes Multitenancy   Karl Isenberg - KubeCon NA 2019
Kubernetes Multitenancy Karl Isenberg - KubeCon NA 2019
 
Scalable On-Demand Hadoop Clusters with Docker and Mesos
Scalable On-Demand Hadoop Clusters with Docker and MesosScalable On-Demand Hadoop Clusters with Docker and Mesos
Scalable On-Demand Hadoop Clusters with Docker and Mesos
 
Introduction to Apache Mesos
Introduction to Apache MesosIntroduction to Apache Mesos
Introduction to Apache Mesos
 
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
 

Ähnlich wie Deploying Containers in Production and at Scale

Introduction to Apache Mesos and DC/OS
Introduction to Apache Mesos and DC/OSIntroduction to Apache Mesos and DC/OS
Introduction to Apache Mesos and DC/OSSteve Wong
 
Easy Docker Deployments with Mesosphere DCOS on Azure
Easy Docker Deployments with Mesosphere DCOS on AzureEasy Docker Deployments with Mesosphere DCOS on Azure
Easy Docker Deployments with Mesosphere DCOS on AzureMesosphere Inc.
 
Containerizing couchbase with microservice architecture on mesosphere.pptx
Containerizing couchbase with microservice architecture on mesosphere.pptxContainerizing couchbase with microservice architecture on mesosphere.pptx
Containerizing couchbase with microservice architecture on mesosphere.pptxRavi Yadav
 
State of the Container Ecosystem
State of the Container EcosystemState of the Container Ecosystem
State of the Container EcosystemVinay Rao
 
Docker & aPaaS: Enterprise Innovation and Trends for 2015
Docker & aPaaS: Enterprise Innovation and Trends for 2015Docker & aPaaS: Enterprise Innovation and Trends for 2015
Docker & aPaaS: Enterprise Innovation and Trends for 2015WaveMaker, Inc.
 
Highly available nodejs
Highly available nodejsHighly available nodejs
Highly available nodejspfremm
 
ThatConference 2016 - Highly Available Node.js
ThatConference 2016 - Highly Available Node.jsThatConference 2016 - Highly Available Node.js
ThatConference 2016 - Highly Available Node.jsBrad Williams
 
Kubernetes solutions
Kubernetes solutionsKubernetes solutions
Kubernetes solutionsEric Cattoir
 
Technology insights: Decision Science Platform
Technology insights: Decision Science PlatformTechnology insights: Decision Science Platform
Technology insights: Decision Science PlatformDecision Science Community
 
Build cloud native solution using open source
Build cloud native solution using open source Build cloud native solution using open source
Build cloud native solution using open source Nitesh Jadhav
 
Build highly scalable_low_latency_applications
Build highly scalable_low_latency_applicationsBuild highly scalable_low_latency_applications
Build highly scalable_low_latency_applicationsShivnarayan Varma
 
Strata SC 2014: Apache Mesos as an SDK for Building Distributed Frameworks
Strata SC 2014: Apache Mesos as an SDK for Building Distributed FrameworksStrata SC 2014: Apache Mesos as an SDK for Building Distributed Frameworks
Strata SC 2014: Apache Mesos as an SDK for Building Distributed FrameworksPaco Nathan
 
Containers, microservices and serverless for realists
Containers, microservices and serverless for realistsContainers, microservices and serverless for realists
Containers, microservices and serverless for realistsKarthik Gaekwad
 
Docker Application to Scientific Computing
Docker Application to Scientific ComputingDocker Application to Scientific Computing
Docker Application to Scientific ComputingPeter Bryzgalov
 
Microservices: How loose is loosely coupled?
Microservices: How loose is loosely coupled?Microservices: How loose is loosely coupled?
Microservices: How loose is loosely coupled?John Rofrano
 
Developing Hybrid Cloud Applications
Developing Hybrid Cloud ApplicationsDeveloping Hybrid Cloud Applications
Developing Hybrid Cloud ApplicationsDaniel Berg
 
Breaking the Monolith Road to Containers
Breaking the Monolith Road to ContainersBreaking the Monolith Road to Containers
Breaking the Monolith Road to ContainersAmazon Web Services
 
The Kubernetes WebLogic revival (part 1)
The Kubernetes WebLogic revival (part 1)The Kubernetes WebLogic revival (part 1)
The Kubernetes WebLogic revival (part 1)Simon Haslam
 

Ähnlich wie Deploying Containers in Production and at Scale (20)

Introduction to Apache Mesos and DC/OS
Introduction to Apache Mesos and DC/OSIntroduction to Apache Mesos and DC/OS
Introduction to Apache Mesos and DC/OS
 
Easy Docker Deployments with Mesosphere DCOS on Azure
Easy Docker Deployments with Mesosphere DCOS on AzureEasy Docker Deployments with Mesosphere DCOS on Azure
Easy Docker Deployments with Mesosphere DCOS on Azure
 
Containerizing couchbase with microservice architecture on mesosphere.pptx
Containerizing couchbase with microservice architecture on mesosphere.pptxContainerizing couchbase with microservice architecture on mesosphere.pptx
Containerizing couchbase with microservice architecture on mesosphere.pptx
 
State of the Container Ecosystem
State of the Container EcosystemState of the Container Ecosystem
State of the Container Ecosystem
 
Docker & aPaaS: Enterprise Innovation and Trends for 2015
Docker & aPaaS: Enterprise Innovation and Trends for 2015Docker & aPaaS: Enterprise Innovation and Trends for 2015
Docker & aPaaS: Enterprise Innovation and Trends for 2015
 
Highly available nodejs
Highly available nodejsHighly available nodejs
Highly available nodejs
 
ThatConference 2016 - Highly Available Node.js
ThatConference 2016 - Highly Available Node.jsThatConference 2016 - Highly Available Node.js
ThatConference 2016 - Highly Available Node.js
 
{code} and containers
{code} and containers{code} and containers
{code} and containers
 
Kubernetes solutions
Kubernetes solutionsKubernetes solutions
Kubernetes solutions
 
Technology insights: Decision Science Platform
Technology insights: Decision Science PlatformTechnology insights: Decision Science Platform
Technology insights: Decision Science Platform
 
Build cloud native solution using open source
Build cloud native solution using open source Build cloud native solution using open source
Build cloud native solution using open source
 
Build highly scalable_low_latency_applications
Build highly scalable_low_latency_applicationsBuild highly scalable_low_latency_applications
Build highly scalable_low_latency_applications
 
Strata SC 2014: Apache Mesos as an SDK for Building Distributed Frameworks
Strata SC 2014: Apache Mesos as an SDK for Building Distributed FrameworksStrata SC 2014: Apache Mesos as an SDK for Building Distributed Frameworks
Strata SC 2014: Apache Mesos as an SDK for Building Distributed Frameworks
 
Containers, microservices and serverless for realists
Containers, microservices and serverless for realistsContainers, microservices and serverless for realists
Containers, microservices and serverless for realists
 
Docker Application to Scientific Computing
Docker Application to Scientific ComputingDocker Application to Scientific Computing
Docker Application to Scientific Computing
 
Microservices: How loose is loosely coupled?
Microservices: How loose is loosely coupled?Microservices: How loose is loosely coupled?
Microservices: How loose is loosely coupled?
 
Developing Hybrid Cloud Applications
Developing Hybrid Cloud ApplicationsDeveloping Hybrid Cloud Applications
Developing Hybrid Cloud Applications
 
Breaking the Monolith Road to Containers
Breaking the Monolith Road to ContainersBreaking the Monolith Road to Containers
Breaking the Monolith Road to Containers
 
Docker Orchestrators
Docker OrchestratorsDocker Orchestrators
Docker Orchestrators
 
The Kubernetes WebLogic revival (part 1)
The Kubernetes WebLogic revival (part 1)The Kubernetes WebLogic revival (part 1)
The Kubernetes WebLogic revival (part 1)
 

Mehr von Mesosphere Inc.

DevOps in Age of Kubernetes
DevOps in Age of KubernetesDevOps in Age of Kubernetes
DevOps in Age of KubernetesMesosphere Inc.
 
Java EE Modernization with Mesosphere DCOS
Java EE Modernization with Mesosphere DCOSJava EE Modernization with Mesosphere DCOS
Java EE Modernization with Mesosphere DCOSMesosphere Inc.
 
Operating Kubernetes at Scale (Australia Presentation)
Operating Kubernetes at Scale (Australia Presentation)Operating Kubernetes at Scale (Australia Presentation)
Operating Kubernetes at Scale (Australia Presentation)Mesosphere Inc.
 
Episode 4: Operating Kubernetes at Scale with DC/OS
Episode 4: Operating Kubernetes at Scale with DC/OSEpisode 4: Operating Kubernetes at Scale with DC/OS
Episode 4: Operating Kubernetes at Scale with DC/OSMesosphere Inc.
 
Episode 3: Kubernetes and Big Data Services
Episode 3: Kubernetes and Big Data ServicesEpisode 3: Kubernetes and Big Data Services
Episode 3: Kubernetes and Big Data ServicesMesosphere Inc.
 
Episode 2: Deploying Kubernetes at Scale
Episode 2: Deploying Kubernetes at ScaleEpisode 2: Deploying Kubernetes at Scale
Episode 2: Deploying Kubernetes at ScaleMesosphere Inc.
 
Episode 1: Building Kubernetes-as-a-Service
Episode 1: Building Kubernetes-as-a-ServiceEpisode 1: Building Kubernetes-as-a-Service
Episode 1: Building Kubernetes-as-a-ServiceMesosphere Inc.
 
Best Practices for Managing Kubernetes and Stateful Services: Mesosphere & Sy...
Best Practices for Managing Kubernetes and Stateful Services: Mesosphere & Sy...Best Practices for Managing Kubernetes and Stateful Services: Mesosphere & Sy...
Best Practices for Managing Kubernetes and Stateful Services: Mesosphere & Sy...Mesosphere Inc.
 
Webinar: What's New in DC/OS 1.11
Webinar: What's New in DC/OS 1.11Webinar: What's New in DC/OS 1.11
Webinar: What's New in DC/OS 1.11Mesosphere Inc.
 
Webinar: End-to-End CI/CD with GitLab and DC/OS
Webinar: End-to-End CI/CD with GitLab and DC/OSWebinar: End-to-End CI/CD with GitLab and DC/OS
Webinar: End-to-End CI/CD with GitLab and DC/OSMesosphere Inc.
 
Webinar: Operating Kubernetes at Scale
Webinar: Operating Kubernetes at ScaleWebinar: Operating Kubernetes at Scale
Webinar: Operating Kubernetes at ScaleMesosphere Inc.
 
Webinar: Déployez facilement Kubernetes & vos containers
Webinar: Déployez facilement Kubernetes & vos containersWebinar: Déployez facilement Kubernetes & vos containers
Webinar: Déployez facilement Kubernetes & vos containersMesosphere Inc.
 
Webinar: Deep Learning Pipelines Beyond the Learning
Webinar: Deep Learning Pipelines Beyond the LearningWebinar: Deep Learning Pipelines Beyond the Learning
Webinar: Deep Learning Pipelines Beyond the LearningMesosphere Inc.
 
Running Distributed TensorFlow with GPUs on Mesos with DC/OS
Running Distributed TensorFlow with GPUs on Mesos with DC/OS Running Distributed TensorFlow with GPUs on Mesos with DC/OS
Running Distributed TensorFlow with GPUs on Mesos with DC/OS Mesosphere Inc.
 
Manage Microservices & Fast Data Systems on One Platform w/ DC/OS
Manage Microservices & Fast Data Systems on One Platform w/ DC/OSManage Microservices & Fast Data Systems on One Platform w/ DC/OS
Manage Microservices & Fast Data Systems on One Platform w/ DC/OSMesosphere Inc.
 
Jolt: Distributed, fault-tolerant test running at scale using Mesos
Jolt: Distributed, fault-tolerant test running at scale using MesosJolt: Distributed, fault-tolerant test running at scale using Mesos
Jolt: Distributed, fault-tolerant test running at scale using MesosMesosphere Inc.
 
Deploying Kong with Mesosphere DC/OS
Deploying Kong with Mesosphere DC/OSDeploying Kong with Mesosphere DC/OS
Deploying Kong with Mesosphere DC/OSMesosphere Inc.
 
Tech Preview: Kubernetes on Mesosphere DC/OS 1.10
Tech Preview: Kubernetes on Mesosphere DC/OS 1.10Tech Preview: Kubernetes on Mesosphere DC/OS 1.10
Tech Preview: Kubernetes on Mesosphere DC/OS 1.10Mesosphere Inc.
 
Scaling Like Twitter with Apache Mesos
Scaling Like Twitter with Apache MesosScaling Like Twitter with Apache Mesos
Scaling Like Twitter with Apache MesosMesosphere Inc.
 

Mehr von Mesosphere Inc. (20)

DevOps in Age of Kubernetes
DevOps in Age of KubernetesDevOps in Age of Kubernetes
DevOps in Age of Kubernetes
 
Java EE Modernization with Mesosphere DCOS
Java EE Modernization with Mesosphere DCOSJava EE Modernization with Mesosphere DCOS
Java EE Modernization with Mesosphere DCOS
 
Operating Kubernetes at Scale (Australia Presentation)
Operating Kubernetes at Scale (Australia Presentation)Operating Kubernetes at Scale (Australia Presentation)
Operating Kubernetes at Scale (Australia Presentation)
 
Episode 4: Operating Kubernetes at Scale with DC/OS
Episode 4: Operating Kubernetes at Scale with DC/OSEpisode 4: Operating Kubernetes at Scale with DC/OS
Episode 4: Operating Kubernetes at Scale with DC/OS
 
Episode 3: Kubernetes and Big Data Services
Episode 3: Kubernetes and Big Data ServicesEpisode 3: Kubernetes and Big Data Services
Episode 3: Kubernetes and Big Data Services
 
Episode 2: Deploying Kubernetes at Scale
Episode 2: Deploying Kubernetes at ScaleEpisode 2: Deploying Kubernetes at Scale
Episode 2: Deploying Kubernetes at Scale
 
Episode 1: Building Kubernetes-as-a-Service
Episode 1: Building Kubernetes-as-a-ServiceEpisode 1: Building Kubernetes-as-a-Service
Episode 1: Building Kubernetes-as-a-Service
 
Best Practices for Managing Kubernetes and Stateful Services: Mesosphere & Sy...
Best Practices for Managing Kubernetes and Stateful Services: Mesosphere & Sy...Best Practices for Managing Kubernetes and Stateful Services: Mesosphere & Sy...
Best Practices for Managing Kubernetes and Stateful Services: Mesosphere & Sy...
 
Webinar: What's New in DC/OS 1.11
Webinar: What's New in DC/OS 1.11Webinar: What's New in DC/OS 1.11
Webinar: What's New in DC/OS 1.11
 
Webinar: End-to-End CI/CD with GitLab and DC/OS
Webinar: End-to-End CI/CD with GitLab and DC/OSWebinar: End-to-End CI/CD with GitLab and DC/OS
Webinar: End-to-End CI/CD with GitLab and DC/OS
 
Webinar: Operating Kubernetes at Scale
Webinar: Operating Kubernetes at ScaleWebinar: Operating Kubernetes at Scale
Webinar: Operating Kubernetes at Scale
 
Webinar: Déployez facilement Kubernetes & vos containers
Webinar: Déployez facilement Kubernetes & vos containersWebinar: Déployez facilement Kubernetes & vos containers
Webinar: Déployez facilement Kubernetes & vos containers
 
Webinar: Deep Learning Pipelines Beyond the Learning
Webinar: Deep Learning Pipelines Beyond the LearningWebinar: Deep Learning Pipelines Beyond the Learning
Webinar: Deep Learning Pipelines Beyond the Learning
 
Running Distributed TensorFlow with GPUs on Mesos with DC/OS
Running Distributed TensorFlow with GPUs on Mesos with DC/OS Running Distributed TensorFlow with GPUs on Mesos with DC/OS
Running Distributed TensorFlow with GPUs on Mesos with DC/OS
 
Manage Microservices & Fast Data Systems on One Platform w/ DC/OS
Manage Microservices & Fast Data Systems on One Platform w/ DC/OSManage Microservices & Fast Data Systems on One Platform w/ DC/OS
Manage Microservices & Fast Data Systems on One Platform w/ DC/OS
 
Jolt: Distributed, fault-tolerant test running at scale using Mesos
Jolt: Distributed, fault-tolerant test running at scale using MesosJolt: Distributed, fault-tolerant test running at scale using Mesos
Jolt: Distributed, fault-tolerant test running at scale using Mesos
 
Deploying Kong with Mesosphere DC/OS
Deploying Kong with Mesosphere DC/OSDeploying Kong with Mesosphere DC/OS
Deploying Kong with Mesosphere DC/OS
 
Tech Preview: Kubernetes on Mesosphere DC/OS 1.10
Tech Preview: Kubernetes on Mesosphere DC/OS 1.10Tech Preview: Kubernetes on Mesosphere DC/OS 1.10
Tech Preview: Kubernetes on Mesosphere DC/OS 1.10
 
Mesos framework API v1
Mesos framework API v1Mesos framework API v1
Mesos framework API v1
 
Scaling Like Twitter with Apache Mesos
Scaling Like Twitter with Apache MesosScaling Like Twitter with Apache Mesos
Scaling Like Twitter with Apache Mesos
 

Kürzlich hochgeladen

Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoffsammart93
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...apidays
 
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
 
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
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUK Journal
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdflior mazor
 
Tech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfTech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfhans926745
 
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
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc
 
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
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessPixlogix Infotech
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slidevu2urc
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
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
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 

Kürzlich hochgeladen (20)

Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
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?
 
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
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
Tech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfTech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdf
 
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
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
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)
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your Business
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
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...
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
+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...
 

Deploying Containers in Production and at Scale

  • 1. Deploying Containers in Production and at Scale sunil@mesosphere.io
  • 2. © 2015 Mesosphere, Inc. 2 1. Mesosphere and the DCOS
 2. Running a Production Cluster: Four Themes
  • 3. © 2015 Mesosphere, Inc. About Me • Engineer at Mesosphere who wants to make life easier for our users. • Continuing fascination with datacenters. • Managed an 800TB cluster once upon a time, now I just talk to people with large clusters! 3
  • 4. © 2015 Mesosphere, Inc. Dan Wants happy Datacenter machines. Seeks to always have enough headroom. Prefers to avoid 3am wakeup calls. Aims to provide top-level services - like app deployment platforms, CI, databases - to everyone else. Doesn’t care about what individual workloads are actually doing: that’s for developers to worry about. DATACENTER OPERATOR
  • 5. © 2015 Mesosphere, Inc. 5 Mesosphere and the DCOS
  • 6. © 2015 Mesosphere, Inc. operating system
 
 “a collection of software that manages the computer hardware resources and provides common services for computer programs” 6
  • 7. © 2015 Mesosphere, Inc. datacenter operating system
 
 “a collection of software that manages the datacenter computer hardware resources and provides common services for computer programs” 7
  • 8. © 2015 Mesosphere, Inc. 8 Kernel
 Mesos DCOS Services Marathon
 Chronos Kubernetes Spark YARN Cassandra Kafka ElasticSearch Jenkins ... Service Discovery Mesos DNS DCOS CLI DCOS GUI Repository Security System Image Monitoring/Alerting Open Source Components Operations Mesosphere DCOS

  • 9. © 2015 Mesosphere, Inc. Datacenter Operating System Introduction to DCOS 9 • Native support for Docker containers • Build around multiple open source projects: • Apache Mesos (kernel) • Mesosphere Marathon (init service) • Mesos DNS (service discovery)
  • 10. © 2015 Mesosphere, Inc. Datacenter Operating System Introduction to DCOS 10
  • 11. © 2015 Mesosphere, Inc. Datacenter Operating System The Command Line for your Datacenter 11 • Easiest way to install distributed systems into a cluster • One command installs of Spark, Cassandra, HDFS, etc. • dcos package install spark • More packages on their way! • Myriad (YARN scheduler) • ElasticSearch • Provides tools to debug and monitor a DCOS cluster
  • 12. © 2015 Mesosphere, Inc. Datacenter Operating System The Command Line for your Datacenter 12 • Provides tools to debug and monitor a DCOS cluster • dcos marathon app list • dcos service log spark • Open source (Apache 2 licensed) • Extensible!
  • 13. © 2015 Mesosphere, Inc. 13 Apache Mesos: Datacenter Kernel
  • 15. © 2015 Mesosphere, Inc. Apache Mesos: Datacenter Kernel Level of Indirection 15 Mesos%(slaves)% coordinator% Mesos%(master)% coordinator%
  • 17. © 2015 Mesosphere, Inc. Overview & Users • A  top-­‐level  Apache  project   • A  cluster  resource  nego4ator   • Scalable  to  10,000s  of  nodes   • Fault-­‐tolerant,  ba=le-­‐tested   • An  SDK  for  distributed  apps 17 Apache Mesos: Datacenter Kernel
  • 18. © 2015 Mesosphere, Inc. 18 Marathon: Init System
  • 21. © 2015 Mesosphere, Inc. Features • Start,  stop,  scale,  update  apps   • Nice  web  interface,  API   • Highly  available,  no  SPoF   • Na4ve  Docker  support   • Rolling  deploy  /  restart   • Applica4on  health  checks   • Ar4fact  staging 21 Marathon: Init System
  • 22. © 2015 Mesosphere, Inc. 22 Running a Production Cluster: Four Themes
  • 23. © 2015 Mesosphere, Inc. 23 Running a Production Cluster: Four Themes 1. Dependency Management 2. Deployment 3. Service Discovery 4. Monitoring & Logging
  • 24. © 2015 Mesosphere, Inc. 24 1. Dependency Management
  • 25. © 2015 Mesosphere, Inc. 25 1. Dependency Management a) Configuration of Servers b) Application Dependencies
  • 26. © 2015 Mesosphere, Inc. 1. Dependency Management Configuration of Servers • Still need to configure the underlying system image but it’s now much simpler! • Use Chef or Puppet. 26 Use a configuration management system to build your underlying machines.
  • 27. © 2015 Mesosphere, Inc. 1. Dependency Management Application Dependencies • Docker works really well! • For non Dockerized applications, using a tarball is crude but works well. 27 Application developers should make no assumptions about the underlying system. Containers make this easy.
  • 28. © 2015 Mesosphere, Inc. 28 2. Deployment
  • 29. © 2015 Mesosphere, Inc. 2. Deployment 29 We need two things: 1.An artifact repository 2.A container orchestration system (i.e. Mesos)
  • 30. © 2015 Mesosphere, Inc. 2. Deployment 30 a) Developer Workflow b) Private Registries c) Resource Limits d) Resource Homogeneity e) Noisy Neighbours f) High Availability
  • 31. © 2015 Mesosphere, Inc. 2. Deployment Developer Workflow • Use a source control system to track application and job definitions. These can either live in a central repository or in each projects' repository. 31 Make use of source control and continuous integration tooling to provide an audit log of what's being deployed to your cluster.
  • 32. © 2015 Mesosphere, Inc. 2. Deployment Private Registries • Lots of machines pulling down containers. Docker Hub just won't suffice. You'll want to use a private registry backed by something like HDFS or S3. 32 Run an internal registry backed by a distributed file system.
  • 33. © 2015 Mesosphere, Inc. Think harder about how much of various resources your application really needs. 2. Deployment Resource Limits • Containers need to be sized appropriately. • Running an application on a virtual machine allows the application to grow as much as needed. Container resource limits will be enforced by killing the task. • Some languages are better than this than others (e.g. Java) 33
  • 34. © 2015 Mesosphere, Inc. Leave some slack in your resource limits when deploying an application to account for performance differences between servers. 2. Deployment Resource Homogeneity • CPUs perform at different rates! Generally 1 core = 1 share but one core doesn’t necessarily equal another core. • Same goes for memory! 34
  • 35. © 2015 Mesosphere, Inc. Leak some slack in your resource limits when deploying an application to account for noisy neighbours. Consider co-location constraints (or machine roles) to avoid worst case interference. 2. Deployment Noisy Neighbours • Just like VMs, containers suffer from the issues of noisy neighbours. • Colocation between services is more frequent and interference becomes a really big problem. Networking isolation is still poor. • Stanford’s David Lo has done some great research into what workloads work well with each other. 35
  • 36. © 2015 Mesosphere, Inc. It's up to the application writer to build in high availability functionality. ZooKeeper is a good start. 2. Deployment High Availability • A container based architecture will not make your applications more resilient. • Mesos and Marathon are built to handle rolling upgrades. • However it's up to the application itself to handle failover and persistence of state. 36
  • 37. © 2015 Mesosphere, Inc. 37 3. Service Discovery
  • 38. © 2015 Mesosphere, Inc. 3. Service Discovery 38 Two approaches: 1.Static ports 2.Dynamic ports
  • 39. © 2015 Mesosphere, Inc. 3. Service Discovery Static Ports • Each instance service is given a unique hostname and runs on the same, well known, port. • In order to co-locate multiple instances of service on same physical host, it is necessary to allocate one IP per container. • Typically using DNS A-records. 39 Less manual configuration but with static ports, unless you have one IP per container, you are limited to one instance of an application per machine.
  • 40. © 2015 Mesosphere, Inc. 3. Service Discovery Dynamic Ports Routing to services running on unique ports usually requires maintaining a secondary, out-of-band, process: 1. Using a DNS server and SRV records. Application must be able to read SRV records. Most languages don't have good support for this (Go does). 2. Use a proxy or iptables that is fed by a secondary process (e.g. ServiceRouter) to remap well known ports to dynamically allocated ports. 40
  • 41. © 2015 Mesosphere, Inc. 3. Service Discovery Dynamic Ports 41 Applications must be written to accept ports dynamically. This may not be possible with legacy applications - which limits you to running one instance per host.
 
 DNS based approaches work well if your applications can handle SRV records. A combination of approaches will most likely be required.
  • 42. © 2015 Mesosphere, Inc. 3. Service Discovery Dynamic Ports (ZooKeeper/etc.d based) • Use ZooKeeper or etc.d as a directory service / source of truth to store port mapping information. • Load is significant and if clients misbehave then these services may have too many open connections. 42 Ensure that ZooKeeper/etc.d clients are well behaved. Stick a distributed cache in front of ZooKeeper to reduce load.
  • 43. © 2015 Mesosphere, Inc. 3. Service Discovery Is Not Load Balancing • Service discovery mechanisms primarily handle reachability of one service by another and don't typically route requests in an intelligent way. 43 Add some intelligence to your service discovery mechanism or use an external load balancer (e.g. ELB).
  • 44. © 2015 Mesosphere, Inc. 44 4. Monitoring & Logging
  • 45. © 2015 Mesosphere, Inc. 4. Monitoring & Logging 45 Different when using containers: 1. Limited access to runtime environment 2. Metrics are different
  • 46. © 2015 Mesosphere, Inc. 4. Monitoring & Logging Utilisation vs Allocation • It's hard to size applications correctly! • Monitor running containers for CPU and memory usage to make sure they're correctly sized. 46 Monitor CPU and memory of running containers to ensure applications are correctly sized.
  • 47. © 2015 Mesosphere, Inc. 4. Monitoring & Logging Application Metrics • Applications may be using all of their allocated capacity. • This doesn't mean that they're necessarily mis-sized though. 47 Monitor application level metrics like throughput and latency to get a more meaningful idea of how your application is performing.
  • 48. © 2015 Mesosphere, Inc. 4. Monitoring & Logging Health Checks • Health checks allow the container management system to automatically cycle and route around tasks that may be still be running but are broken at an application level. • Use these in combination with system/machine level monitoring to keep track of the state of a cluster. 48 Make health checks a mandatory part of the application deployment process.
  • 49. © 2015 Mesosphere, Inc. 4. Monitoring & Logging Tooling • It's not feasible to ssh into machines. • Must provide tooling that allows users to introspect their containers. Mesos allows users to access their tasks' sandboxes (and the new DCOS command line interface provides similar functionality). 49 Make it easy for developers to access log output.
  • 50. © 2015 Mesosphere, Inc. 4. Monitoring & Logging Tooling • It's not feasible to ssh into machines. • Must provide tooling that allows users to introspect their containers. Mesos allows users to access their tasks' sandboxes (and the new DCOS command line interface provides similar functionality). 50 Make it easy for developers to access log output.
  • 51. © 2015 Mesosphere, Inc. 4. Monitoring & Logging Consistency FTW • Logging becomes significantly more important to debug application failures when you're running many containers on various hosts. • Ensure logging is approached in a standard way across applications and that log output is sufficiently descriptive to debug errors. 51 Mandate that applications log in a common way, either using a library or enforced best practices.
  • 52. © 2015 Mesosphere, Inc. 4. Monitoring & Logging Aggregate Logs • Good practice in general to view logging output across a cluster. • If a machine dies, you'll lose logs. • Aggregate these logs centrally and make them accessible to the user. 52 Aggregate logs and expose these to your application developers.
  • 53. © 2015 Mesosphere, Inc. 53 Summary
  • 54. © 2015 Mesosphere, Inc. 54 Summary 1. Mesos and Marathon provide a great starting point. 2. Docker with a container orchestration system makes it easier to treat machines as “cattle”. 3. Resource requirements need more thought. 4. Developers need tooling to help debug application failures. 5. No right answer (yet) for service discovery.
  • 55. © 2015 Mesosphere, Inc. 55 Special thanks to: • Ben Hindman • Brenden Matthews • Sam Eaton • Tyler Neely Thank you! Slides will be online at: mesosphere.github.io/presentations