Mesos for dummies
Giving some sense to all this crap
Javier Cortejoso
Unai Arríen
Credits: Mario Castro
Plan
What is Mesos?
How can I use Mesos?
What is mesos?
A long time ago...
Are you done with the
machine? I need to
load my cards
Lol no; maybe
tomorrow
In 1957...
Oh man! Let’s all
share the computer,
AT THE SAME TIME!
John McCarthy
In 2005...
Are you done with the
Hadoop cluster? I
need to run my
analytics jobs
Lol no; maybe
tomorrow
In 2010...
Oh man! Let’s all
share the cluster, AT
THE SAME TIME!
Ben Hindman
Good ideas today mirror good ideas of
yesterday
So… the origin highlights:
● Project motivated from Google projects
Borg (later Omega and Kubernetes)
○ Borg, Omega, and Kubernetes
● In 2008, Berkeley Amplab started the
Nexus project (later Mesos)
● First version published in 2009
● Used by companies: Twitter, eBay,
Apple, Netflix, Airbnb, …
Mesos
Orchestration platform to share a computer cluster between many
applications and to use it as a single machine managing CPU, memory and
other resources.
No more “apps” in fixed machines.
Divided in Master nodes and Agent nodes (formerly known as Slaves)
Mesos Masters and Agents
Master:
Manages cluster resources.
Has the UI.
Knows everything about the cluster (Maintains some state).
One active master and 0+ passive master(s) (elected using ZK) for HA
Agents:
Launch and manage containers (LXC and Docker containers).
Provide UI access to slave specific data.
Mesos Architecture
Mesos Frameworks
Each framework has a scheduler that is a process that communicates with
Mesos Master to accept resources from the Master offers…
...and 0+ executor(s), which are launched by the scheduler and it’s
considered a worker. The scheduler sends tasks to the executors that will
work on them and provide status updates to the scheduler.
Mesos model
Resources are allocated via
resource offers
A resource offer represents a
snapshot of available resources
that a scheduler can use to run
tasks
Mesos model
Scheduler uses the offers
to decide what tasks to
run
“Two-level scheduling”
Mesos Resources
Mesos Resources
Tasks and executors
Schedulers can run one or more tasks within a
executor… and one or more tasks in a
specific container.
So an Executor is a “process container” that
run tasks.
A Task can adjust the size of the Executor’s
container.
How can I use
mesos?
Example
A Mesos cluster, 3 Masters, 3
Zookeepers and 3 machines with
Marathon (in white).
9 Slaves (in grey).
2 Chronos (in orange) that schedu- les
2 executions (in blue) to send emails
and to dump a database.
Others frameworks are also running by
Marathon (in orange).
Mesos allocator
Allocator is the responsible for the offers given for each registered
framework
You can implement your custom allocator
By default it implements “Dominant Resource Fairness”, based on max-min
fairness.
Mesos principals, roles and quotas
Principals: It identifies an entity (i.e., a framework or an operator) that
interacts with Mesos
Role: It can be used to associate resources with frameworks in various ways.
Example: 20% of CPU and MEM resources for role production
When a framework run tasks, it can identify itself as some role
Principals are the entity that can be authenticated against Mesos
Users ←→ Groups analogy
Mesos volumes
A framework can reserve or ask for volumes.
These volumes are persisted out of the executor container
When launching the task, the volume is created if the volume is not present
If the volume is present, the content is attached directly to the container
Mesos framework implementation
Mesos components use Protobuf to communicate
Implementing a custom framework consist on implementing a Scheduler and an
Executor
There are bindings for several languages (C++, Java, Scala, Go, Python, Haskell)
Big major change in 1.0: Full REST API for framework developing
Not provided by Mesos
Service Discovery between nodes. You can use Mesos DNS
Persistence and Stateful apps (support added in 0.23). Frameworks for
databases are still in early stages.
Monitoring of Mesos itself. Mesos monitors its frameworks but Mesos itself
(the cluster) is not monitored.
Marathon
Framework to manage Frameworks
Orchestrates apps and frameworks
It simplifies launching your distributed (or not) applications in Mesos without
needing to develop a custom framework for your application
Can run in HA using ZK
It will monitor your app checking if it is healthy
Chronos
Distributed and fault tolerant job scheduler for Mesos
‘Kind a’ distributed cron
It is also a framework of Mesos
Supports time intervals, triggers on job completions
Developed by Mesosphere
Aurora
Scheduler for services and jobs (i.e.: Marathon + Chronos)
More complex and powerful than Marathon/Chronos
Allow rolling updates/rollback
Resource quota and Multi-user support
From Twitter
Questions

