After years powering some of the world's most innovative and demanding applications, Apache Mesos has finally hit version 1.0. Mesos has always been mature beyond its versioning—the project would not power Apple's Siri, all of Twitter and our own DC/OS platform if it was not—but that doesn't diminish the significance of the 1.0 milestone. In fact, Mesos 1.0 includes some major new features that are sure to make it much more powerful and much more appealing.
Let's get right into it and look at some of the highlights:
- HTTP API: The new HTTP API for Mesos make it much simpler for developers to write new Mesos frameworks, because they can write frameworks in any languages that can speak HTTP (read "nearly every popular language"). Previously, developing Mesos frameworks meant dealing with the native Mesos drivers, which meant only using languages with C bindings. The HTTP API also makes it easy to run frameworks behind firewalls and inside containers.
- Unified containerizer: Say goodbye to the Docker daemon. The production-ready unified containerizer lets users run their choice of image format (including Docker) atop the Mesos runtime, using Mesos tooling. This provides macro benefits such as maturity and scalability improvements, and also operational ones. With the Mesos runtime, for example, you can upgrade the agent without restarting all containers launched by it.
- CNI support: A new network isolator has been added that implements the Container Network Interface (CNI) specification. With this feature Mesos can now allocate network namespaces to containers, allowing containers to attach to different types of IP networks. One use case for this support is the ability to have IP per container.
- GPU support: Support for managing GPU resources is also in beta and progressing nicely. This is hugely important priority for the Mesos community, especially as machine learning usage ramps up and users want to migrate those workloads to their Mesos clusters.
- Fine-grained Authorization: Authorization in Mesos was completely overhauled in this release to support fine-grained authorization of API resources. With fine-grained authorization, Mesos makes great strides toward becoming an enterprise grade multi-tenant platform.
- Mesos on Windows: Support for Mesos on Windows is currently in beta for launching basic processes, but is progressing nicely. Expect to see a fully functional Windows containers experience land in the third or fourth quarter of this year.
- Agents, not slaves: As promised during MesosCon 15, a large portion of the code base has been updated to refer to the "slave" component as "agent". Specifically, most of the user-visible components (website, documentation, HTTP API, webUI, etc.) have been updated. Renaming of internal components is a work in progress.
- API versioning and release policy: Gone are the days of new API versions showing up as black boxes or causing incompatibilities. API versioning in Mesos 1.0 lets users see what has changed between versions and ensures backward compatibility with previous versions. The formal release and support policy sets clear expectations for developers and operators.
For more information about Mesos 1.0, including a deeper breakdown of some key features, check out Vinod Kone's post on the Apache Mesos project site. For a complete list of new features, improvements and bug fixes, check out the changelog. You can also read the Apache Software Foundation press release announcing Mesos 1.0.
Nobody is happier about the release of Mesos 1.0 than the Mesosphere team. When we launched the open source DC/OS project in April, Mesos co-creator and Mesosphere co-founder Ben Hindman explained how DC/OS depends on Mesos as a kernel in order to provide the fundamental resource-management capabilities of DC/OS, as well as some of its advanced features. For example, Mesos primitives power DC/OS-specific features such as virtual networks, overlay networking and fine-grained authentication (coming soon 1.8).
Without a steadily improving Mesos, the development of DC/OS features around user experience, user interface, networking, security, container-orchestration and more would be in vain. That's why we're excited to help drive the next era of Mesos development. The DC/OS ecosystem is growing fast and exciting use cases are piling up—and Mesos makes it all possible.
To learn more about where Mesos came from and where the project is headed, watch Ben's MesosCon 2016 keynote below and read the original Mesos paper from UC-Berkeley. You can check out this Mesos 1.0 blog post from IBM.