0%
11%
22%
33%
0%
11%
22%
33%
0%
11%
22%
33%
0%
33.333%
66.667%
100%
Didn’t we learn as children that we should share :)?
Resource Sharing!?
Slide 6
Slide 6 text
• Google was ahead of the game of
managing warehouse scale cluster
computing: http://youtube.com/watch?
v=0ZFMlO98Jkc
• NEW (2015): Google Borg paper (https://
research.google.com/pubs/
pub43438.html)
• 2009: Universities (Berkeley) was doing
research in this area, we decided to
partner and hire researchers: https://
amplab.cs.berkeley.edu/tag/mesos/
Evaluated industry + academia
Slide 7
Slide 7 text
• May 2012: Took university research and
spun into a independent open source
project at the Apache Foundation:
https://blog.twitter.com/2012/
incubating-apache-mesos
• June 2013: https://twitter.com/
ApacheMesos/statuses/
360039441500340224 (graduated)
Enter Apache Mesos
Slide 8
Slide 8 text
Where does Mesos Fit?
Slide 9
Slide 9 text
build and run a PaaS
on top of Mesos:
Apache Aurora / Marathon
use OpenStack or EC2
or physical machines
to run Mesos
Where does Mesos Fit?
Slide 10
Slide 10 text
Mesos treats your datacenter nodes as one big computer!
Not as individual machines (or VMs), but as computational
resources
like CPU cores, memory, disks, network ports, etc…
Mesos: Datacenters as 1 CPU
Slide 11
Slide 11 text
http://mesos.apache.org/documentation/latest/mesos-frameworks/
Frameworks are responsible for
using resource offers from Mesos
Mesos consists of Frameworks
Slide 12
Slide 12 text
http://mesos.apache.org/documentation/latest/mesos-frameworks/
Ecosystem of Frameworks
Slide 13
Slide 13 text
offer
hostname
4 CPUs
offer
hostname
4 CPUs
4 GB RAM
offer
hostname
4 CPUs
4 GB RAM
offer
hostname
4 CPUs
4 GB RAM
Schedulers get resource offers
Executors run tasks
Mesos Framework =
Scheduler + Executor
Mesos at a High Level
Slide 14
Slide 14 text
Mesos Slave
Hadoop task-tracker Mesos Executor
Task #1 Task #2 ./ruby XYZ
Mesos Slave
Docker Executor Docker Executor
java -jar XYZ.jar ./xyz
Mesos Master Mesos Master Mesos Master
Hadoop
scheduler
Marathon
scheduler
Zookeeper
quorum
Master schedules tasks to
run on slaves’ available
resources; slaves use
executors to coordinate
execution of tasks
Tasks are
the unit
of
execution
Slide 15
Slide 15 text
Mesos provides fine-grained resource
Compute Node
Mesos Slave Process
Hadoop task-tracker Mesos Executor
Task #1 Task #2 ruby XYZ
Container
(Cgroups)
Executor
Slaves isolate executors and tasks via
containers (dotted line)
Compute Node
Mesos Slave Process
Hadoop task-tracker
Task #1 Task #2
Container
(Cgroups)
Task #3
Containers can GROW AND SHRINK as tasks
http://mesos.apache.org
http://www.meetup.com/Austin-Mesos-Users-Group/
Open Source Community
Slide 18
Slide 18 text
http://mesosphere.io/
Commercial Support
Slide 19
Slide 19 text
http://mesoscon.org
MesosCon 2015!
Slide 20
Slide 20 text
Thank you for listening!
Chris Aniszczyk (@cra)
[email protected]
http://mesos.apache.org
email: {user,dev}@mesos.apache.org
https://mesosphere.com/learn/