SlideShare a Scribd company logo
© 2016 Mesosphere, Inc. All Rights Reserved. 1
MESOS
A State-Of-The-Art
Container Orchestrator
InfoQ.com: News & Community Site
• 750,000 unique visitors/month
• Published in 4 languages (English, Chinese, Japanese and Brazilian
Portuguese)
• Post content from our QCon conferences
• News 15-20 / week
• Articles 3-4 / week
• Presentations (videos) 12-15 / week
• Interviews 2-3 / week
• Books 1 / month
Watch the video with slide
synchronization on InfoQ.com!
https://www.infoq.com/presentations/
mesos-api
Purpose of QCon
- to empower software development by facilitating the spread of
knowledge and innovation
Strategy
- practitioner-driven conference designed for YOU: influencers of
change and innovation in your teams
- speakers and topics driving the evolution and innovation
- connecting and catalyzing the influencers and innovators
Highlights
- attended by more than 12,000 delegates since 2007
- held in 9 cities worldwide
Presented at QCon San Francisco
www.qconsf.com
© 2016 Mesosphere, Inc. All Rights Reserved. 2
About me
Jie Yu (@jie_yu)
● Tech Lead at Mesosphere
● Mesos PMC member and committer
● Formerly worked at Twitter
● PhD from University of Michigan
● Worked on Mesos since 2012
http://people.apache.org/~jieyu/
© 2016 Mesosphere, Inc. All Rights Reserved. 3
● Mesos overview and fundamentals
● Why should I pick Mesos?
● Containerization in Mesos
Outline
© 2016 Mesosphere, Inc. All Rights Reserved. 4
● What does a traditional OS kernel provide?
○ Resource management Host cpu, memory, etc.
○ Programming abstractions POSIX API: processes, threads, etc.
○ Security and isolation Virtual memory, user, etc.
● Mesos: A kernel for data center applications
○ Resource management Cluster cpu, memory, etc.
○ Programming abstractions Mesos API: Task, Resource, etc.
○ Security and isolation Containerization
Mesos: A kernel for data center applications
Mesos overview and fundamentals
© 2016 Mesosphere, Inc. All Rights Reserved. 5
● Key concepts
○ Framework
○ Resource/Offer
○ Task
○ Executor
Programming abstractions
Mesos overview and fundamentals
Master
Agent
Framework
Executor
Task Task
Executor
Task
Offer (Resources) Task/Executor
Resources Task/Executor
© 2016 Mesosphere, Inc. All Rights Reserved. 6
Case study: Marathon
Mesos overview and fundamentals
Master
Agent X
Marathon
Offer
X: 8 cpus, 16G mem
Decline Offer
8 cpus, 16G mem
© 2016 Mesosphere, Inc. All Rights Reserved. 7
Create a Marathon app
Mesos overview and fundamentals
Master
Agent X
Marathon
Executor
Task
Offer
X: 8 cpus, 16G mem
Accept Offer
LAUNCH(Task: 2 cpus, 2G mem)
POST /v2/apps
© 2016 Mesosphere, Inc. All Rights Reserved. 8
Create a Marathon app
Mesos overview and fundamentals
Master
Agent X
Marathon
Executor
Task
TASK_RUNNING
TASK_RUNNING Offer
X: 6 cpus, 14G mem
© 2016 Mesosphere, Inc. All Rights Reserved. 9
A typical Mesos cluster
Mesos overview and fundamentals
Master
Agent
Marathon
Agent Agent Agent Agent Agent Agent Agent
Kafka Cassandra MarathonSpark
Master Master
Zookeeper
© 2016 Mesosphere, Inc. All Rights Reserved. 10
Mesos helps improve cluster utilization
Mesos overview and fundamentals
time
time
© 2016 Mesosphere, Inc. All Rights Reserved. 11
DS/OS vs. Mesos
Mesos overview and fundamentals
Existing
Infrastructure
Mesosphere
DCOS
Services &
Containers
● Kernel alone is not enough
● DC/OS: the easiest way to run Mesos
○ CLI/UI
○ Package management
○ Service discovery
○ Load balancing
○ Day2 ops
○ Security
○ Framework SDK
● Yes, it is open source!
© 2016 Mesosphere, Inc. All Rights Reserved. 12
● Production ready
● Proven scalability
● Highly customizable and extensible
Why should I pick Mesos?
Why Mesos?
© 2016 Mesosphere, Inc. All Rights Reserved. 13
Production
Ready
© 2016 Mesosphere, Inc. All Rights Reserved. 14
The birth of Mesos
Why Mesos?
TWITTER TECH TALK
The grad students working on Mesos
give a tech talk at Twitter.
March 2010
APACHE INCUBATION
Mesos enters the Apache Incubator.
Spring 2009
CS262B
Ben Hindman, Andy Konwinski and
Matei Zaharia create “Nexus” as their
CS262B class project.
MESOS PUBLISHED
Mesos: A Platform for Fine-Grained
Resource Sharing in the Data Center is
published as a technical report.
September 2010
December 2010
© 2016 Mesosphere, Inc. All Rights Reserved. 15
Widely adopted
Why Mesos?
MESOS GRADUATES
Mesos graduates from the Apache
Incubator to become a top level
project.
June 2013
VERIZON SCALE DEMO
Verizon demonstrates launching
50,000 containers in less than 90
seconds using Mesos and
Mesosphere’s Marathon scheduler.
April 2013
MESOSPHERE
Mesosphere is formed by engineers
who have been using Mesos at
Twitter and AirBnB.
APPLE ANNOUNCES J.A.R.V.I.S.
Apple announces that the Siri
infrastructure now runs on Mesos,
atop “thousands” of nodes.
April 2015
August 2015
© 2016 Mesosphere, Inc. All Rights Reserved. 16
Production Mesos users
Why Mesos?
© 2016 Mesosphere, Inc. All Rights Reserved. 17
Proven
Scalability
© 2016 Mesosphere, Inc. All Rights Reserved. 18
Twitter
● Largest Mesos cluster
○ > 30000 nodes
○ > 250K containers
© 2016 Mesosphere, Inc. All Rights Reserved. 19
Apple
● Siri is powered by
Mesos!
© 2016 Mesosphere, Inc. All Rights Reserved. 20
Verizon
● 50K containers
in 50 seconds
© 2016 Mesosphere, Inc. All Rights Reserved. 21
● Stateless master
○ Inspired from the GFS design
○ Agents hold truth about running tasks (distributed)
○ Master state can be reconstructed when agents register
● Simple, only cares about
○ Resource allocation and isolation
○ Task management
● Implemented in C++
○ Native performance
○ No GC issue
Why Mesos is so scalable?
Why Mesos?
© 2016 Mesosphere, Inc. All Rights Reserved. 22
● Known that Mesos will scale to Twitter/Apple level
○ Feature is easy to add, took time to make it scalable
● Quality assurance for free
○ Imagine a test environment having 30k+ nodes with real workload
● Take backwards compatibility seriously
○ We don’t want to break their production environment
What does it mean to you?
Why Mesos?
© 2016 Mesosphere, Inc. All Rights Reserved. 23
Highly
Customizable
and Extensible
© 2016 Mesosphere, Inc. All Rights Reserved. 24
● Every company’s environment is different
○ Scheduling
○ Service discovery
○ Container image format
○ Networking
○ Storage
○ Special hardware/accelerators (e.g., GPU, FPGA)
● No one-fits-all solution typically
Why this is important?
Why Mesos?
© 2016 Mesosphere, Inc. All Rights Reserved. 25
Pluggable schedulers
Why Mesos?
● For instance, you need separate schedulers for
○ Long running stateless services
○ Cron jobs
○ Stateful services (e.g., database, DFS)
○ Batch jobs (e.g., map-reduce)
● Monolithic scheduler?
Monolithic schedulers do not make it easy to add new policies and specialized
implementations, and may not scale up to the cluster sizes we are planning for.
--- From Google Omega Paper (EuroSys’13)
Mesos frameworks
== pluggable schedulers
© 2016 Mesosphere, Inc. All Rights Reserved. 26
Flexible service discovery
Why Mesos?
● Mesos is not opinionated about service discovery
○ DNS based
○ ZK/Etcd/Chubby based (e.g., twitter, google, with client libraries)
○ Your custom way, every company is different
○ Mesos provides an endpoint to stream SD information
● DNS based solution does not scale well
Larger jobs create worse problems, and several jobs many be running
at once. The variability in our DNS load had been a serious problem for
Google before Chubby was introduced.
--- From Google Chubby paper (OSDI’06)
© 2016 Mesosphere, Inc. All Rights Reserved. 27
● Container image format
● Networking
● Storage
● Custom isolation
● Container lifecycle hooks
Pluggable and extensible containerization
Why Mesos?
© 2016 Mesosphere, Inc. All Rights Reserved. 28
● Mesos overview and fundamentals
● Why should I pick Mesos?
● Containerization in Mesos
○ Pluggable architecture
○ Container image
○ Container network
○ Container storage
○ Customization and extensions
○ Nesting container support
Outline
© 2016 Mesosphere, Inc. All Rights Reserved. 29
What is Containerizer?
Containerization in Mesos
29
Containerizer
● Between agents and containers
● Launch/update/destroy containers
● Provide isolations between containers
● Report container stats and status
Mesos Master Mesos Master Mesos Master
Zookeeper
Marathon
Framework
Cassandra
Framework
Mesos Agent
Containerizer
Container
Executor
T1 T2
Mesos Agent
Containerizer
Container
Executor
T1 T2
Mesos Agent
Containerizer
Container
Executor
T1 T2
© 2016 Mesosphere, Inc. All Rights Reserved. 30
Docker containerizer
● Delegate to Docker daemon
Mesos containerizer
● Using standard OS features (e.g.,
cgroups, namespaces)
● Pluggable architecture allowing
customization and extension
Currently supported containerizers
Containerization in Mesos
Very stable. Used in large
scale production clusters
© 2016 Mesosphere, Inc. All Rights Reserved. 31
Docker containerizer
● Delegate to Docker daemon
Mesos containerizer
● Using standard OS features (e.g.,
cgroups, namespaces)
● Pluggable architecture allowing
customization and extension
● Support Docker, Appc, OCI (soon)
images natively w/o dependency
Currently supported containerizers
Containerization in Mesos
Very stable. Used in large
scale production clusters
© 2016 Mesosphere, Inc. All Rights Reserved. 32
Docker containerizer
● Delegate to Docker daemon
Unified containerizer
● Using standard OS features (e.g.,
cgroups, namespaces)
● Pluggable architecture allowing
customization and extension
● Support Docker, Appc, OCI (soon)
images natively w/o dependency
Currently supported containerizers
Containerization in Mesos
Very stable. Used in large
scale production clusters
© 2016 Mesosphere, Inc. All Rights Reserved. 33
● Pluggable architecture
● Container image
● Container network
● Container storage
● Customization and extensions
● Nesting container support
Unified Containerizer
Containerization in Mesos
© 2016 Mesosphere, Inc. All Rights Reserved. 34
Pluggable architecture
Unified Containerizer
Launcher Isolators
Unified containerizer
Provisioner
Process
management
Container
lifecycle hook
Container
image support
35
Responsible for process management
● Spawn containers
● Kill and wait containers
Supported launchers:
● Posix launcher
● Linux launcher
● Windows launcher
Launcher
Unified Containerizer
36
Interface for extensions during the life cycle of a container
● Pre-launch - prepare()
● Post-launch (both in parent and child context) - isolate()
● Termination - cleanup()
● Resources update - update()
● Resources limitation reached - watch()
● Agent restart and recovery - recover()
● Stats and status pulling - usage()
Isolator
Unified Containerizer
Sufficient for most of
the extensions!
37
Isolator example: cgroups memory isolator
Unified Containerizer
Agent Process
Launcher
creates
Subprocess Container
Process
execve()
LaunchInfo = Isolator::prepare()
* Create a cgroup for the container
in memory cgroup hierarchy:
/sys/fs/cgroup/memory/mesos/…
* Start listening for OOM event
Isolator::isolate(pid)
Block on pipe
Move ‘pid’ to the
memory cgroup just
created
Invoke ‘LaunchInfo.script’
Exec the executor
Signal the Child to continue
38
Isolator example: cgroups memory isolator
Unified Containerizer
Agent Process
Container
Process
Isolator::update()
Change cgroup control:
memory.limit_in_bytes
Sending a new Task to
Executor, ‘resources’ of
the Executor changes
Send Task to Executor
39
Isolator example: cgroups memory isolator
Unified Containerizer
Agent Process
Container
Process
Isolator::cleanup()
Remove the memory
cgroup associated
with the container
Shutdown Executor
or kill Task Destroy container
Container terminated
40
Cgroups isolators: cgroups/cpu, cgroups/mem, ...
Disk isolators: disk/du, disk/xfs
Filesystem isolators: filesystem/posix, filesystem/linux
Volume isolators: docker/volume
Network isolators: network/cni, network/port_mapping
GPU isolators: gpu/nvidia
…... and more! Need your contribution!
Built-in isolators
Unified Containerizer
41
Start from 0.28, you can run your Docker container on
Mesos without a Docker daemon installed!
● One less dependency in your stack
● Agent restart handled gracefully, task not affected
● Compose well with all existing isolators
● Easier to add extensions
Container image support
Unified Containerizer
42
● Mesos supports multiple container image format
○ Docker (without docker daemon)
○ Appc (without rkt)
○ OCI (ready soon)
○ CVMFS (experimental)
○ Host filesystem with tars/jars
○ Your own image format!
Pluggable container image format
Unified Containerizer
Used in large scale
production clusters
43
● Manage container images
○ Store: fetch and cache image layers
○ Backend: assemble rootfs from image layers
■ E.g., copy, overlayfs, bind, aufs
● Store can be extended
○ Currently supported: Docker, Appc
○ Plan to support: OCI (ongoing), CVMFS
○ Custom fetching (e.g., p2p)
Provisioner
Unified Containerizer
44
Demo
Unified Containerizer
45
● Support Container Network Interface (CNI) from 1.0
○ A spec for container networking
○ Supported by most network vendors
● Implemented as an isolator
○ --isolation=network/cni,...
Container network support
Unified Containerizer
46
● Proposed by CoreOS :
https://github.com/containernetworking/cni
● Simple contract between container
runtime and CNI plugin defined in the
form of a JSON schema
○ CLI interface
○ ADD: attach to network
○ DEL: detach from network
Container Network Interface (CNI)
Unified Containerizer
Mesos Agent
Containerizer
Container
Executor
T1 T2
CNI Plugin
IPAM
veth
Network
● Simpler and less dependencies than Docker CNM
● Backed by Kubernetes community as well
● Rich plugins from network vendors
● Clear separation between container and network management
● IPAM has its own pluggable interface
47
Why CNI?
Unified Containerizer
48
Existing CNI plugins
● ipvlan
● macvlan
● bridge
● flannel
● calico
● contiv
● contrail
● weave
● …
CNI plugins
Unified Containerizer
You can write your own plugin,
and Mesos supports it!
49
● Support Docker volume plugins from 1.0
○ Define the interface between container runtime and storage provider
○ https://docs.docker.com/engine/extend/plugins_volume/
● A variety of Docker volume plugins
○ Ceph
○ Convoy
○ Flocker
○ Glusterfs
○ Rexray
Container storage support
Unified Containerizer
50
Launcher
● Custom container processes management
Isolator
● Extension to the life cycle of a container
Provisioner
● New type of images
● Custom fetching and caching
Extensions
Unified Containerizer
© 2016 Mesosphere, Inc. All Rights Reserved. 51
● New in Mesos 1.1
○ Building block for supporting Pod like feature
● Highlighted features
○ Support arbitrary levels of nesting
○ Re-use all existing isolators
○ Allow dynamically creation of nested containers
Nested container support
Nested container support
© 2016 Mesosphere, Inc. All Rights Reserved. 52
Nested container support
Nested container support
Mesos Master Mesos Master Mesos Master
Zookeeper
Marathon
Framework
Cassandra
Framework
Mesos Agent
Containerizer
Container
Executor
T1 T2
Mesos Agent
Containerizer
Container
Executor
T1 T2
Mesos Agent
Containerizer
Container
Executor
T1 T2
Container
Executor
T1 T2
Nested Container Nested Container
© 2016 Mesosphere, Inc. All Rights Reserved. 53
New Agent API for Nested Containers
Nested container support
message agent::Call {
enum Type {
// Calls for managing nested containers
// under an executor's container.
LAUNCH_NESTED_CONTAINER = 14;
WAIT_NESTED_CONTAINER = 15;
KILL_NESTED_CONTAINER = 16;
}
}
© 2016 Mesosphere, Inc. All Rights Reserved. 54
Launch nested container
Nested container support
Container
Executor
Mesos Agent
Containerizer
LAUNCH
Nginx
© 2016 Mesosphere, Inc. All Rights Reserved. 55
Watch nested container
Nested container support
Container
Executor
Mesos Agent
Containerizer
WAIT
NginxExit Status = 0
© 2016 Mesosphere, Inc. All Rights Reserved. 56
Arbitrary levels of nesting
Nested container support
Container
Executor
Nginx
Mesos Agent
Containerizer
LAUNCH
Debug
57
Demo
Unified Containerizer
© 2016 Mesosphere, Inc. All Rights Reserved.
● Mesos: state of the art container orchestrator
○ Production ready
○ Proven scalability
○ Highly customizable and extensible
● Containerization in Mesos
○ Pluggable architecture
○ Native support for Docker/Appc images (w/o Docker daemon or rkt)
○ Container network: CNI
○ Container storage: DVD
○ Nested container support
58
Summary
© 2016 Mesosphere, Inc. All Rights Reserved. 59
Questions?
60
CNI support using an isolator
Unified Containerizer
Agent Process
Launcher
creates
Subprocess Container
Process
execve()
LaunchInfo = Isolator::prepare()
Tell the launcher to create the
child process in a new NET, UTS
and MNT namespace.
Isolator::isolate(pid)
Block on pipe
Bind mount the NET
namespace to keep
it open
Invoke ‘ADD’ of the
CNI plugin with the
NET namespace
associated with pid
Setup network
related /etc/xx files
for the container
Invoke ‘LaunchInfo.script’
Exec the executor
Signal the Child to continue
61
CNI support using an isolator
Unified Containerizer
Container
Process
Isolator::cleanup()
Invoke ‘DEL’ of the
CNI plugin with the
NET namespace
handle
Umount and remove
the NET namespace
handle
Shutdown Executor
or kill Task Destroy container
Container terminated
Agent Process
© 2016 Mesosphere, Inc. All Rights Reserved. 62
Mesos, as one of the most powerful container orchestrators, greatly simplifies the
deploy, provision and execution of containerized workloads. It automates the
distribution of preprovisioned container images, injection of configuration,
scheduling onto machines, life-cycle-management, and monitoring of applications,
microservices, and jobs in the cloud.
In this talk, Jie Yu will first give you an overview about Mesos and its powerful API
which allows users to easily deploy their stateless and stateful services. Then, Jie will
talk about how containers are managed in Mesos. In particular, Jie will provide a deep
dive into the unified containerizer which is first introduced in Mesos 1.0.
Jie will show some of the new container networking and storage features that are
built recently, and how they benefit from the pluggable and extensible architecture of
the unified containerizer. Finally, Jie will discuss the future of container support in
Mesos.
Watch the video with slide
synchronization on InfoQ.com!
https://www.infoq.com/presentations/
mesos-api

