When the once-hot Mesos open source project had a recent brush with oblivion, veterans of the container orchestration wars may have paused at the news only to marvel that Mesos is still around at all. The triumph of Kubernetes (K8s) as the dominant container orchestration has long seemed inevitable, given its long gestation inside Google as Borg, the firepower of the Cloud Native Computing Foundation (CNCF), and its rapid adoption by companies at the forefront of IT modernization. Mesosphere, the company launched by project founders, ultimately adapted by embracing K8s, renaming its operation D2iQ, and announcing that the Mesos-based Datacenter Operating System (DC/OS) would no longer be supported as of October 2021.
Yet the Mesos story is worth a closer look for what it tells us about the transition to application modernization at scale — and the future of the data center amid the massive growth of public cloud computing.
Mesosphere was launched to turn what had been a graduate student paper to propose the open source Mesos into DC/OS, a commercial product. Published in 2011, the Mesos paper authors’ proposition was that the adoption of distributed cluster computing frameworks such as Hadoop was constrained by lack of scalability in efficiently providing data locality to those frameworks — “The main design question for Mesos is how to build a scalable and efficient system that supports a wide array of both current and future frameworks,” noting Mesos’ support for containers for isolation to improve performance.
Mesos was most famously embraced by Twitter, where engineers built what became Apache Aurora to provide scheduling at scale. Apple embraced Mesos as the back end for its Siri personal digital assistant. Meanwhile, Mesosphere incorporated the Marathon scheduler with Mesos as core elements of DC/OS to provide a full-fledged container orchestrator. Docker Swarm and Kubernetes launched in 2014 with similar objectives. The container orchestration wars were on.
DC/OS had what were perceived to be advantages, including ease of implementation and the ability to run noncontainerized workloads. But the growing demand for containerization at scale gave Kubernetes an edge, with its Google-based predecessors having demonstrated the ability to scale containers at massive scale. If early K8s releases seemed incomplete relative to DC/OS capabilities, the CNCF provided a launching pad for startups and big players alike to fill in the blanks.
The Kubernetes juggernaut would inevitably be tough for DC/OS to compete with, even with Mesosphere’s notable customers like Twitter and notable venture capital backing that totaled nearly $250 million by 2018. But DC/OS’s downfall wasn’t due simply to Google’s clout. Mesos was written in the C++ programming language, making it more difficult for open source contributions relative to the Go language used by Kubernetes. If Kubernetes had gaps relative to DC/OS, the open source community mobilized to fill them.
By early 2017, Forrester documented Mesos’ track record but noted that Kubernetes had three times as many open source contributors as Mesos, concluding that “[a] more active ecosystem might give you a better chance to address critical business issues,” which, of course, is exactly what happened. The original Mesos paper’s authors had set a goal of being adaptable for future workloads. Kubernetes did it better.
But has Kubernetes really become what Mesosphere intended to create — a data center operating system? Not yet. While the open source community around the CNCF plunges ahead on multiple fronts, Kubernetes remains difficult to consume for most enterprise-class organizations. A DIY approach with CNCF projects may be the best course for highly specialized organizations with considerable engineering resources — CERN, of subatomic particle research fame, comes to mind.
For most enterprises and public sector organizations, K8s is more likely to be consumed via some form of managed Kubernetes service from the hyperscalers or a Kubernetes-based platform such as OpenShift, Anthos, Tanzu, or Platform9, whether on-premises or the cloud. Public cloud K8s services (i.e., EKS, AKS, GKE) and industry-specific clouds — such as IBM’s financial services offering — are likely to play a role in mainstreaming Kubernetes consumption.
So for most users, Kubernetes won’t become a data center operating system but a component of the stack that’s isolated from application developers and managed by operators through another layer of abstraction tied to particular providers. Thus the orchestration wars of yesterday have given way to a new battle to lead K8s enablement — how to best deploy container orchestration in the public cloud, on-premises, and the edge. Notably, D2iQ has plunged into that space to take on bigger rivals.
The Mesosphere experience validated the possibility of applications at scale and how real or perceived limitations and a lack of flexibility drive users toward a more flexible solution. Today’s competitors will have to balance user interest in embracing Kubernetes today while keeping their options open.