More Related Content

PDF
無題 4
PDF
Creating a Mesos python framework
PPTX
Meson: Building a Machine Learning Orchestration Framework on Mesos
PPTX
Meson: Heterogeneous Workflows with Spark at Netflix
PPTX
Mesos framework API v1
PDF
Devoxx 2016: A Developer's Guide to OCI and runC
PPTX
DC/OS: The definitive platform for modern apps
PDF
Deploying Docker Containers at Scale with Mesos and Marathon
無題 4
Creating a Mesos python framework
Meson: Building a Machine Learning Orchestration Framework on Mesos
Meson: Heterogeneous Workflows with Spark at Netflix
Mesos framework API v1
Devoxx 2016: A Developer's Guide to OCI and runC
DC/OS: The definitive platform for modern apps
Deploying Docker Containers at Scale with Mesos and Marathon

Viewers also liked (14)

PDF
TDC2016POA | Trilha Infraestrutura - Apache Mesos & Marathon: gerenciando rem...
PDF
Container Orchestration Wars (Micro Edition)
PDF
CI/CD with Docker, DC/OS, and Jenkins
PDF
Mesos introduction
PDF
MesosCon EU - HTTP API Framework
PDF
Piloter un loadbalancer pour exposer les microservoces de mon cluster Mesos/M...
PDF
Container Orchestration Wars
PDF
How to deploy Apache Spark 
to Mesos/DCOS
PDF
Understanding Kubernetes
PDF
"On-premises" FaaS on Kubernetes
PDF
From Code to Kubernetes
PPTX
Orchestration tool roundup kubernetes vs. docker vs. heat vs. terra form vs...
PDF
Mesos, DC/OS and the Architecture of the New Datacenter
PDF
Simple Steps to UX/UI Web Design
TDC2016POA | Trilha Infraestrutura - Apache Mesos & Marathon: gerenciando rem...
Container Orchestration Wars (Micro Edition)
CI/CD with Docker, DC/OS, and Jenkins
Mesos introduction
MesosCon EU - HTTP API Framework
Piloter un loadbalancer pour exposer les microservoces de mon cluster Mesos/M...
Container Orchestration Wars
How to deploy Apache Spark 
to Mesos/DCOS
Understanding Kubernetes
"On-premises" FaaS on Kubernetes
From Code to Kubernetes
Orchestration tool roundup kubernetes vs. docker vs. heat vs. terra form vs...
Mesos, DC/OS and the Architecture of the New Datacenter
Simple Steps to UX/UI Web Design
Ad

Similar to Mesos sys adminday (20)

PPTX
Apache mesos - overview
PDF
Mesos: The Operating System for your Datacenter
PPTX
Apache Mesos
PPTX
Introduction to Apache Mesos
PDF
A Travel Through Mesos
PDF
Mesos: Cluster Management System
PDF
OSDC 2015: Bernd Mathiske | Why the Datacenter Needs an Operating System
PDF
Apache Mesos at Twitter (Texas LinuxFest 2014)
PPTX
Introduction to mesos
PPTX
The advantages of apache mesos
PDF
Apache Mesos
PDF
Reference - Benjamin Hindman (Mesos Research Paper)
PDF
Fully fault tolerant real time data pipeline with docker and mesos
PDF
Modern distributed-systems
PDF
Scaling ArangoDB on Mesosphere DCOS
PDF
Introducing Apache Mesos
PPT
Mesos study report 03v1.2
PDF
Cloud infrastructure on Apache Mesos
PDF
Mesos introduction
PDF
Thinking in Terms of a Data Center Operating System
Apache mesos - overview
Mesos: The Operating System for your Datacenter
Apache Mesos
Introduction to Apache Mesos
A Travel Through Mesos
Mesos: Cluster Management System
OSDC 2015: Bernd Mathiske | Why the Datacenter Needs an Operating System
Apache Mesos at Twitter (Texas LinuxFest 2014)
Introduction to mesos
The advantages of apache mesos
Apache Mesos
Reference - Benjamin Hindman (Mesos Research Paper)
Fully fault tolerant real time data pipeline with docker and mesos
Modern distributed-systems
Scaling ArangoDB on Mesosphere DCOS
Introducing Apache Mesos
Mesos study report 03v1.2
Cloud infrastructure on Apache Mesos
Mesos introduction
Thinking in Terms of a Data Center Operating System
Ad