More Related Content

What's hot

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
Stefan Schimanski
 
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
nelsonadpresent
 
How to Survive an OpenStack Cloud Meltdown with Ceph
How to Survive an OpenStack Cloud Meltdown with CephHow to Survive an OpenStack Cloud Meltdown with Ceph
How to Survive an OpenStack Cloud Meltdown with Ceph
Sean Cohen
 
Ceph-Mesos framework
Ceph-Mesos frameworkCeph-Mesos framework
Ceph-Mesos framework
Zhongyue Luo
 
Elastic HBase on Mesos - HBaseCon 2015
Elastic HBase on Mesos - HBaseCon 2015Elastic HBase on Mesos - HBaseCon 2015
Elastic HBase on Mesos - HBaseCon 2015
Cosmin Lehene
 
Apache Mesos
Apache MesosApache Mesos
Apache Mesos
Puneet soni
 
Multi-tenant, Multi-cluster and Multi-container Apache HBase Deployments
Multi-tenant, Multi-cluster and Multi-container Apache HBase DeploymentsMulti-tenant, Multi-cluster and Multi-container Apache HBase Deployments
Multi-tenant, Multi-cluster and Multi-container Apache HBase Deployments
DataWorks Summit
 
Iocg Whats New In V Sphere
Iocg Whats New In V SphereIocg Whats New In V Sphere
Iocg Whats New In V Sphere
Anne Achleman
 
