When my UC-Berkeley peers and I created Apache Mesos in 2009, we were trying to build a lean and flexible foundation for distributed systems of all different kinds: analytics, databases, file systems, web servers and more. To accomplish this we decided to architect Mesos similar to an operating system kernel, meaning that Mesos provides fundamental primitives (such as system calls) that higher-level software can leverage to gain functionality. We intentionally kept Mesos simple (that is, we did not put all the things into it) so it would be easier to scale, evolve and debug.
Furthermore, adding complexity and functionality to Mesos just didn’t make sense to us in the evolving world of microservices. Much like the microservices movement advocates for breaking up applications into smaller services that each do one thing and do it well, we wanted Mesos to follow more of a microkernel approach. That meant building only the near-minimum into Mesos, while providing the rest of the functionality—things like service discovery, load balancing (internal and external), user/service authentication and authorization, and command-line and user interfaces—via components that run alongside or on top of Mesos.
Mesos + these components == datacenter operating system.
While this remains a solid approach to keeping Mesos nimble, it also meant that each organization that was adopting Mesos had to build its own implementation of all these components. When my co-founders and I started Mesosphere in 2013, the plan that we set out to investors—and against which we are still executing today—was to build out the complete datacenter operating system (with Mesos at the core) so that future Mesos users don’t also have to reinvent and reimplement each of the necessary components themselves.
Today, I’m super excited to announce DC/OS, a 100 percent open source datacenter operating system, complete with a burgeoning open source community alongside it. I’m excited to help grow the open source project together with an ecosystem of partners and users that will help shape the components and functionality based on the needs of running a Mesos-based infrastructure platform in production. You can read more about DC/OS, and see a demo of it in action, in our blog post about the news.
DC/OS is the inevitable next step for a project like Mesos. Mesos is necessary but insufficient, and DC/OS is the best way to take advantage of Mesos while providing all of the other capabilities that organizations need to run their software. It is not DC/OS versus Mesos; DC/OS is the logical complement for Mesos. For example, while Mesos will continue to add and improve upon its OS-like primitives (for example, upcoming support for external storage volumes and a universal containerizer), DC/OS will continue to focus on complementary features such as service discovery, load balancing, privacy and ease of installation.
Mesosphere will continue its deep investment in the Apache Mesos project while growing the open source community around DC/OS. I personally will continue to be involved in Mesos while also working closely within the DC/OS community. I am looking forward to seeing the Mesos community and the DC/OS community work with and benefit from one another in the same way that the Linux kernel community works with and benefits from Linux distributions like CentOS, Ubuntu and Debian.
I can’t wait to see what we build together!