Recently uploaded (20)

PDF
Unit I -OPERATING SYSTEMS_SRM_KATTANKULATHUR.pptx.pdf
PPTX
Chapter 2 -Technology and Enginerring Materials + Composites.pptx
PPT
Chapter 1 - Introduction to Manufacturing Technology_2.ppt
PDF
Applications of Equal_Area_Criterion.pdf
PPTX
Chemical Technological Processes, Feasibility Study and Chemical Process Indu...
PDF
Computer System Architecture 3rd Edition-M Morris Mano.pdf
PDF
MLpara ingenieira CIVIL, meca Y AMBIENTAL
PPTX
Information Storage and Retrieval Techniques Unit III
PPTX
A Brief Introduction to IoT- Smart Objects: The "Things" in IoT
PPTX
ai_satellite_crop_management_20250815030350.pptx
PDF
First part_B-Image Processing - 1 of 2).pdf
PPTX
Building constraction Conveyance of water.pptx
PDF
Abrasive, erosive and cavitation wear.pdf
PDF
LOW POWER CLASS AB SI POWER AMPLIFIER FOR WIRELESS MEDICAL SENSOR NETWORK
PDF
Exploratory_Data_Analysis_Fundamentals.pdf
PPTX
Sorting and Hashing in Data Structures with Algorithms, Techniques, Implement...
PPTX
AUTOMOTIVE ENGINE MANAGEMENT (MECHATRONICS).pptx
PPTX
Principal presentation for NAAC (1).pptx
PDF
Computer organization and architecuture Digital Notes....pdf
PPTX
mechattonicsand iotwith sensor and actuator
Unit I -OPERATING SYSTEMS_SRM_KATTANKULATHUR.pptx.pdf
Chapter 2 -Technology and Enginerring Materials + Composites.pptx
Chapter 1 - Introduction to Manufacturing Technology_2.ppt
Applications of Equal_Area_Criterion.pdf
Chemical Technological Processes, Feasibility Study and Chemical Process Indu...
Computer System Architecture 3rd Edition-M Morris Mano.pdf
MLpara ingenieira CIVIL, meca Y AMBIENTAL
Information Storage and Retrieval Techniques Unit III
A Brief Introduction to IoT- Smart Objects: The "Things" in IoT
ai_satellite_crop_management_20250815030350.pptx
First part_B-Image Processing - 1 of 2).pdf
Building constraction Conveyance of water.pptx
Abrasive, erosive and cavitation wear.pdf
LOW POWER CLASS AB SI POWER AMPLIFIER FOR WIRELESS MEDICAL SENSOR NETWORK
Exploratory_Data_Analysis_Fundamentals.pdf
Sorting and Hashing in Data Structures with Algorithms, Techniques, Implement...
AUTOMOTIVE ENGINE MANAGEMENT (MECHATRONICS).pptx
Principal presentation for NAAC (1).pptx
Computer organization and architecuture Digital Notes....pdf
mechattonicsand iotwith sensor and actuator