Glusterfs and openstack
Glusterfs  and openstackGlusterfs  and openstack
Glusterfs and openstack
openstackindia
 
The Future of GlusterFS and Gluster.org
The Future of GlusterFS and Gluster.orgThe Future of GlusterFS and Gluster.org
The Future of GlusterFS and Gluster.org
John Mark Walker
 
The Future of Cloud Software Defined Storage with Ceph: Andrew Hatfield, Red Hat
The Future of Cloud Software Defined Storage with Ceph: Andrew Hatfield, Red HatThe Future of Cloud Software Defined Storage with Ceph: Andrew Hatfield, Red Hat
The Future of Cloud Software Defined Storage with Ceph: Andrew Hatfield, Red Hat
OpenStack
 
Red Hat Storage - Introduction to GlusterFS
Red Hat Storage - Introduction to GlusterFSRed Hat Storage - Introduction to GlusterFS
Red Hat Storage - Introduction to GlusterFS
GlusterFS
 
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
Yahoo Developer Network
 
BlueStore: a new, faster storage backend for Ceph
BlueStore: a new, faster storage backend for CephBlueStore: a new, faster storage backend for Ceph
BlueStore: a new, faster storage backend for Ceph
Sage Weil
 
Tutorial ceph-2
Tutorial ceph-2Tutorial ceph-2
Tutorial ceph-2
Tommy Lee
 
A guide of PostgreSQL on Kubernetes
A guide of PostgreSQL on KubernetesA guide of PostgreSQL on Kubernetes
A guide of PostgreSQL on Kubernetes
t8kobayashi
 
Divide and conquer: resource segregation in the OpenStack cloud
Divide and conquer: resource segregation in the OpenStack cloudDivide and conquer: resource segregation in the OpenStack cloud
Divide and conquer: resource segregation in the OpenStack cloud
Stephen Gordon
 
Introduction into Ceph storage for OpenStack
Introduction into Ceph storage for OpenStackIntroduction into Ceph storage for OpenStack
Introduction into Ceph storage for OpenStack
OpenStack_Online
 
Red Hat Storage Server For AWS
Red Hat Storage Server For AWSRed Hat Storage Server For AWS
Red Hat Storage Server For AWS
Red_Hat_Storage
 
New Ceph capabilities and Reference Architectures
New Ceph capabilities and Reference ArchitecturesNew Ceph capabilities and Reference Architectures
New Ceph capabilities and Reference Architectures
Kamesh Pemmaraju
 

What's hot (20)

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
 
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
 
How to Survive an OpenStack Cloud Meltdown with Ceph
How to Survive an OpenStack Cloud Meltdown with CephHow to Survive an OpenStack Cloud Meltdown with Ceph
How to Survive an OpenStack Cloud Meltdown with Ceph
 
Ceph-Mesos framework
Ceph-Mesos frameworkCeph-Mesos framework
Ceph-Mesos framework
 
Elastic HBase on Mesos - HBaseCon 2015
Elastic HBase on Mesos - HBaseCon 2015Elastic HBase on Mesos - HBaseCon 2015
Elastic HBase on Mesos - HBaseCon 2015
 
Apache Mesos
Apache MesosApache Mesos
Apache Mesos
 
Multi-tenant, Multi-cluster and Multi-container Apache HBase Deployments
Multi-tenant, Multi-cluster and Multi-container Apache HBase DeploymentsMulti-tenant, Multi-cluster and Multi-container Apache HBase Deployments
Multi-tenant, Multi-cluster and Multi-container Apache HBase Deployments
 
Iocg Whats New In V Sphere
Iocg Whats New In V SphereIocg Whats New In V Sphere
Iocg Whats New In V Sphere
 
Glusterfs and openstack
Glusterfs  and openstackGlusterfs  and openstack
Glusterfs and openstack
 
The Future of GlusterFS and Gluster.org
The Future of GlusterFS and Gluster.orgThe Future of GlusterFS and Gluster.org
The Future of GlusterFS and Gluster.org
 
The Future of Cloud Software Defined Storage with Ceph: Andrew Hatfield, Red Hat
The Future of Cloud Software Defined Storage with Ceph: Andrew Hatfield, Red HatThe Future of Cloud Software Defined Storage with Ceph: Andrew Hatfield, Red Hat
The Future of Cloud Software Defined Storage with Ceph: Andrew Hatfield, Red Hat
 
Red Hat Storage - Introduction to GlusterFS
Red Hat Storage - Introduction to GlusterFSRed Hat Storage - Introduction to GlusterFS
Red Hat Storage - Introduction to GlusterFS
 
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
 
BlueStore: a new, faster storage backend for Ceph
BlueStore: a new, faster storage backend for CephBlueStore: a new, faster storage backend for Ceph
BlueStore: a new, faster storage backend for Ceph
 
Tutorial ceph-2
Tutorial ceph-2Tutorial ceph-2
Tutorial ceph-2
 
A guide of PostgreSQL on Kubernetes
A guide of PostgreSQL on KubernetesA guide of PostgreSQL on Kubernetes
A guide of PostgreSQL on Kubernetes
 
Divide and conquer: resource segregation in the OpenStack cloud
Divide and conquer: resource segregation in the OpenStack cloudDivide and conquer: resource segregation in the OpenStack cloud
Divide and conquer: resource segregation in the OpenStack cloud
 
Introduction into Ceph storage for OpenStack
Introduction into Ceph storage for OpenStackIntroduction into Ceph storage for OpenStack
Introduction into Ceph storage for OpenStack
 
Red Hat Storage Server For AWS
Red Hat Storage Server For AWSRed Hat Storage Server For AWS
Red Hat Storage Server For AWS
 
New Ceph capabilities and Reference Architectures
New Ceph capabilities and Reference ArchitecturesNew Ceph capabilities and Reference Architectures
New Ceph capabilities and Reference Architectures
 

Viewers also liked

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
 
Deploying DC/OS on Premises with Juju
Deploying DC/OS on Premises with JujuDeploying DC/OS on Premises with Juju
Deploying DC/OS on Premises with Juju
Tom Barber
 
Mesos meetup @ shutterstock
Mesos meetup @ shutterstockMesos meetup @ shutterstock
Mesos meetup @ shutterstock
Brenden Matthews
 
Rancher select
Rancher selectRancher select
Rancher select
cyberblack28 Ichikawa
 
GUI&基本操作、CLI編
GUI&基本操作、CLI編GUI&基本操作、CLI編
GUI&基本操作、CLI編
Go Chiba
 
Rancher Meetup Tokyo #4 Intro
Rancher Meetup Tokyo #4 IntroRancher Meetup Tokyo #4 Intro
Rancher Meetup Tokyo #4 Intro
Yosuke Shindo
 
04 コンテナ管理ツール比較 public_r001
04 コンテナ管理ツール比較 public_r00104 コンテナ管理ツール比較 public_r001
04 コンテナ管理ツール比較 public_r001
cyberblack28 Ichikawa
 
Kubernetes Networking - Giragadurai Vallirajan
Kubernetes Networking - Giragadurai VallirajanKubernetes Networking - Giragadurai Vallirajan
Kubernetes Networking - Giragadurai Vallirajan
Neependra Khare
 
Container Network Interface: Network Plugins for Kubernetes and beyond
Container Network Interface: Network Plugins for Kubernetes and beyondContainer Network Interface: Network Plugins for Kubernetes and beyond
Container Network Interface: Network Plugins for Kubernetes and beyond
KubeAcademy
 
Neruda1
Neruda1Neruda1
Neruda1
kem08
 
Open access building block in development
Open access building block in developmentOpen access building block in development
Open access building block in development
HELIGLIASA
 
kaji_3 DevLOVE energized work!
kaji_3 DevLOVE energized work!kaji_3 DevLOVE energized work!
kaji_3 DevLOVE energized work!Yasunari Kajikawa
 
