Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Mesos: Ignite Talk at #DevopsDaysAustin 2015

Mesos: Ignite Talk at #DevopsDaysAustin 2015

#DevopsDaysAustin 2015

Chris Aniszczyk

May 05, 2015
Tweet

More Decks by Chris Aniszczyk

Other Decks in Programming

Transcript

  1. 300M+ 500M+ 80% Active users Tweets per day of users

    are outside the US 2006 2015 100TB compressed data per Twitter Scale
  2. 1 2 3 4 5 6 7 8 9 0%

    11% 22% 33% 0% 11% 22% 33% 0% 11% 22% 33% Mixed Utilization Devs requesting CPUs slows you down Static Partitioned Datacenters
  3. 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!?
  4. • 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
  5. • 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
  6. 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?
  7. 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
  8. 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
  9. 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
  10. 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