What is Mesosphere
The mesosphere is a software solution that grows upon the cluster management capabilities of Apache Mesos with added components to provide a new and unique way to manage server infrastructures. By combining several components with Mesos, such as Marathon and Chronos, Mesosphere endows a way to easily scale applications by abstracting many of the challenges associated with scaling.
Mesosphere also provides features such as application scheduling, scaling, and fault-tolerance. It also provides application service discovery, port unification, and end-point elasticity.
To give you a better idea on how Mesosphere provides the features, in this article we have explained briefly that, what is Mesosphere, starting with Apache Mesos, its key components, and architecture.
AN OVERVIEW OF APACHE MESOS
Apache Mesos is an open source cluster manager that facilitates running applications on a scalable cluster of servers.
Mesos offers many of the features that you would expect from a cluster manager, such as:
- Scalability to over 10,000 nodes.
- Resource segregation for tasks through Linux Containers.
- Effective CPU and memory-aware resource scheduling.
- Web UI for monitoring cluster state.
ARCHITECTURE OF MESOS
Mesos consists of an architecture that is composed of master and slave daemons and frameworks. Here are some quick malfunctions of these components, and some relevant terms:
Master daemon: Runs on a master node and manages slave daemons.
Slave daemon: Runs on a master node and runs the tasks that belongs to frameworks.
Framework: It is also known as a Mesos application, is composed of a scheduler, which registers with the master to receive resource offers, and one or more executors, which dispatches the tasks on slaves.
Offer : It consists of a list of slave node’s available in CPU and memory resources. All slave nodes send offers to the master, and the master provides offers to the registered frameworks.
Task: A unit of work that is scheduled by a framework, and is executed on a slave node. A task can be anything from a bash command or script to an SQL query, to a Hadoop task.
Apache ZooKeeper: It is a software that is used to coordinate the master nodes.
AN OVERVIEW OF MARATHON
Marathon is a framework for Mesos which is designed to launch long-running applications, in Mesosphere and serves as a replacement for a traditional init system. It consists of many features that simplifies running applications in a clustered environment, such as high-availability, node constraints, application health checks, service discovery, and an easy to use web user interface. It also adds its scaling and self-healing capabilities to the Mesosphere feature set.
Marathon can also be used to start other Mesos frameworks, and it can launch any process that can be started in the regular shell. As it is designed for long-running applications, it will safeguard the applications it has launched and will continue running, even if the slave node(s) which are running fails.
AN OVERVIEW OF CHRONOS
Chronos is a framework for Mesos that was originally developed by Airbnb as a replacement for cron. Chronos is a fully-featured, distributed, and fault-tolerant scheduler for Mesos, which alleviates the orchestration of jobs, which are the collection of tasks. It also includes an API that allows for scripting of scheduling jobs and a web UI for ease of use.
In Mesosphere, Chronos compliments Marathon as it provides another way to run applications, according to a schedule or other conditions, for the completion of another job. It is also capable of scheduling jobs on multiple Mesos slave nodes and provides a clear statistics of job failures and successes.
Mesosphere employs server infrastructure paradigms that may seem unaccustomed, as it was designed with a keen focus on clustering and scalability, but hopefully you now have a good understanding of how it works. Each of these components is based on the solutions to issues that are commonly faced while dealing with clustering and scaling a server infrastructure, and Mesosphere aims to provide a complete solution to these needs.