Transformative curriculum workshop
Transformative curriculum workshop Transformative curriculum workshop
Transformative curriculum workshop
Anne-Mart Olsen
 
The 11 Worst Corporate Gifts
The 11 Worst Corporate GiftsThe 11 Worst Corporate Gifts
The 11 Worst Corporate Gifts
Nuts On Clark
 
RBS - SmartMatch
RBS - SmartMatchRBS - SmartMatch
RBS - SmartMatch
Newsworks
 
Ipsos Global Business Influencers USA 2016
Ipsos Global Business Influencers USA 2016Ipsos Global Business Influencers USA 2016
Ipsos Global Business Influencers USA 2016
Ipsos UK
 

Viewers also liked (16)

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.
 
Deploying DC/OS on Premises with Juju
Deploying DC/OS on Premises with JujuDeploying DC/OS on Premises with Juju
Deploying DC/OS on Premises with Juju
 
Mesos meetup @ shutterstock
Mesos meetup @ shutterstockMesos meetup @ shutterstock
Mesos meetup @ shutterstock
 
Rancher select
Rancher selectRancher select
Rancher select
 
GUI&基本操作、CLI編
GUI&基本操作、CLI編GUI&基本操作、CLI編
GUI&基本操作、CLI編
 
Rancher Meetup Tokyo #4 Intro
Rancher Meetup Tokyo #4 IntroRancher Meetup Tokyo #4 Intro
Rancher Meetup Tokyo #4 Intro
 
04 コンテナ管理ツール比較 public_r001
04 コンテナ管理ツール比較 public_r00104 コンテナ管理ツール比較 public_r001
04 コンテナ管理ツール比較 public_r001
 
Kubernetes Networking - Giragadurai Vallirajan
Kubernetes Networking - Giragadurai VallirajanKubernetes Networking - Giragadurai Vallirajan
Kubernetes Networking - Giragadurai Vallirajan
 
Container Network Interface: Network Plugins for Kubernetes and beyond
Container Network Interface: Network Plugins for Kubernetes and beyondContainer Network Interface: Network Plugins for Kubernetes and beyond
Container Network Interface: Network Plugins for Kubernetes and beyond
 
Neruda1
Neruda1Neruda1
Neruda1
 
Open access building block in development
Open access building block in developmentOpen access building block in development
Open access building block in development
 
kaji_3 DevLOVE energized work!
kaji_3 DevLOVE energized work!kaji_3 DevLOVE energized work!
kaji_3 DevLOVE energized work!
 
Transformative curriculum workshop
Transformative curriculum workshop Transformative curriculum workshop
Transformative curriculum workshop
 
The 11 Worst Corporate Gifts
The 11 Worst Corporate GiftsThe 11 Worst Corporate Gifts
The 11 Worst Corporate Gifts
 
RBS - SmartMatch
RBS - SmartMatchRBS - SmartMatch
RBS - SmartMatch
 
Ipsos Global Business Influencers USA 2016
Ipsos Global Business Influencers USA 2016Ipsos Global Business Influencers USA 2016
Ipsos Global Business Influencers USA 2016
 

Similar to Mesos: A State-of-the-art Container Orchestrator

Introduction to DC/OS
Introduction to DC/OSIntroduction to DC/OS
Introduction to DC/OS
Matt Jarvis
 
Introduction to DC/OS
Introduction to DC/OSIntroduction to DC/OS
Introduction to DC/OS
Matt Jarvis
 
Downtime is not an option - day 2 operations - Jörg Schad
Downtime is not an option - day 2 operations -  Jörg SchadDowntime is not an option - day 2 operations -  Jörg Schad
Downtime is not an option - day 2 operations - Jörg Schad
Codemotion
 
Elastic data services on Apache Mesos via Mesosphere’s DCOS
Elastic data services on Apache Mesos via Mesosphere’s DCOSElastic data services on Apache Mesos via Mesosphere’s DCOS
Elastic data services on Apache Mesos via Mesosphere’s DCOS
harrythewiz
 
OSDC 2018 | From batch to pipelines – why Apache Mesos and DC/OS are a soluti...
OSDC 2018 | From batch to pipelines – why Apache Mesos and DC/OS are a soluti...OSDC 2018 | From batch to pipelines – why Apache Mesos and DC/OS are a soluti...
OSDC 2018 | From batch to pipelines – why Apache Mesos and DC/OS are a soluti...
NETWAYS
 
Mesos and the Architecture of the New Datacenter
Mesos and the Architecture of the New DatacenterMesos and the Architecture of the New Datacenter
Mesos and the Architecture of the New Datacenter
QAware GmbH
 
Kubernetes One-Click Deployment: Hands-on Workshop (Munich)
Kubernetes One-Click Deployment: Hands-on Workshop (Munich)Kubernetes One-Click Deployment: Hands-on Workshop (Munich)
Kubernetes One-Click Deployment: Hands-on Workshop (Munich)
QAware GmbH
 
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
Mesosphere Inc.
 
SMACK stack and beyond
SMACK stack and beyondSMACK stack and beyond
SMACK stack and beyond
Matt Jarvis
 
DCOS Presentation
DCOS PresentationDCOS Presentation
DCOS Presentation
Jan Repnak
 
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.
 
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
Ravi Yadav
 
Dealing with kubesprawl tetris style !
Dealing with kubesprawl   tetris style !Dealing with kubesprawl   tetris style !
Dealing with kubesprawl tetris style !
Taco Scargo
 
[DO16] Mesosphere : Microservices meet Fast Data on Azure
[DO16] Mesosphere : Microservices meet Fast Data on Azure [DO16] Mesosphere : Microservices meet Fast Data on Azure
[DO16] Mesosphere : Microservices meet Fast Data on Azure
de:code 2017
 
Alluxio Mesos Meetup - SMACK to SMAACK
Alluxio Mesos Meetup - SMACK to SMAACKAlluxio Mesos Meetup - SMACK to SMAACK
Alluxio Mesos Meetup - SMACK to SMAACK
Alluxio, Inc.
 
Apache Mesos Overview and Integration
Apache Mesos Overview and IntegrationApache Mesos Overview and Integration
Apache Mesos Overview and Integration
Alex Baretto
 
EMC World 2016 - Introduction to Mesos and Mesosphere
EMC World 2016 - Introduction to Mesos and MesosphereEMC World 2016 - Introduction to Mesos and Mesosphere
EMC World 2016 - Introduction to Mesos and Mesosphere
David vonThenen
 
Scaling Like Twitter with Apache Mesos
Scaling Like Twitter with Apache MesosScaling Like Twitter with Apache Mesos
Scaling Like Twitter with Apache Mesos
Mesosphere Inc.
 
Hyperscale Computing, Enterprise Agility with Mesosphere
Hyperscale Computing, Enterprise Agility with MesosphereHyperscale Computing, Enterprise Agility with Mesosphere
Hyperscale Computing, Enterprise Agility with Mesosphere
Markus Eisele
 
Using DC/OS for Continuous Delivery - DevPulseCon 2017
Using DC/OS for Continuous Delivery - DevPulseCon 2017Using DC/OS for Continuous Delivery - DevPulseCon 2017
Using DC/OS for Continuous Delivery - DevPulseCon 2017
pleia2
 

Similar to Mesos: A State-of-the-art Container Orchestrator (20)

Introduction to DC/OS
Introduction to DC/OSIntroduction to DC/OS
Introduction to DC/OS
 
Introduction to DC/OS
Introduction to DC/OSIntroduction to DC/OS
Introduction to DC/OS
 
Downtime is not an option - day 2 operations - Jörg Schad
Downtime is not an option - day 2 operations -  Jörg SchadDowntime is not an option - day 2 operations -  Jörg Schad
Downtime is not an option - day 2 operations - Jörg Schad
 
Elastic data services on Apache Mesos via Mesosphere’s DCOS
Elastic data services on Apache Mesos via Mesosphere’s DCOSElastic data services on Apache Mesos via Mesosphere’s DCOS
Elastic data services on Apache Mesos via Mesosphere’s DCOS
 
OSDC 2018 | From batch to pipelines – why Apache Mesos and DC/OS are a soluti...
OSDC 2018 | From batch to pipelines – why Apache Mesos and DC/OS are a soluti...OSDC 2018 | From batch to pipelines – why Apache Mesos and DC/OS are a soluti...
OSDC 2018 | From batch to pipelines – why Apache Mesos and DC/OS are a soluti...
 
Mesos and the Architecture of the New Datacenter
Mesos and the Architecture of the New DatacenterMesos and the Architecture of the New Datacenter
Mesos and the Architecture of the New Datacenter
 
Kubernetes One-Click Deployment: Hands-on Workshop (Munich)
Kubernetes One-Click Deployment: Hands-on Workshop (Munich)Kubernetes One-Click Deployment: Hands-on Workshop (Munich)
Kubernetes One-Click Deployment: Hands-on Workshop (Munich)
 
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
 
SMACK stack and beyond
SMACK stack and beyondSMACK stack and beyond
SMACK stack and beyond
 
DCOS Presentation
DCOS PresentationDCOS Presentation
DCOS Presentation
 
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...
 
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
 
Dealing with kubesprawl tetris style !
Dealing with kubesprawl   tetris style !Dealing with kubesprawl   tetris style !
Dealing with kubesprawl tetris style !
 
[DO16] Mesosphere : Microservices meet Fast Data on Azure
[DO16] Mesosphere : Microservices meet Fast Data on Azure [DO16] Mesosphere : Microservices meet Fast Data on Azure
[DO16] Mesosphere : Microservices meet Fast Data on Azure
 
