Apache Mesos

Apache Mesos adalah proyek sumber terbuka untuk mengelola kluster komputer yang dikembangkan di University of California, Berkeley.

Sejarah

Apache Mesos dimulai sebagai proyek penelitian di Lab RAD UC Berkeley oleh mahasiswa PhD: Benjamin Hindman, Andy Konwinski, dan Matei Zaharia, serta profesor Ion Stoica. Mereka memulai mengerjakan proyek sebagai bagian dari kursus yang diajarkan oleh David Culler. Awalnya bernama Nexus tetapi karena konflik dengan proyek universitas lain, diganti namanya menjadi Mesos.
Mesos pertama kali dikenalkan pada tahun 2009 (saat masih bernama Nexus) oleh Andy Konwinski di HotCloud '09 dalam sebuah seminar yang menyertai makalah pertama yang dipublikasikan tentang proyek tersebut.
Kemudian pada tahun 2011, proyek ini dikenalkan dalam keadaan yang lebih matang dalam seminar oleh Zaharia di simposium Usenix tentang Desain Sistem Jaringan dan Implementasi konferensi tentang makalah "Mesos: A Platform for Fine-Grained Resource Sharing in the Data Center" oleh Benjamin Hindman, Andy Konwinski, Zaharia Ali Ghodsi, Anthony D. Joseph, Randy Katz, Scott Shenker, Ion Stoica. 
Pada 27 Juli 2016, the Apache Software Foundation mengumumkan versi 1. dengan menambahkan kemampuan untuk mendukung instansi Docker, rkt dan appc secara terpusat.

Teknologi

Mesos menggunakan cgroups Linux untuk menyediakan isolasi untuk CPU, memori virtual, I/O dan sistem berkas.  Mesos sebanding dengan penjadwalan Google Borg, platform yang sangat tertutup yang digunakan secara internal untuk mengelola dan mendistribusikan layanan Google.

Apache Aurora

Apache Aurora adalah framework Mesos untuk layanan jangka panjang dan cron jobs, awalnya dikembangkan oleh Twitter mulai tahun 2010 dan di publikasikan pada akhir 2013. Apache Aurora dapat berskala hingga puluhan ribu server, dan memiliki banyak kesamaan dengan Borg   termasuk Domain-Specific Language (DSL) yang sangat memungkinkan untuk mengonfigurasi layanan.

Chronos

Chronos adalah sistem seperti cron terdistribusi yang elastis dan mampu mengekspresikan ketergantungan antar pekerjaan.

Marathon

Marathon dipromosikan untuk platform as a service atau ke ribuan server fisik dan sepenuhnya berbasis REST dan memungkinkan untuk penyebaran topologi dan ditulis dalam bahasa pemrograman.

Pengguna

Situs jejaring sosial Twitter mulai menggunakan Mesos dan Apache Aurora pada 2010, setelah Hindman memberikan presentasi kepada sekelompok insinyur Twitter.
Airbnb mengatakan pada Juli 2013 bahwa ia menggunakan Mesos untuk menjalankan sistem pemrosesan data seperti Apache Hadoop dan Apache Spark. 
Situs Website eBay menyatakan pada bulan April 2014 bahwa ia menggunakan Mesos untuk menjalankan integrasi berkelanjutan berdasarkan basis per pengembang. Mereka melakukannya dengan menggunakan plugin Mesos khusus yang memungkinkan pengembang
untuk meluncurkan contoh Jenkins pribadi mereka sendiri 
Pada bulan April 2015, diumumkan bahwa layanan Apple Siri menggunakan framework Mesos sendiri yang disebut Jarvis.
Pada Agustus 2015, diumumkan bahwa Verizon memilih DC / OS Mesosphere, yang didasarkan pada open source Apache Mesos, untuk orkestrasi layanan data center. 
Pada November 2015, Yelp mengumumkan bahwa mereka telah menggunakan Mesos dan Marathon selama satu setengah tahun untuk produksi layanan.

Dukungan komersial

Startup perangkat lunak Mesosphere Inc menjual sistem operasi data center,
sistem operasi terdistribusi, berdasarkan Apache Mesos. Pada bulan September 2015, Microsoft mengumumkan kemitraan komersial dengan Mesosphere untuk membangun penjadwalan container scheduling dan orchestration services untuk Microsoft Azure. Pada Oktober 2015, Oracle mengumumkan dukungan untuk Mesos melalui
Layanan Oracle Container yaitu Cloud Container Cloud Service. 
Apache Mesos dibangun menggunakan prinsip yang sama dengan kernel Linux, hanya pada tingkat abstraksi yang berbeda. Mesos kernel berjalan di setiap mesin dan menyediakan aplikasi (mis., Hadoop, Spark, Kafka, Elasticsearch) dengan API untuk manajemen sumber daya dan penjadwalan di seluruh data center dan cloud environments.