Apache Mesos

{{Short description|Software to manage computer clusters}}

{{Infobox software

| name = Apache Mesos

| logo = File:Apache_Mesos_Logo.svg

| screenshot =

| caption =

| developer = Apache Software Foundation

| latest release version = 1.11.0

| latest release date = {{Start date and age|2020|11|24}}{{cite web|url=https://gitbox.apache.org/repos/asf?p=mesos.git;a=tag;h=c21c1c905d729e9fe93d328677d1a4e3a65d7e20|title=ASF Git Repos - mesos.git/tag|access-date=27 September 2022}}

| repo = {{URL|https://gitbox.apache.org/repos/asf/mesos.git|Mesos Repository}}

| programming language = C++

| genre = Cluster management software

| license = Apache License 2.0

}}

Apache Mesos is an open-source project to manage computer clusters. It was developed at the University of California, Berkeley.

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 on the project as part of a course taught by David Culler. It was originally named Nexus but due to a conflict with another university's project, was renamed to Mesos.{{cite web|last1=Zaharia|first1=Matei|title=HUG Meetup August 2010: Mesos: A Flexible Cluster Resource manager - Part 1|url=https://www.youtube.com/watch?v=lE3jR6nM3bw|website=youtube.com|accessdate=13 January 2015}}

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.{{Cite web|url=http://usenix.org/event/hotcloud09/tech/full_papers/hindman.pdf|title=A Common Substrate for Cluster Computing}} Later in 2011 it was presented in a more mature state in a talk by 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, Zaharia, Ali Ghodsi, Anthony D. Joseph, Randy Katz, Scott Shenker, Ion Stoica.{{cite journal|last1=Hindman|first1=Benjamin|last2=Konwinski|first2=Andy|last3=Zaharia|first3=Matei|last4=Ghodsi|first4=Ali|last5=Joseph|first5=Anthony|last6=Katz|first6=Randy|last7=Shenker|first7=Scott|last8=Stoica|first8=Ion|title=Mesos: A Platform for Fine-Grained Resource Sharing in the Data Center|journal=NSDI|date=2011|volume=11|page=22-22|url=http://people.csail.mit.edu/matei/papers/2011/nsdi_mesos.pdf|accessdate=12 January 2015}}

On July 27, 2016, the Apache Software Foundation announced version 1.{{Cite news |title= The Apache Software Foundation Announces Apache Mesos v1.0 |work= Press release |date= July 27, 2016 |url= https://blogs.apache.org/foundation/entry/the_apache_software_foundation_announces97 |access-date= February 24, 2017 }} It added the ability to centrally supply Docker, rkt and appc instances.{{Cite web|url=https://siliconangle.com/2016/07/27/mesos-1-0-brings-a-new-container-runtime-and-more-third-party-integrations/|title=Mesos 1.0 brings a new container runtime and more third party integrations|date=July 27, 2016}}

On April 5, 2021, it was voted to move Mesos to the Apache Attic,{{Cite web|title=[VOTE] Move Apache Mesos to Attic|url=https://lists.apache.org/x/thread.html/rab2a820507f7c846e54a847398ab20f47698ec5bce0c8e182bfe51ba@%3Cdev.mesos.apache.org%3E|url-status=live|access-date=2021-04-07|website=lists.apache.org|archive-url=https://web.archive.org/web/20210406081248/https://lists.apache.org/x/thread.html/rab2a820507f7c846e54a847398ab20f47698ec5bce0c8e182bfe51ba@%3Cdev.mesos.apache.org%3E |archive-date=2021-04-06 }} however the vote was cancelled two days later due to increased interest.{{Cite web|title=Re: [VOTE] Move Apache Mesos to Attic|url=https://lists.apache.org/thread.html/rf0359da13d1c3baff88283310413d4287c4ba45a878f2c98b5955c0f%40%3Cdev.mesos.apache.org%3E|url-status=live|access-date=2021-04-09|website=lists.apache.org|archive-url=https://web.archive.org/web/20210409085629/https://lists.apache.org/thread.html/rf0359da13d1c3baff88283310413d4287c4ba45a878f2c98b5955c0f@%3Cdev.mesos.apache.org%3E |archive-date=2021-04-09 }}

Technology

Mesos uses Linux cgroups to provide isolation for CPU, memory, I/O and file system.{{cite web|title=Open-Source Datacenter Computing with Apache Mesos|url=https://opensource.com/business/14/9/open-source-datacenter-computing-apache-mesos|first=Sachin P.|last=Bappalige|website=OpenSource.com|publisher=Red Hat|date=2014-09-15|accessdate=2016-12-10}}

Mesos is comparable to Google's Borg scheduler, a platform used internally to manage and distribute Google's services.

{{Infobox software

| name = Apache Aurora

| logo = File:Apache_Aurora_Logo.svg

| developer = Apache Software Foundation

| discontinued = Yes

| latest release version = 0.22.0

| latest release date = {{Start date and age|2019|12|12}}{{cite web|url=https://aurora.apache.org/blog/|title=Apache Aurora Blog|access-date=16 March 2021}}

| repo = {{URL|https://gitbox.apache.org/repos/asf?p%3Daurora.git|Aurora Repository}}

| programming language = Java, Python

| genre = Mesos Framework

| license = Apache License 2.0

| website = {{url|https://aurora.apache.org/}}

}}

=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.{{cite web|title=All about Apache Aurora|url=https://blog.twitter.com/2015/all-about-apache-aurora|publisher=Twitter|accessdate=20 May 2015}} It can scale to tens of thousands of servers, and holds many similarities to Borg{{cite web|title=Large-scale cluster management at Google with Borg|url=http://static.googleusercontent.com/media/research.google.com/en/us/pubs/archive/43438.pdf|accessdate=20 May 2015}}{{cite web|title=Twitter's Aurora and How It Relates to Google's Borg|date=18 February 2015 |url=http://thenewstack.io/twitters-aurora-relates-googles-borg-part-1/|accessdate=20 May 2015}} including its rich domain-specific language (DSL) for configuring services. As of February 2020 the project was retired to the Attic.{{Cite web|title=Apache Aurora - Apache Attic|url=https://attic.apache.org/projects/aurora.html|access-date=2021-02-18|website=attic.apache.org}} A fork of the project was maintained by former members, hosted on GitHub under the name Aurora Scheduler.{{Cite web|title=Aurora Scheduler|url=https://github.com/aurora-scheduler|access-date=2023-04-02|website=GitHub|language=en}}

=Chronos=

Chronos is a distributed cron-like system which is elastic and capable of expressing dependencies between jobs.{{cite web|title=Chronos|url=https://github.com/mesos/chronos|website=GitHub.com|publisher=GitHub|accessdate=30 March 2015}}

=Marathon=

Marathon is promoted for platform as a service or container orchestration system scaling to thousands of physical servers. It is fully REST-based and allows canary-style deployments and deployment topologies. It is written in the programming language Scala.{{cite web|title=Marathon|url=https://mesosphere.github.io/marathon/|website=Mesosphere.GitHub.io|publisher=Mesosphere|date=2014|accessdate=30 March 2015}}

Users

The social networking site Twitter began using Mesos and Apache Aurora in 2010, after Hindman gave a presentation to a group of Twitter engineers.{{cite magazine|last1=Metz|first1=Cade|title=Return of the Borg: How Twitter Rebuilt Google's Secret Weapon|url=https://www.wired.com/2013/03/google-borg-twitter-mesos/|magazine=Wired|accessdate=12 January 2015}}

Airbnb said in July 2013 that it uses Mesos to run data processing systems like Apache Hadoop and Apache Spark.{{cite web|last1=Harris|first1=Derrick|title=Airbnb is engineering itself into a data-driven company|url=https://gigaom.com/2013/07/29/airbnb-is-engineering-itself-into-a-data-driven-company/|website=gigaom.com|accessdate=12 January 2015}}

The Internet auction website eBay stated in April 2014 that it used 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.{{cite web|last1=The eBay PAAS Team|title=Delivering eBay's CI Solution with Apache Mesos - Part I|url=http://www.ebaytechblog.com/2014/04/04/delivering-ebays-ci-solution-with-apache-mesos-part-i/|website=EbayTechBlog.com|date=4 April 2014 |publisher=eBay|accessdate=12 January 2015}}

In April 2015, it was announced that Apple service Siri is using its own Mesos framework called Jarvis.{{cite web|last=Harris|first=Derrick|title=Apple Details How It Rebuilt Siri on Mesos|url=https://mesosphere.com/blog/2015/04/23/apple-details-j-a-r-v-i-s-the-mesos-framework-that-runs-siri/|website=Mesosphere.com|publisher=Mesosphere|date=2015-04-23|accessdate=2015-04-27|archive-url=https://web.archive.org/web/20150429225603/https://mesosphere.com/blog/2015/04/23/apple-details-j-a-r-v-i-s-the-mesos-framework-that-runs-siri/|archive-date=2015-04-29|url-status=dead}}

In August 2015, it was announced that Verizon selected Mesosphere's DC/OS, which is based on open source Apache Mesos, for data center service orchestration.{{cite web|title=Verizon selects Mesosphere DCOS as nationwide platform for data center service orchestration

|date=21 August 2015 |url=http://www.verizon.com/about/news/verizon-selects-mesosphere-dcos-nationwide-platform-data-center-service-orchestration|publisher=Verizon|accessdate=21 August 2015}}

In November 2015, Yelp announced they had been using Mesos and Marathon for a year and a half for production services.{{Cite web|url=http://engineeringblog.yelp.com/2015/11/introducing-paasta-an-open-platform-as-a-service.html|title=Introducing PaaSTA: An Open, Distributed, Platform as a Service|website=engineeringblog.yelp.com|access-date=2016-07-12}}

Commercial support

Software startup Mesosphere, Inc. sells the Datacenter Operating System, a distributed operating system, based on Apache Mesos.{{cite web|title=The Mesosphere DCOS|url=http://mesosphere.com/product/|website=mesosphere.com|accessdate=13 January 2015}} In September 2015, Microsoft announced a commercial partnership with Mesosphere to build container scheduling and orchestration services for Microsoft Azure.{{cite web|url=https://www.zdnet.com/article/new-azure-container-service-to-bring-together-mesos-docker-and-azure-cloud/|title=New Azure Container Service to bring together Mesos, Docker and Azure cloud|author=Mary Jo Foley|author-link=Mary Jo Foley|work=ZDNet|date=September 29, 2015}} In October 2015, Oracle announced support for Mesos through Oracle Container Cloud Service.{{Cite web|url=https://www.oracle.com/corporate/pressrelease/iaas-102715.html|title=Oracle Updates Oracle Cloud Infrastructure Services|website=oracle.com|language=en-US|access-date=2018-02-06}}

See also

{{Portal|Free and open-source software}}

References

{{Reflist|30em}}