Alluxio Mesos Meetup - SMACK to SMAACK
Alluxio Mesos Meetup - SMACK to SMAACKAlluxio Mesos Meetup - SMACK to SMAACK
Alluxio Mesos Meetup - SMACK to SMAACK
 
Apache Mesos Overview and Integration
Apache Mesos Overview and IntegrationApache Mesos Overview and Integration
Apache Mesos Overview and Integration
 
EMC World 2016 - Introduction to Mesos and Mesosphere
EMC World 2016 - Introduction to Mesos and MesosphereEMC World 2016 - Introduction to Mesos and Mesosphere
EMC World 2016 - Introduction to Mesos and Mesosphere
 
Scaling Like Twitter with Apache Mesos
Scaling Like Twitter with Apache MesosScaling Like Twitter with Apache Mesos
Scaling Like Twitter with Apache Mesos
 
Hyperscale Computing, Enterprise Agility with Mesosphere
Hyperscale Computing, Enterprise Agility with MesosphereHyperscale Computing, Enterprise Agility with Mesosphere
Hyperscale Computing, Enterprise Agility with Mesosphere
 
Using DC/OS for Continuous Delivery - DevPulseCon 2017
Using DC/OS for Continuous Delivery - DevPulseCon 2017Using DC/OS for Continuous Delivery - DevPulseCon 2017
Using DC/OS for Continuous Delivery - DevPulseCon 2017
 

More from C4Media

Streaming a Million Likes/Second: Real-Time Interactions on Live Video
Streaming a Million Likes/Second: Real-Time Interactions on Live VideoStreaming a Million Likes/Second: Real-Time Interactions on Live Video
Streaming a Million Likes/Second: Real-Time Interactions on Live Video
C4Media
 
Next Generation Client APIs in Envoy Mobile
Next Generation Client APIs in Envoy MobileNext Generation Client APIs in Envoy Mobile
Next Generation Client APIs in Envoy Mobile
C4Media
 
Software Teams and Teamwork Trends Report Q1 2020
Software Teams and Teamwork Trends Report Q1 2020Software Teams and Teamwork Trends Report Q1 2020
Software Teams and Teamwork Trends Report Q1 2020
C4Media
 
Understand the Trade-offs Using Compilers for Java Applications
Understand the Trade-offs Using Compilers for Java ApplicationsUnderstand the Trade-offs Using Compilers for Java Applications
Understand the Trade-offs Using Compilers for Java Applications
C4Media
 
Kafka Needs No Keeper
Kafka Needs No KeeperKafka Needs No Keeper
Kafka Needs No Keeper
C4Media
 
High Performing Teams Act Like Owners
High Performing Teams Act Like OwnersHigh Performing Teams Act Like Owners
High Performing Teams Act Like Owners
C4Media
 
Does Java Need Inline Types? What Project Valhalla Can Bring to Java
Does Java Need Inline Types? What Project Valhalla Can Bring to JavaDoes Java Need Inline Types? What Project Valhalla Can Bring to Java
Does Java Need Inline Types? What Project Valhalla Can Bring to Java
C4Media
 
Service Meshes- The Ultimate Guide
Service Meshes- The Ultimate GuideService Meshes- The Ultimate Guide
Service Meshes- The Ultimate Guide
C4Media
 
Shifting Left with Cloud Native CI/CD
Shifting Left with Cloud Native CI/CDShifting Left with Cloud Native CI/CD
Shifting Left with Cloud Native CI/CD
C4Media
 
CI/CD for Machine Learning
CI/CD for Machine LearningCI/CD for Machine Learning
CI/CD for Machine Learning
C4Media
 
Fault Tolerance at Speed
Fault Tolerance at SpeedFault Tolerance at Speed
Fault Tolerance at Speed
C4Media
 
Architectures That Scale Deep - Regaining Control in Deep Systems
Architectures That Scale Deep - Regaining Control in Deep SystemsArchitectures That Scale Deep - Regaining Control in Deep Systems
Architectures That Scale Deep - Regaining Control in Deep Systems
C4Media
 
ML in the Browser: Interactive Experiences with Tensorflow.js
ML in the Browser: Interactive Experiences with Tensorflow.jsML in the Browser: Interactive Experiences with Tensorflow.js
ML in the Browser: Interactive Experiences with Tensorflow.js
C4Media
 
Build Your Own WebAssembly Compiler
Build Your Own WebAssembly CompilerBuild Your Own WebAssembly Compiler
Build Your Own WebAssembly Compiler
C4Media
 
User & Device Identity for Microservices @ Netflix Scale
User & Device Identity for Microservices @ Netflix ScaleUser & Device Identity for Microservices @ Netflix Scale
User & Device Identity for Microservices @ Netflix Scale
C4Media
 
Scaling Patterns for Netflix's Edge
Scaling Patterns for Netflix's EdgeScaling Patterns for Netflix's Edge
Scaling Patterns for Netflix's Edge
C4Media
 
Make Your Electron App Feel at Home Everywhere
Make Your Electron App Feel at Home EverywhereMake Your Electron App Feel at Home Everywhere
Make Your Electron App Feel at Home Everywhere
C4Media
 
The Talk You've Been Await-ing For
The Talk You've Been Await-ing ForThe Talk You've Been Await-ing For
The Talk You've Been Await-ing For
C4Media
 
Future of Data Engineering
Future of Data EngineeringFuture of Data Engineering
Future of Data Engineering
C4Media
 
Automated Testing for Terraform, Docker, Packer, Kubernetes, and More
Automated Testing for Terraform, Docker, Packer, Kubernetes, and MoreAutomated Testing for Terraform, Docker, Packer, Kubernetes, and More
Automated Testing for Terraform, Docker, Packer, Kubernetes, and More
C4Media
 

More from C4Media (20)

Streaming a Million Likes/Second: Real-Time Interactions on Live Video
Streaming a Million Likes/Second: Real-Time Interactions on Live VideoStreaming a Million Likes/Second: Real-Time Interactions on Live Video
Streaming a Million Likes/Second: Real-Time Interactions on Live Video
 
Next Generation Client APIs in Envoy Mobile
Next Generation Client APIs in Envoy MobileNext Generation Client APIs in Envoy Mobile
Next Generation Client APIs in Envoy Mobile
 
Software Teams and Teamwork Trends Report Q1 2020
Software Teams and Teamwork Trends Report Q1 2020Software Teams and Teamwork Trends Report Q1 2020
Software Teams and Teamwork Trends Report Q1 2020
 
Understand the Trade-offs Using Compilers for Java Applications
Understand the Trade-offs Using Compilers for Java ApplicationsUnderstand the Trade-offs Using Compilers for Java Applications
Understand the Trade-offs Using Compilers for Java Applications
 
Kafka Needs No Keeper
Kafka Needs No KeeperKafka Needs No Keeper
Kafka Needs No Keeper
 
High Performing Teams Act Like Owners
High Performing Teams Act Like OwnersHigh Performing Teams Act Like Owners
High Performing Teams Act Like Owners
 
Does Java Need Inline Types? What Project Valhalla Can Bring to Java
Does Java Need Inline Types? What Project Valhalla Can Bring to JavaDoes Java Need Inline Types? What Project Valhalla Can Bring to Java
Does Java Need Inline Types? What Project Valhalla Can Bring to Java
 
Service Meshes- The Ultimate Guide
Service Meshes- The Ultimate GuideService Meshes- The Ultimate Guide
Service Meshes- The Ultimate Guide
 
Shifting Left with Cloud Native CI/CD
Shifting Left with Cloud Native CI/CDShifting Left with Cloud Native CI/CD
Shifting Left with Cloud Native CI/CD
 
CI/CD for Machine Learning
CI/CD for Machine LearningCI/CD for Machine Learning
CI/CD for Machine Learning
 
Fault Tolerance at Speed
Fault Tolerance at SpeedFault Tolerance at Speed
Fault Tolerance at Speed
 
Architectures That Scale Deep - Regaining Control in Deep Systems
Architectures That Scale Deep - Regaining Control in Deep SystemsArchitectures That Scale Deep - Regaining Control in Deep Systems
Architectures That Scale Deep - Regaining Control in Deep Systems
 
ML in the Browser: Interactive Experiences with Tensorflow.js
ML in the Browser: Interactive Experiences with Tensorflow.jsML in the Browser: Interactive Experiences with Tensorflow.js
ML in the Browser: Interactive Experiences with Tensorflow.js
 
Build Your Own WebAssembly Compiler
Build Your Own WebAssembly CompilerBuild Your Own WebAssembly Compiler
Build Your Own WebAssembly Compiler
 
User & Device Identity for Microservices @ Netflix Scale
User & Device Identity for Microservices @ Netflix ScaleUser & Device Identity for Microservices @ Netflix Scale
User & Device Identity for Microservices @ Netflix Scale
 
Scaling Patterns for Netflix's Edge
Scaling Patterns for Netflix's EdgeScaling Patterns for Netflix's Edge
Scaling Patterns for Netflix's Edge
 
Make Your Electron App Feel at Home Everywhere
Make Your Electron App Feel at Home EverywhereMake Your Electron App Feel at Home Everywhere
Make Your Electron App Feel at Home Everywhere
 
The Talk You've Been Await-ing For
The Talk You've Been Await-ing ForThe Talk You've Been Await-ing For
The Talk You've Been Await-ing For
 
Future of Data Engineering
Future of Data EngineeringFuture of Data Engineering
Future of Data Engineering
 
