Apache Mesos is a resource manager for datacenter infrastructure that uses a two-level scheduling model to provide hardware resources to various application frameworks. Organized in two parts, this talk will provide an overview of the Mesos compute model (comparing and contrasting how it relates to IaaS), and then walk through writing an application for Mesos using the framework API.
Apache Mesos is a resource manager for datacenter infrastructure that uses a two-level scheduling model [1] to provide hardware resources to various application frameworks. Similar to Infrastructure as a Service (IaaS), Mesos manages hardware and the execution of applications, while delegating the responsibility of deployment to other platforms. In the Mesos model, application frameworks are responsible for scheduling and deployment logic. Multiple frameworks can be run on bare-metal at the same time using a single pool of resources, including use-cases for long-running services (including Marathon, Aurora, Singularity), and batch/streaming (Hadoop, Storm, Jenkins).
The abstraction Mesos provides for running and writing distributed applications has proven interesting to several IaaS projects, including OpenStack [3] and CloudStack. [4] While IaaS typically addresses a larger set of concerns (including virtual machines, servers, storage, load balancers, and network), the narrow focus of Mesos on resource management has provided opportunities for integration between traditional IaaS and Mesos in the future.
Organized in two parts, this talk will provide both an overview of the Mesos compute model (comparing and contrasting how it relates to IaaS), and walk through writing an application for Mesos using the framework API.
Part one will cover their essential architectures and how they enable fault-tolerance with replicated master nodes, scalability to 10,000's of machines, and resource isolation between tasks. Part two will demonstrate how users can write custom application schedulers for Mesos by leading through an example (likely in Python or Go). Attendees will come away with an understanding of how the software abstractions Mesos provides (resource manager and scheduler) work together, and with essential knowledge to write a custom scheduler.
Citations:
[1] http://people.csail.mit.edu/matei/papers/2011/nsdi_mesos.pdf
[2] http://mesos.apache.org/documentation/latest/mesos-frameworks
[3] https://issues.apache.org/jira/browse/MESOS-876
[4] https://twitter.com/ke4qqq/status/535421157202460674