Apache Mesos
Developer(s) | Apache Software Foundation |
---|---|
Stable release |
1.1.0
/ November 3, 2016 |
Development status | Active |
Written in | C++ |
Operating system | Cross-platform |
Type | Cluster management software |
License | Apache License 2.0 |
Website |
mesos |
Apache Mesos is an open-source cluster manager that was developed at the University of California, Berkeley. It "provides efficient resource isolation and sharing across distributed applications, or frameworks".[1] The software enables resource sharing in a fine-grained manner, improving cluster utilization.
It has been adopted by several large software companies, including Twitter, Airbnb and Apple. At least 50 organizations currently use Mesos.[2]
On July 27, 2016 Apache Mesos announced the availability of Apache Mesos v1.0. [3] The most notable addition to the software is the “unified containerizer” that allows for the ability to centrally supply Docker, rkt and appc instances.[4]
History
Mesos began as a research project in the UC Berkeley RAD Lab by then PhD students Benjamin Hindman, Andy Konwinski, and Matei Zaharia, as well as professor Ion Stoica. The students started working together on the project as part of a course on Advanced Topics in Computer Systems taught by David Culler. It was originally named Nexus but due to a conflict with another university's project, was renamed to Mesos.[5]
Mesos was first presented in 2009 (while still named Nexus) by Andy Konwinski at HotCloud '09 in a talk accompanying the first paper published about the project.[6] Later in 2011 it was presented in a more mature state in a talk by Matei Zaharia at the USENIX Symposium on Networked Systems Design and Implementation conference about the paper "Mesos: A Platform for Fine-Grained Resource Sharing in the Data Center" by Benjamin Hindman, Andy Konwinski, Matei Zaharia, Ali Ghodsi, Anthony D. Joseph, Randy Katz, Scott Shenker, Ion Stoica.[7]
Architecture
Mesos uses a two-level scheduling mechanism where resource offers are made to frameworks (applications that run on top of Mesos). The Mesos master node decides how many resources to offer each framework, while each framework determines the resources it accepts and what application to execute on those resources. This method of resource allocation allows near-optimal data locality when sharing a cluster of nodes amongst diverse frameworks.
Mesos uses Linux Cgroups to provide isolation for CPU, memory, I/O and file system [8]
Competition
Mesos is often compared to the Google Omega scheduler, a highly secretive platform used internally to manage and distribute Google's services.[9]
Frameworks
Mesos is the foundation for a number of distributed systems. These distributed systems are called frameworks.
Apache Aurora
Apache Aurora is a Mesos framework for both long-running services and cron jobs, originally developed by Twitter starting in 2010 and open sourced in late 2013.[10] It can scale to tens of thousands of servers, and holds many similarities to Google's Borg scheduler[11][12] including its rich DSL for configuring services.
Chronos
Chronos is a distributed cron-like system, that is elastic and can also express dependencies between jobs. It can scale to thousands of physical servers and is, like most Mesos frameworks, fully elastic and fault tolerant.[13]
Marathon
Marathon is a popular PaaS or container orchestration system scaling to thousands of physical servers. It is fully REST based and allows canary style deploys and deployment topologies. It is written in Scala and is highly available, elastic, and distributed.[14]
Prominent users
Social networking site Twitter began using Mesos and Apache Aurora in 2010, after (then PhD student) Benjamin Hindman gave a presentation to a group of Twitter engineers.[9]
Airbnb said in July 2013 that it uses Mesos to run a number of data processing systems like Apache Hadoop and Apache Spark.[15]
The Internet auction website eBay stated in April 2014 that it uses Mesos to run continuous integration on a per-developer basis. They accomplish this by using a custom Mesos plugin that allows developers to launch their own private Jenkins instance.[16]
In April 2015, it was announced that Apple service Siri is using its own Mesos framework called Jarvis.[17]
In August 2015, it was announced that Verizon has selected Mesosphere's DCOS, which is based on open source Apache Mesos, as their nationwide platform for data center service orchestration.[18]
In November 2015, Yelp announced that they had been using Mesos/Marathon for a year and a half for production services.[19]
Commercial support
Software startup Mesosphere sells the Datacenter Operating System, a distributed operating system, based on Apache Mesos.[20] In September 2015, Microsoft announced a commercial partnership with Mesosphere to build container scheduling and orchestration services for Microsoft Azure.[21]
References
- ↑ "Mesos". twitter.com. Retrieved 13 January 2015.
- ↑ "Organizations using Mesos". mesos.apache.org. Retrieved 12 January 2015.
- ↑ https://blogs.apache.org/foundation/entry/the_apache_software_foundation_announces97
- ↑ http://siliconangle.com/blog/2016/07/27/mesos-1-0-brings-a-new-container-runtime-and-more-third-party-integrations/
- ↑ Zaharia, Matei. "HUG Meetup August 2010: Mesos: A Flexible Cluster Resource manager - Part 1". youtube.com. Retrieved 13 January 2015.
- ↑ A Common Substrate for Cluster Computing
- ↑ Hindman, Benjamin; Konwinski, Andy; Zaharia, Matei; Ghodsi, Ali; Joseph, Anthony; Katz, Randy; Shenker, Scott; Stoica, Ion (2011). "Mesos: A Platform for Fine-Grained Resource Sharing in the Data Center" (PDF). NSDI. 11: 22-22. Retrieved 12 January 2015.
- ↑ https://opensource.com/business/14/9/open-source-datacenter-computing-apache-mesos
- 1 2 Metz, Cade. "Return of the Borg: How Twitter Rebuilt Google's Secret Weapon". wired.com. Wired. Retrieved 12 January 2015.
- ↑ "All about Apache Aurora". Twitter. Retrieved 20 May 2015.
- ↑ "Large-scale cluster management at Google with Borg" (PDF). Google. Retrieved 20 May 2015.
- ↑ "Twitter's Aurora and How It Relates to Google's Borg". Retrieved 20 May 2015.
- ↑ "Chronos". GitHub.com. GitHub. Retrieved 30 March 2015.
- ↑ "Marathon". Mesosphere.GitHub.io. Mesosphere. 2014. Retrieved 30 March 2015.
- ↑ Harris, Derrick. "Airbnb is engineering itself into a data-driven company". gigaom.com. Retrieved 12 January 2015.
- ↑ The eBay PAAS Team. "Delivering eBay's CI Solution with Apache Mesos - Part I". EbayTechBlog.com. eBay. Retrieved 12 January 2015.
- ↑ Harris, Derrick (2015-04-23). "Apple Details How It Rebuilt Siri on Mesos". Mesosphere.com. Mesosphere. Retrieved 2015-04-27.
- ↑ "Verizon selects Mesosphere DCOS as nationwide platform for data center service orchestration". Verizon. Retrieved 21 August 2015.
- ↑ "Introducing PaaSTA: An Open, Distributed, Platform as a Service". engineeringblog.yelp.com. Retrieved 2016-07-12.
- ↑ "The Mesosphere DCOS". mesosphere.com. Retrieved 13 January 2015.
- ↑ Mary Jo Foley (September 29, 2015). "New Azure Container Service to bring together Mesos, Docker and Azure cloud". ZDNet.