It comes bearing gifts

The wait is over: Apache Mesos 1.0 — a bag full of surprises

Gabriela Motroc
Mesos 1.0

Brown packaging paper image via Shutterstock

Mesos 1.0 is out! According to the official announcement, the new HTTP APIs make it easy to write a new framework or develop a new tool with off-the-shelf HTTP libraries written in the language chosen by users. This release also includes unified containerizer support, Container Networking Interface support, GPU support, improvements in authentication and authorization and more.

Vinod Kone, engineer at Mesosphere, wrote in a blog post announcing the release of Mesos 1.0 that this milestone could have been reached “a long time ago,” but they chose to wait and develop new HTTP APIs to make the lives of both framework developers and cluster operators easier. Before the release of Mesos 1.0, there was “the driver-based Framework API used by schedulers and executors and the REST-based HTTP API used by operators and tools.” The problem was that just a few languages had bindings for the driver, which limited the languages that frameworks could be written in. Plus, both the client and the server had to open connections to one another in order to communicate, which meant that it wasn’t the easiest job for clients to run inside containers or behind firewalls.

These problems were solved once an RPC-based HTTP API was provided for both frameworks and operators. Now that the API client libraries can be written in any language that speaks HTTP, the sky is the limit when it comes to writing frameworks in new languages. Plus, you don’t need servers to open a connection back to the client to communicate with it. One of the most exciting parts about the HTTP API is experimental support for event streams, Kone claims. “Instead of continuously polling the heavy weight /state endpoint, clients (e.g, service discovery systems) can now get events streamed to them directly by the master.”

Mesos 1.0 in a nutshell

Mesos 1.0 offers unified containerizer support, which allows you to use just one container runtime engine, the MesosContainerizer to run containers off the most popular image formats (Docker, Appc, and soon OCI) without dependency on any external daemons. There is also the Container Networking Interface (CNI) support; each container now receives its own network namespace, which provides network isolation and allows users to work with containers as if they were running on bare metal or VM. 

This release contains experimental support for external storage to Mesos, thus getting rid of the limitations that existed before, such as the fact that the users could not easily use non-local storage volumes. Another problem was that operators had to manually handle data migrations for local persistent volumes. These problems have been solved thanks to the docker/volume isolator. 

Mesos 1.0 also comes with significant improvements in authentication and authorization, experimental support for running Mesos Agent on Windows and a custom GPU isolator which takes care of the details of allocating GPUs to your application and ensuring that they are isolated from other jobs running on the system. 

Gabriela Motroc
Gabriela Motroc was editor of and JAX Magazine. Before working at Software & Support Media Group, she studied International Communication Management at the Hague University of Applied Sciences.

Inline Feedbacks
View all comments