Over the past year, Kubernetes has become the de facto standard for managing and orchestrating Docker containers. To find out why, I asked its creators Craig McLuckie and Joe Beda—cofounders of the startup Heptio and former Google colleagues—to explain Kubernetes’s value to the enterprise.
As Joe Beda describes Kubernetes, it builds on container portability to enable orchestration of many services in many containers. “With Kubernetes, instead of saying I want to run this program on this particular machine, or particular server or VM, you can say, ‘Find me the right place to do that,’” says Beda. “Now you can go from deploying one of something to deploying ten or 100 instances across a whole set of machines. It starts enabling new workflows with how people develop, how they deploy, and how they operate software over the long term.”
McLuckie and Beda worked together on Google Compute Engine. As McLuckie explains it, they were looking to fill the gap between IaaS, which was too low-level, and PaaS, which was too high-level. To do that, they turned to Google’s own infrastructure for running Linux containers at massive scale and derived much of the functionality of the Kubernetes open source project from that.
At a high level, the cofounders see the benefits of Kubernetes to the enterprise as twofold:
- Developer velocity, whereby Kubernetes enables developers to be much more productive because they can now create and manage cloud-native applications with an ease that would have been impossible before. Instead of targeting a particular server or VM, you can allow Kubernetes to make that choice for you—and it can deploy hundreds of instances across a whole set of machines if needed.
- Data center efficiency, because container-based applications require a fraction of the resources demanded by an equivalent number running in virtual machines.
Kubernetes does have a reputation of being difficult to use. “The biggest challenges we face as a community are making it boring, settling it down, and getting it to the point where it’s ubiquitous,” says McLuckie, “and then creating a set of much simpler and more differentiated experiences on top of Kubernetes.” The endeavor is already well under way.