Today Google announced Mesosphere's participation in the Kubernetes community, alongside companies like IBM, Red Hat and Microsoft. Mesosphere has announced Kubernetes on Mesos, an open source project to fully integrate Kubernetes with Mesosphere's stack. Kubernetes is Google's open source tool for orchestrating "pods" (groups) of Docker containers. Kubernetes on Mesos will be a production-grade implementation of Kubernetes as a Mesos framework, letting organizations orchestrate Docker containers on Mesos at scale in any datatcenter or on any public cloud.
Kubernetes on Mesos
At Mesosphere, we believe the industry will quickly adopt Kubernetes on Mesos as a de facto standard for building applications out of "pods" (groups of tasks behind a load-balancer, connected through a service discovery mechanism). Kubernetes on Mesos will complement and run alongside the already rich list of native Mesos frameworks that include Marathon, Spark, Hadoop, Chronos and others. Kubernetes on Mesos will be a highly-available, fault-tolerant, resource-efficient way to run Kubernetes. It will run on Mesosphere's stack on any cloud or private datacenter, and it will provide true commercial workload portability—you can easily move apps and workloads between clouds and datacenters with no code changes.
Our commitment to fully integrate Kubernetes into Mesosphere's stack is well underway. We believe that Kubernetes on Mesos will marshall in a new age of app development. It will give any company an easy way to adopt the Google-style scale-out model of building apps, as well as provide for improved developer workflow and resource optimization. Mesos will become a platform of choice for companies running Kubernetes apps in production, and will become an on ramp to building more sophisticated distributed applications. By open-sourcing Kubernetes and building a rich community around it, Google is setting the stage for mass adoption.
A Dawn of a New Container
Docker helped take containers out of the rocket-science labs and made them accessible to everybody, putting a user-friendly wrapper around them. Making containers easy to approach has been a huge accelerant. Docker gives you an easy way to package an app, which you can then hand off to Kubernetes or Marathon on Mesos to run it at scale.
Containers are one of the key enabling technologies behind Mesos. Container technology was introduced into the Linux kernel in 2006 under the name "process containers" (later renamed Cgroups). Cgroups allows fine-grained resource partitioning and isolation among competing processes running on the same machine. You can think of it as lightweight virtualization. For many years, containers flew under the radar—used in the rarefied air of the Googles and Twitters of the world.
Kubernetes on Mesos signals a massive change in the industry. We're seeing developers and IT operations increasingly embrace containers as the best way to package applications in the datacenter and the cloud. We see this as a shift in the computing landscape that rivals the rise of virtual machine (VM) technology in the datacenter starting some 15 years ago.
But there is a bigger trend driving the popularization of containers, and it is a tsunami that will change the entire fabric of our compute infrastructure.
The Big Trend Driving Containerization
The big trend driving containerization is a fundamental shift in the way apps are built. Today's apps need to ingest big data. They need to connect to millions of devices. They need to scale out, elastically, in real time to handle surges in usage. They need to be highly automated, with no human operators. And they need to be fault tolerant and self-healing, so that zero downtime is the new normal. In this world, the old way of doing things simply—building ever bigger monolithic apps that run on ever bigger machines—simply does not work.
Building apps today means building them like Google does—or like Twitter, Facebook, and Airbnb for that matter. As the early pioneers of the "always on, always connected" world, these companies had to invent new ways to build apps. An "app" at one of these companies is not a single "binary" running on a giant server; it's comprised of dozens (or hundreds or even thousands) of composable services running on fleets of servers, distributed across entire datacenters and clouds.
Building an app out of many composable services, distributed across just as many machines in a cloud or datacenter—stitched together using technologies like Mesos—is how apps are being built today. If you are not yet building apps like this, you will be. This is the new way to build apps. This is the new way to deploy apps. And this is what is truly driving the container revolution.
The community of big name backers standing behind Kubernetes shows that containers are enterprise-ready. Kubernetes on Mesos shows us the compelling vision for how applications are packaged up, deployed, and managed across compute environments. For enterprise computing, Google's experience delivering cloud services at scale is compelling validation that containers are the best path to "true cloud" portability and workload liberation whether you're operating on-premise, or in a public or hybrid cloud.
Kubernetes on Mesos will accelerate the historic shift in the datacenter, delivering the technology of choice for distributed applications, and Mesosphere will be the company that helps make this happen.