Automated Testing for Terraform, Docker, Packer, Kubernetes, and More
Automated Testing for Terraform, Docker, Packer, Kubernetes, and MoreAutomated Testing for Terraform, Docker, Packer, Kubernetes, and More
Automated Testing for Terraform, Docker, Packer, Kubernetes, and More
 

Recently uploaded

dbms calicut university B. sc Cs 4th sem.pdf
dbms  calicut university B. sc Cs 4th sem.pdfdbms  calicut university B. sc Cs 4th sem.pdf
dbms calicut university B. sc Cs 4th sem.pdf
Shinana2
 
Introduction of Cybersecurity with OSS at Code Europe 2024
Introduction of Cybersecurity with OSS  at Code Europe 2024Introduction of Cybersecurity with OSS  at Code Europe 2024
Introduction of Cybersecurity with OSS at Code Europe 2024
Hiroshi SHIBATA
 
Programming Foundation Models with DSPy - Meetup Slides
Programming Foundation Models with DSPy - Meetup SlidesProgramming Foundation Models with DSPy - Meetup Slides
Programming Foundation Models with DSPy - Meetup Slides
Zilliz
 
GenAI Pilot Implementation in the organizations
GenAI Pilot Implementation in the organizationsGenAI Pilot Implementation in the organizations
GenAI Pilot Implementation in the organizations
kumardaparthi1024
 
Overcoming the PLG Trap: Lessons from Canva's Head of Sales & Head of EMEA Da...
Overcoming the PLG Trap: Lessons from Canva's Head of Sales & Head of EMEA Da...Overcoming the PLG Trap: Lessons from Canva's Head of Sales & Head of EMEA Da...
Overcoming the PLG Trap: Lessons from Canva's Head of Sales & Head of EMEA Da...
saastr
 
Monitoring and Managing Anomaly Detection on OpenShift.pdf
Monitoring and Managing Anomaly Detection on OpenShift.pdfMonitoring and Managing Anomaly Detection on OpenShift.pdf
Monitoring and Managing Anomaly Detection on OpenShift.pdf
Tosin Akinosho
 
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAUHCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
panagenda
 
HCL Notes and Domino License Cost Reduction in the World of DLAU
HCL Notes and Domino License Cost Reduction in the World of DLAUHCL Notes and Domino License Cost Reduction in the World of DLAU
HCL Notes and Domino License Cost Reduction in the World of DLAU
panagenda
 
Best 20 SEO Techniques To Improve Website Visibility In SERP
Best 20 SEO Techniques To Improve Website Visibility In SERPBest 20 SEO Techniques To Improve Website Visibility In SERP
Best 20 SEO Techniques To Improve Website Visibility In SERP
Pixlogix Infotech
 
AWS Cloud Cost Optimization Presentation.pptx
AWS Cloud Cost Optimization Presentation.pptxAWS Cloud Cost Optimization Presentation.pptx
AWS Cloud Cost Optimization Presentation.pptx
HarisZaheer8
 
GraphRAG for Life Science to increase LLM accuracy
GraphRAG for Life Science to increase LLM accuracyGraphRAG for Life Science to increase LLM accuracy
GraphRAG for Life Science to increase LLM accuracy
Tomaz Bratanic
 
Recommendation System using RAG Architecture
Recommendation System using RAG ArchitectureRecommendation System using RAG Architecture
Recommendation System using RAG Architecture
fredae14
 
Operating System Used by Users in day-to-day life.pptx
Operating System Used by Users in day-to-day life.pptxOperating System Used by Users in day-to-day life.pptx
Operating System Used by Users in day-to-day life.pptx
Pravash Chandra Das
 
Trusted Execution Environment for Decentralized Process Mining
Trusted Execution Environment for Decentralized Process MiningTrusted Execution Environment for Decentralized Process Mining
Trusted Execution Environment for Decentralized Process Mining
LucaBarbaro3
 
Digital Marketing Trends in 2024 | Guide for Staying Ahead
Digital Marketing Trends in 2024 | Guide for Staying AheadDigital Marketing Trends in 2024 | Guide for Staying Ahead
Digital Marketing Trends in 2024 | Guide for Staying Ahead
Wask
 
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdfUnlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Malak Abu Hammad
 
How to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdf
How to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdfHow to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdf
How to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdf
Chart Kalyan
 
Driving Business Innovation: Latest Generative AI Advancements & Success Story
Driving Business Innovation: Latest Generative AI Advancements & Success StoryDriving Business Innovation: Latest Generative AI Advancements & Success Story
Driving Business Innovation: Latest Generative AI Advancements & Success Story
Safe Software
 
TrustArc Webinar - 2024 Global Privacy Survey
TrustArc Webinar - 2024 Global Privacy SurveyTrustArc Webinar - 2024 Global Privacy Survey
TrustArc Webinar - 2024 Global Privacy Survey
TrustArc
 
Presentation of the OECD Artificial Intelligence Review of Germany
Presentation of the OECD Artificial Intelligence Review of GermanyPresentation of the OECD Artificial Intelligence Review of Germany
Presentation of the OECD Artificial Intelligence Review of Germany
innovationoecd
 

Recently uploaded (20)

dbms calicut university B. sc Cs 4th sem.pdf
dbms  calicut university B. sc Cs 4th sem.pdfdbms  calicut university B. sc Cs 4th sem.pdf
dbms calicut university B. sc Cs 4th sem.pdf
 
Introduction of Cybersecurity with OSS at Code Europe 2024
Introduction of Cybersecurity with OSS  at Code Europe 2024Introduction of Cybersecurity with OSS  at Code Europe 2024
Introduction of Cybersecurity with OSS at Code Europe 2024
 
Programming Foundation Models with DSPy - Meetup Slides
Programming Foundation Models with DSPy - Meetup SlidesProgramming Foundation Models with DSPy - Meetup Slides
Programming Foundation Models with DSPy - Meetup Slides
 
GenAI Pilot Implementation in the organizations
GenAI Pilot Implementation in the organizationsGenAI Pilot Implementation in the organizations
GenAI Pilot Implementation in the organizations
 
Overcoming the PLG Trap: Lessons from Canva's Head of Sales & Head of EMEA Da...
Overcoming the PLG Trap: Lessons from Canva's Head of Sales & Head of EMEA Da...Overcoming the PLG Trap: Lessons from Canva's Head of Sales & Head of EMEA Da...
Overcoming the PLG Trap: Lessons from Canva's Head of Sales & Head of EMEA Da...
 
Monitoring and Managing Anomaly Detection on OpenShift.pdf
Monitoring and Managing Anomaly Detection on OpenShift.pdfMonitoring and Managing Anomaly Detection on OpenShift.pdf
Monitoring and Managing Anomaly Detection on OpenShift.pdf
 
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAUHCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
 
HCL Notes and Domino License Cost Reduction in the World of DLAU
HCL Notes and Domino License Cost Reduction in the World of DLAUHCL Notes and Domino License Cost Reduction in the World of DLAU
HCL Notes and Domino License Cost Reduction in the World of DLAU
 
Best 20 SEO Techniques To Improve Website Visibility In SERP
Best 20 SEO Techniques To Improve Website Visibility In SERPBest 20 SEO Techniques To Improve Website Visibility In SERP
Best 20 SEO Techniques To Improve Website Visibility In SERP
 
AWS Cloud Cost Optimization Presentation.pptx
AWS Cloud Cost Optimization Presentation.pptxAWS Cloud Cost Optimization Presentation.pptx
AWS Cloud Cost Optimization Presentation.pptx
 
GraphRAG for Life Science to increase LLM accuracy
GraphRAG for Life Science to increase LLM accuracyGraphRAG for Life Science to increase LLM accuracy
GraphRAG for Life Science to increase LLM accuracy
 
Recommendation System using RAG Architecture
Recommendation System using RAG ArchitectureRecommendation System using RAG Architecture
Recommendation System using RAG Architecture
 
Operating System Used by Users in day-to-day life.pptx
Operating System Used by Users in day-to-day life.pptxOperating System Used by Users in day-to-day life.pptx
Operating System Used by Users in day-to-day life.pptx
 
Trusted Execution Environment for Decentralized Process Mining
Trusted Execution Environment for Decentralized Process MiningTrusted Execution Environment for Decentralized Process Mining
Trusted Execution Environment for Decentralized Process Mining
 
Digital Marketing Trends in 2024 | Guide for Staying Ahead
Digital Marketing Trends in 2024 | Guide for Staying AheadDigital Marketing Trends in 2024 | Guide for Staying Ahead
Digital Marketing Trends in 2024 | Guide for Staying Ahead
 
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdfUnlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
 
How to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdf
How to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdfHow to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdf
How to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdf
 
Driving Business Innovation: Latest Generative AI Advancements & Success Story
Driving Business Innovation: Latest Generative AI Advancements & Success StoryDriving Business Innovation: Latest Generative AI Advancements & Success Story
Driving Business Innovation: Latest Generative AI Advancements & Success Story
 
TrustArc Webinar - 2024 Global Privacy Survey
TrustArc Webinar - 2024 Global Privacy SurveyTrustArc Webinar - 2024 Global Privacy Survey
TrustArc Webinar - 2024 Global Privacy Survey
 
Presentation of the OECD Artificial Intelligence Review of Germany
Presentation of the OECD Artificial Intelligence Review of GermanyPresentation of the OECD Artificial Intelligence Review of Germany
Presentation of the OECD Artificial Intelligence Review of Germany
 