Mesos sys adminday

  • 1. Mesos for dummies Giving some sense to all this crap Javier Cortejoso Unai Arríen Credits: Mario Castro
  • 2. Plan What is Mesos? How can I use Mesos?
  • 4. A long time ago... Are you done with the machine? I need to load my cards Lol no; maybe tomorrow
  • 5. In 1957... Oh man! Let’s all share the computer, AT THE SAME TIME! John McCarthy
  • 6. In 2005... Are you done with the Hadoop cluster? I need to run my analytics jobs Lol no; maybe tomorrow
  • 7. In 2010... Oh man! Let’s all share the cluster, AT THE SAME TIME! Ben Hindman
  • 8. Good ideas today mirror good ideas of yesterday So… the origin highlights: ● Project motivated from Google projects Borg (later Omega and Kubernetes) ○ Borg, Omega, and Kubernetes ● In 2008, Berkeley Amplab started the Nexus project (later Mesos) ● First version published in 2009 ● Used by companies: Twitter, eBay, Apple, Netflix, Airbnb, …
  • 9. Mesos Orchestration platform to share a computer cluster between many applications and to use it as a single machine managing CPU, memory and other resources. No more “apps” in fixed machines. Divided in Master nodes and Agent nodes (formerly known as Slaves)
  • 10. Mesos Masters and Agents Master: Manages cluster resources. Has the UI. Knows everything about the cluster (Maintains some state). One active master and 0+ passive master(s) (elected using ZK) for HA Agents: Launch and manage containers (LXC and Docker containers). Provide UI access to slave specific data.
  • 12. Mesos Frameworks Each framework has a scheduler that is a process that communicates with Mesos Master to accept resources from the Master offers… ...and 0+ executor(s), which are launched by the scheduler and it’s considered a worker. The scheduler sends tasks to the executors that will work on them and provide status updates to the scheduler.
  • 13. Mesos model Resources are allocated via resource offers A resource offer represents a snapshot of available resources that a scheduler can use to run tasks
  • 14. Mesos model Scheduler uses the offers to decide what tasks to run “Two-level scheduling”
  • 17. Tasks and executors Schedulers can run one or more tasks within a executor… and one or more tasks in a specific container. So an Executor is a “process container” that run tasks. A Task can adjust the size of the Executor’s container.
  • 18. How can I use mesos?
  • 19. Example A Mesos cluster, 3 Masters, 3 Zookeepers and 3 machines with Marathon (in white). 9 Slaves (in grey). 2 Chronos (in orange) that schedu- les 2 executions (in blue) to send emails and to dump a database. Others frameworks are also running by Marathon (in orange).
  • 20. Mesos allocator Allocator is the responsible for the offers given for each registered framework You can implement your custom allocator By default it implements “Dominant Resource Fairness”, based on max-min fairness.
  • 21. Mesos principals, roles and quotas Principals: It identifies an entity (i.e., a framework or an operator) that interacts with Mesos Role: It can be used to associate resources with frameworks in various ways. Example: 20% of CPU and MEM resources for role production When a framework run tasks, it can identify itself as some role Principals are the entity that can be authenticated against Mesos Users ←→ Groups analogy
  • 22. Mesos volumes A framework can reserve or ask for volumes. These volumes are persisted out of the executor container When launching the task, the volume is created if the volume is not present If the volume is present, the content is attached directly to the container
  • 23. Mesos framework implementation Mesos components use Protobuf to communicate Implementing a custom framework consist on implementing a Scheduler and an Executor There are bindings for several languages (C++, Java, Scala, Go, Python, Haskell) Big major change in 1.0: Full REST API for framework developing
  • 24. Not provided by Mesos Service Discovery between nodes. You can use Mesos DNS Persistence and Stateful apps (support added in 0.23). Frameworks for databases are still in early stages. Monitoring of Mesos itself. Mesos monitors its frameworks but Mesos itself (the cluster) is not monitored.
  • 25. Marathon Framework to manage Frameworks Orchestrates apps and frameworks It simplifies launching your distributed (or not) applications in Mesos without needing to develop a custom framework for your application Can run in HA using ZK It will monitor your app checking if it is healthy
  • 26. Chronos Distributed and fault tolerant job scheduler for Mesos ‘Kind a’ distributed cron It is also a framework of Mesos Supports time intervals, triggers on job completions Developed by Mesosphere
  • 27. Aurora Scheduler for services and jobs (i.e.: Marathon + Chronos) More complex and powerful than Marathon/Chronos Allow rolling updates/rollback Resource quota and Multi-user support From Twitter

Editor's Notes