# Mesos Cluster

The **INDIGO-DataCloud PaaS** relies on [Apache Mesos](http://mesos.apache.org/) for:

* managed service deployment&#x20;
* user applications execution

The instantiation of the high-available Mesos cluster is managed by the INDIGO [*Orchestrator*](https://www.gitbook.com/book/indigo-dc/orchestrator/details) in a fully automated way as soon as a user request described by a TOSCA template is submitted. Once the cluster is up and running, it can be re-used for successive requests.

**Mesos** is able to manage cluster resources (cpu, mem) providing isolation and sharing across distributed applications (frameworks)

[**Marathon**](https://mesosphere.github.io/marathon/) and [**Chronos**](https://mesos.github.io/chronos/) are two powerful frameworks that can be deployed on top of a Mesos Cluster.

Sophisticated two-level scheduling and efficient resource isolation are the key-features of the Mesos middleware that are exploited in the INDIGO PaaS, in order to run different workloads (long-running services, batch jobs, etc) on the same resources while preserving isolation and prioritizing their execution.

**INDIGO** *PaaS* uses:

* Marathon to deploy, monitor and scale *Long-Running services*, ensuring that they are always up and running.
* Chronos to run *user applications* (jobs), taking care of fetching input data, handling dependencies among jobs, rescheduling&#x20;

  failed jobs.

### Summary:

* [Release Notes](#id1)
  * [What's new](#id2)
  * [Supported platforms](#id3)
  * [Deployment Notes](https://github.com/indigo-dc/indigo-datacloud-releases/tree/23e3ac652361e53b94532886bd37d707e297ab05/indigo2/id4/README.md)
  * [Artifacts](https://github.com/indigo-dc/indigo-datacloud-releases/tree/23e3ac652361e53b94532886bd37d707e297ab05/indigo2/id5/README.md)
  * [Documentation](https://github.com/indigo-dc/indigo-datacloud-releases/tree/23e3ac652361e53b94532886bd37d707e297ab05/indigo2/id6/README.md)
  * [Support](#id8)

### Release Notes

### What's New

* Support for Ubuntu 16.04
* Mesos upgraded to 1.1.0
* Marathon upgraded to 1.4.1
* Chronos upgraded to 3.0.2
* marathon-consul, mesos-consul, haproxy-consul replaced with marathon-lb
* Support for persistent storage (using rex-ray driver)
* New TOSCA templates for Mesos Cluster:
  * added cluster elasticity
  * deployment on AWS&#x20;

### The supported platforms\*

Operating System: Ubuntu 14.04, CentOS 7, Ubuntu 16.04 Cloud Management Frameworks - any

### Deployment Notes

* Mesos Clusters can be automatically deployed using the available TOSCA templates. The deployment is performed through ansible recipes

### Artifacts

* List of the affected packages and/or containers:\*
* Updated ansible roles:
  * [indigo-dc.zookeeper](https://github.com/indigo-dc/ansible-role-zookeeper)
  * [indigo-dc.consul](https://github.com/indigo-dc/ansible-role-consul)
  * [indigo-dc.mesos](https://github.com/indigo-dc/ansible-role-mesos)
  * [indigo-dc.chronos](https://github.com/indigo-dc/ansible-role-chronos)
  * [indigo-dc.marathon](https://github.com/indigo-dc/ansible-role-marathon)
  * [indigo-dc.keepalived](https://github.com/indigo-dc/ansible-role-keepalived)
* New ansible roles:
  * **indigo-dc.marathon-lb]\(**[**https://github.com/indigo-dc/ansible-role-marathon-lb**](https://github.com/indigo-dc/ansible-role-marathon-lb)**)**
* Deprecated ansible roles:
  * indigo-dc.haproxy-consul
* Updated docker images:
  * [indigodatacloud/mesos-master:1.1.0](https://hub.docker.com/r/indigodatacloud/mesos-master/tags/)
  * [indigodatacloud/marathon:1.4.1](https://hub.docker.com/r/indigodatacloud/marathon/tags/)
  * [indigodatacloud/chronos:3.0.2](https://hub.docker.com/r/indigodatacloud/chronos/tags/)

### Documentation

* Link to the GitBook documentation: <https://www.gitbook.com/book/indigo-dc/mesos-cluster/details>

### Support

* Please use the \[INDIGO - DataCloud CatchAll GGUS Support Unit]\(

  <https://wiki.egi.eu/wiki/GGUS:INDIGO_DataCloud_Catch-all_FAQ>)