Mesos: A State-of-the-art Container Orchestrator

  • 1. © 2016 Mesosphere, Inc. All Rights Reserved. 1 MESOS A State-Of-The-Art Container Orchestrator
  • 2. InfoQ.com: News & Community Site • 750,000 unique visitors/month • Published in 4 languages (English, Chinese, Japanese and Brazilian Portuguese) • Post content from our QCon conferences • News 15-20 / week • Articles 3-4 / week • Presentations (videos) 12-15 / week • Interviews 2-3 / week • Books 1 / month Watch the video with slide synchronization on InfoQ.com! https://www.infoq.com/presentations/ mesos-api
  • 3. Purpose of QCon - to empower software development by facilitating the spread of knowledge and innovation Strategy - practitioner-driven conference designed for YOU: influencers of change and innovation in your teams - speakers and topics driving the evolution and innovation - connecting and catalyzing the influencers and innovators Highlights - attended by more than 12,000 delegates since 2007 - held in 9 cities worldwide Presented at QCon San Francisco www.qconsf.com
  • 4. © 2016 Mesosphere, Inc. All Rights Reserved. 2 About me Jie Yu (@jie_yu) ● Tech Lead at Mesosphere ● Mesos PMC member and committer ● Formerly worked at Twitter ● PhD from University of Michigan ● Worked on Mesos since 2012 http://people.apache.org/~jieyu/
  • 5. © 2016 Mesosphere, Inc. All Rights Reserved. 3 ● Mesos overview and fundamentals ● Why should I pick Mesos? ● Containerization in Mesos Outline
  • 6. © 2016 Mesosphere, Inc. All Rights Reserved. 4 ● What does a traditional OS kernel provide? ○ Resource management Host cpu, memory, etc. ○ Programming abstractions POSIX API: processes, threads, etc. ○ Security and isolation Virtual memory, user, etc. ● Mesos: A kernel for data center applications ○ Resource management Cluster cpu, memory, etc. ○ Programming abstractions Mesos API: Task, Resource, etc. ○ Security and isolation Containerization Mesos: A kernel for data center applications Mesos overview and fundamentals
  • 7. © 2016 Mesosphere, Inc. All Rights Reserved. 5 ● Key concepts ○ Framework ○ Resource/Offer ○ Task ○ Executor Programming abstractions Mesos overview and fundamentals Master Agent Framework Executor Task Task Executor Task Offer (Resources) Task/Executor Resources Task/Executor
  • 8. © 2016 Mesosphere, Inc. All Rights Reserved. 6 Case study: Marathon Mesos overview and fundamentals Master Agent X Marathon Offer X: 8 cpus, 16G mem Decline Offer 8 cpus, 16G mem
  • 9. © 2016 Mesosphere, Inc. All Rights Reserved. 7 Create a Marathon app Mesos overview and fundamentals Master Agent X Marathon Executor Task Offer X: 8 cpus, 16G mem Accept Offer LAUNCH(Task: 2 cpus, 2G mem) POST /v2/apps
  • 10. © 2016 Mesosphere, Inc. All Rights Reserved. 8 Create a Marathon app Mesos overview and fundamentals Master Agent X Marathon Executor Task TASK_RUNNING TASK_RUNNING Offer X: 6 cpus, 14G mem
  • 11. © 2016 Mesosphere, Inc. All Rights Reserved. 9 A typical Mesos cluster Mesos overview and fundamentals Master Agent Marathon Agent Agent Agent Agent Agent Agent Agent Kafka Cassandra MarathonSpark Master Master Zookeeper
  • 12. © 2016 Mesosphere, Inc. All Rights Reserved. 10 Mesos helps improve cluster utilization Mesos overview and fundamentals time time
  • 13. © 2016 Mesosphere, Inc. All Rights Reserved. 11 DS/OS vs. Mesos Mesos overview and fundamentals Existing Infrastructure Mesosphere DCOS Services & Containers ● Kernel alone is not enough ● DC/OS: the easiest way to run Mesos ○ CLI/UI ○ Package management ○ Service discovery ○ Load balancing ○ Day2 ops ○ Security ○ Framework SDK ● Yes, it is open source!
  • 14. © 2016 Mesosphere, Inc. All Rights Reserved. 12 ● Production ready ● Proven scalability ● Highly customizable and extensible Why should I pick Mesos? Why Mesos?
  • 15. © 2016 Mesosphere, Inc. All Rights Reserved. 13 Production Ready
  • 16. © 2016 Mesosphere, Inc. All Rights Reserved. 14 The birth of Mesos Why Mesos? TWITTER TECH TALK The grad students working on Mesos give a tech talk at Twitter. March 2010 APACHE INCUBATION Mesos enters the Apache Incubator. Spring 2009 CS262B Ben Hindman, Andy Konwinski and Matei Zaharia create “Nexus” as their CS262B class project. MESOS PUBLISHED Mesos: A Platform for Fine-Grained Resource Sharing in the Data Center is published as a technical report. September 2010 December 2010
  • 17. © 2016 Mesosphere, Inc. All Rights Reserved. 15 Widely adopted Why Mesos? MESOS GRADUATES Mesos graduates from the Apache Incubator to become a top level project. June 2013 VERIZON SCALE DEMO Verizon demonstrates launching 50,000 containers in less than 90 seconds using Mesos and Mesosphere’s Marathon scheduler. April 2013 MESOSPHERE Mesosphere is formed by engineers who have been using Mesos at Twitter and AirBnB. APPLE ANNOUNCES J.A.R.V.I.S. Apple announces that the Siri infrastructure now runs on Mesos, atop “thousands” of nodes. April 2015 August 2015
  • 18. © 2016 Mesosphere, Inc. All Rights Reserved. 16 Production Mesos users Why Mesos?
  • 19. © 2016 Mesosphere, Inc. All Rights Reserved. 17 Proven Scalability
  • 20. © 2016 Mesosphere, Inc. All Rights Reserved. 18 Twitter ● Largest Mesos cluster ○ > 30000 nodes ○ > 250K containers
  • 21. © 2016 Mesosphere, Inc. All Rights Reserved. 19 Apple ● Siri is powered by Mesos!
  • 22. © 2016 Mesosphere, Inc. All Rights Reserved. 20 Verizon ● 50K containers in 50 seconds
  • 23. © 2016 Mesosphere, Inc. All Rights Reserved. 21 ● Stateless master ○ Inspired from the GFS design ○ Agents hold truth about running tasks (distributed) ○ Master state can be reconstructed when agents register ● Simple, only cares about ○ Resource allocation and isolation ○ Task management ● Implemented in C++ ○ Native performance ○ No GC issue Why Mesos is so scalable? Why Mesos?
  • 24. © 2016 Mesosphere, Inc. All Rights Reserved. 22 ● Known that Mesos will scale to Twitter/Apple level ○ Feature is easy to add, took time to make it scalable ● Quality assurance for free ○ Imagine a test environment having 30k+ nodes with real workload ● Take backwards compatibility seriously ○ We don’t want to break their production environment What does it mean to you? Why Mesos?
  • 25. © 2016 Mesosphere, Inc. All Rights Reserved. 23 Highly Customizable and Extensible
  • 26. © 2016 Mesosphere, Inc. All Rights Reserved. 24 ● Every company’s environment is different ○ Scheduling ○ Service discovery ○ Container image format ○ Networking ○ Storage ○ Special hardware/accelerators (e.g., GPU, FPGA) ● No one-fits-all solution typically Why this is important? Why Mesos?
  • 27. © 2016 Mesosphere, Inc. All Rights Reserved. 25 Pluggable schedulers Why Mesos? ● For instance, you need separate schedulers for ○ Long running stateless services ○ Cron jobs ○ Stateful services (e.g., database, DFS) ○ Batch jobs (e.g., map-reduce) ● Monolithic scheduler? Monolithic schedulers do not make it easy to add new policies and specialized implementations, and may not scale up to the cluster sizes we are planning for. --- From Google Omega Paper (EuroSys’13) Mesos frameworks == pluggable schedulers
  • 28. © 2016 Mesosphere, Inc. All Rights Reserved. 26 Flexible service discovery Why Mesos? ● Mesos is not opinionated about service discovery ○ DNS based ○ ZK/Etcd/Chubby based (e.g., twitter, google, with client libraries) ○ Your custom way, every company is different ○ Mesos provides an endpoint to stream SD information ● DNS based solution does not scale well Larger jobs create worse problems, and several jobs many be running at once. The variability in our DNS load had been a serious problem for Google before Chubby was introduced. --- From Google Chubby paper (OSDI’06)
  • 29. © 2016 Mesosphere, Inc. All Rights Reserved. 27 ● Container image format ● Networking ● Storage ● Custom isolation ● Container lifecycle hooks Pluggable and extensible containerization Why Mesos?
  • 30. © 2016 Mesosphere, Inc. All Rights Reserved. 28 ● Mesos overview and fundamentals ● Why should I pick Mesos? ● Containerization in Mesos ○ Pluggable architecture ○ Container image ○ Container network ○ Container storage ○ Customization and extensions ○ Nesting container support Outline
  • 31. © 2016 Mesosphere, Inc. All Rights Reserved. 29 What is Containerizer? Containerization in Mesos 29 Containerizer ● Between agents and containers ● Launch/update/destroy containers ● Provide isolations between containers ● Report container stats and status Mesos Master Mesos Master Mesos Master Zookeeper Marathon Framework Cassandra Framework Mesos Agent Containerizer Container Executor T1 T2 Mesos Agent Containerizer Container Executor T1 T2 Mesos Agent Containerizer Container Executor T1 T2
  • 32. © 2016 Mesosphere, Inc. All Rights Reserved. 30 Docker containerizer ● Delegate to Docker daemon Mesos containerizer ● Using standard OS features (e.g., cgroups, namespaces) ● Pluggable architecture allowing customization and extension Currently supported containerizers Containerization in Mesos Very stable. Used in large scale production clusters
  • 33. © 2016 Mesosphere, Inc. All Rights Reserved. 31 Docker containerizer ● Delegate to Docker daemon Mesos containerizer ● Using standard OS features (e.g., cgroups, namespaces) ● Pluggable architecture allowing customization and extension ● Support Docker, Appc, OCI (soon) images natively w/o dependency Currently supported containerizers Containerization in Mesos Very stable. Used in large scale production clusters
  • 34. © 2016 Mesosphere, Inc. All Rights Reserved. 32 Docker containerizer ● Delegate to Docker daemon Unified containerizer ● Using standard OS features (e.g., cgroups, namespaces) ● Pluggable architecture allowing customization and extension ● Support Docker, Appc, OCI (soon) images natively w/o dependency Currently supported containerizers Containerization in Mesos Very stable. Used in large scale production clusters
  • 35. © 2016 Mesosphere, Inc. All Rights Reserved. 33 ● Pluggable architecture ● Container image ● Container network ● Container storage ● Customization and extensions ● Nesting container support Unified Containerizer Containerization in Mesos
  • 36. © 2016 Mesosphere, Inc. All Rights Reserved. 34 Pluggable architecture Unified Containerizer Launcher Isolators Unified containerizer Provisioner Process management Container lifecycle hook Container image support
  • 37. 35 Responsible for process management ● Spawn containers ● Kill and wait containers Supported launchers: ● Posix launcher ● Linux launcher ● Windows launcher Launcher Unified Containerizer
  • 38. 36 Interface for extensions during the life cycle of a container ● Pre-launch - prepare() ● Post-launch (both in parent and child context) - isolate() ● Termination - cleanup() ● Resources update - update() ● Resources limitation reached - watch() ● Agent restart and recovery - recover() ● Stats and status pulling - usage() Isolator Unified Containerizer Sufficient for most of the extensions!
  • 39. 37 Isolator example: cgroups memory isolator Unified Containerizer Agent Process Launcher creates Subprocess Container Process execve() LaunchInfo = Isolator::prepare() * Create a cgroup for the container in memory cgroup hierarchy: /sys/fs/cgroup/memory/mesos/… * Start listening for OOM event Isolator::isolate(pid) Block on pipe Move ‘pid’ to the memory cgroup just created Invoke ‘LaunchInfo.script’ Exec the executor Signal the Child to continue
  • 40. 38 Isolator example: cgroups memory isolator Unified Containerizer Agent Process Container Process Isolator::update() Change cgroup control: memory.limit_in_bytes Sending a new Task to Executor, ‘resources’ of the Executor changes Send Task to Executor
  • 41. 39 Isolator example: cgroups memory isolator Unified Containerizer Agent Process Container Process Isolator::cleanup() Remove the memory cgroup associated with the container Shutdown Executor or kill Task Destroy container Container terminated
  • 42. 40 Cgroups isolators: cgroups/cpu, cgroups/mem, ... Disk isolators: disk/du, disk/xfs Filesystem isolators: filesystem/posix, filesystem/linux Volume isolators: docker/volume Network isolators: network/cni, network/port_mapping GPU isolators: gpu/nvidia …... and more! Need your contribution! Built-in isolators Unified Containerizer
  • 43. 41 Start from 0.28, you can run your Docker container on Mesos without a Docker daemon installed! ● One less dependency in your stack ● Agent restart handled gracefully, task not affected ● Compose well with all existing isolators ● Easier to add extensions Container image support Unified Containerizer
  • 44. 42 ● Mesos supports multiple container image format ○ Docker (without docker daemon) ○ Appc (without rkt) ○ OCI (ready soon) ○ CVMFS (experimental) ○ Host filesystem with tars/jars ○ Your own image format! Pluggable container image format Unified Containerizer Used in large scale production clusters
  • 45. 43 ● Manage container images ○ Store: fetch and cache image layers ○ Backend: assemble rootfs from image layers ■ E.g., copy, overlayfs, bind, aufs ● Store can be extended ○ Currently supported: Docker, Appc ○ Plan to support: OCI (ongoing), CVMFS ○ Custom fetching (e.g., p2p) Provisioner Unified Containerizer
  • 47. 45 ● Support Container Network Interface (CNI) from 1.0 ○ A spec for container networking ○ Supported by most network vendors ● Implemented as an isolator ○ --isolation=network/cni,... Container network support Unified Containerizer
  • 48. 46 ● Proposed by CoreOS : https://github.com/containernetworking/cni ● Simple contract between container runtime and CNI plugin defined in the form of a JSON schema ○ CLI interface ○ ADD: attach to network ○ DEL: detach from network Container Network Interface (CNI) Unified Containerizer Mesos Agent Containerizer Container Executor T1 T2 CNI Plugin IPAM veth Network
  • 49. ● Simpler and less dependencies than Docker CNM ● Backed by Kubernetes community as well ● Rich plugins from network vendors ● Clear separation between container and network management ● IPAM has its own pluggable interface 47 Why CNI? Unified Containerizer
  • 50. 48 Existing CNI plugins ● ipvlan ● macvlan ● bridge ● flannel ● calico ● contiv ● contrail ● weave ● … CNI plugins Unified Containerizer You can write your own plugin, and Mesos supports it!
  • 51. 49 ● Support Docker volume plugins from 1.0 ○ Define the interface between container runtime and storage provider ○ https://docs.docker.com/engine/extend/plugins_volume/ ● A variety of Docker volume plugins ○ Ceph ○ Convoy ○ Flocker ○ Glusterfs ○ Rexray Container storage support Unified Containerizer
  • 52. 50 Launcher ● Custom container processes management Isolator ● Extension to the life cycle of a container Provisioner ● New type of images ● Custom fetching and caching Extensions Unified Containerizer
  • 53. © 2016 Mesosphere, Inc. All Rights Reserved. 51 ● New in Mesos 1.1 ○ Building block for supporting Pod like feature ● Highlighted features ○ Support arbitrary levels of nesting ○ Re-use all existing isolators ○ Allow dynamically creation of nested containers Nested container support Nested container support
  • 54. © 2016 Mesosphere, Inc. All Rights Reserved. 52 Nested container support Nested container support Mesos Master Mesos Master Mesos Master Zookeeper Marathon Framework Cassandra Framework Mesos Agent Containerizer Container Executor T1 T2 Mesos Agent Containerizer Container Executor T1 T2 Mesos Agent Containerizer Container Executor T1 T2 Container Executor T1 T2 Nested Container Nested Container
  • 55. © 2016 Mesosphere, Inc. All Rights Reserved. 53 New Agent API for Nested Containers Nested container support message agent::Call { enum Type { // Calls for managing nested containers // under an executor's container. LAUNCH_NESTED_CONTAINER = 14; WAIT_NESTED_CONTAINER = 15; KILL_NESTED_CONTAINER = 16; } }
  • 56. © 2016 Mesosphere, Inc. All Rights Reserved. 54 Launch nested container Nested container support Container Executor Mesos Agent Containerizer LAUNCH Nginx
  • 57. © 2016 Mesosphere, Inc. All Rights Reserved. 55 Watch nested container Nested container support Container Executor Mesos Agent Containerizer WAIT NginxExit Status = 0
  • 58. © 2016 Mesosphere, Inc. All Rights Reserved. 56 Arbitrary levels of nesting Nested container support Container Executor Nginx Mesos Agent Containerizer LAUNCH Debug
  • 60. © 2016 Mesosphere, Inc. All Rights Reserved. ● Mesos: state of the art container orchestrator ○ Production ready ○ Proven scalability ○ Highly customizable and extensible ● Containerization in Mesos ○ Pluggable architecture ○ Native support for Docker/Appc images (w/o Docker daemon or rkt) ○ Container network: CNI ○ Container storage: DVD ○ Nested container support 58 Summary
  • 61. © 2016 Mesosphere, Inc. All Rights Reserved. 59 Questions?
  • 62. 60 CNI support using an isolator Unified Containerizer Agent Process Launcher creates Subprocess Container Process execve() LaunchInfo = Isolator::prepare() Tell the launcher to create the child process in a new NET, UTS and MNT namespace. Isolator::isolate(pid) Block on pipe Bind mount the NET namespace to keep it open Invoke ‘ADD’ of the CNI plugin with the NET namespace associated with pid Setup network related /etc/xx files for the container Invoke ‘LaunchInfo.script’ Exec the executor Signal the Child to continue
  • 63. 61 CNI support using an isolator Unified Containerizer Container Process Isolator::cleanup() Invoke ‘DEL’ of the CNI plugin with the NET namespace handle Umount and remove the NET namespace handle Shutdown Executor or kill Task Destroy container Container terminated Agent Process
  • 64. © 2016 Mesosphere, Inc. All Rights Reserved. 62 Mesos, as one of the most powerful container orchestrators, greatly simplifies the deploy, provision and execution of containerized workloads. It automates the distribution of preprovisioned container images, injection of configuration, scheduling onto machines, life-cycle-management, and monitoring of applications, microservices, and jobs in the cloud. In this talk, Jie Yu will first give you an overview about Mesos and its powerful API which allows users to easily deploy their stateless and stateful services. Then, Jie will talk about how containers are managed in Mesos. In particular, Jie will provide a deep dive into the unified containerizer which is first introduced in Mesos 1.0. Jie will show some of the new container networking and storage features that are built recently, and how they benefit from the pluggable and extensible architecture of the unified containerizer. Finally, Jie will discuss the future of container support in Mesos.
  • 65. Watch the video with slide synchronization on InfoQ.com! https://www.infoq.com/presentations/ mesos-api