NEWS ANALYSIS: 2017 was a transformational year for the open-source Kubernetes container orchestration project, which is now supported on all three major public cloud providers.
In 2017, there was one area of the cloud landscape that received more attention than nearly all others—Kubernetes.
Kubernetes’ roots go back to 2014, when Google publicly released the open source code for the project. But it was 2017 when Kubernetes’ popularity took off, with nearly every major IT vendor now backing the platform, even onetime rivals like Docker Inc.
Kubernetes is an open-source project that provides container orchestration, deployment and management capabilities. While Kubernetes started off as a Google project and Google still contributes more code than anyone, it has been a multi-stakeholder effort run by the Linux Foundation’s Cloud Native Computing Foundation (CNCF) since July 2015.
To understand why Kubernetes rose to such prominence in 2017 and why it will continue to be a force in 2018, it’s important to first realize where the technology fits into the cloud landscape.
Over the last three or four years, organizations have increasingly chosen to deploy cloud workloads using Docker containers. What the Docker container model provides is both a runtime for running containerized applications as well as a format for encapsulating and delivering applications in containers. Containers offer the promise of improved portability and efficiency over running applications directly inside of a virtual machine hypervisor.
As container adoption grows within an organization, there is a need to orchestrate, schedule and control clusters of containers. That’s where Kubernetes fits into the picture. Kubernetes provides the orchestration system and management plane for running containers at scale. It also provides a series of API abstractions that enable other technologies to plug in, making the platform very extensible, with the ability to support a wide array of different vendor deployment use cases.
Perhaps even more important than its core orchestration capabilities, Kubernetes has emerged over the course of 2017 to become the de facto platform that enables the multi-cloud world. While Amazon Web Services (AWS) continued to dominate the public cloud in 2017, organizations want choice and the ability to deploy and run applications on multiple cloud providers.
The container model provides the basic wrapper for running applications that can be deployed on any cloud that supports containers. With Kubernetes, there is a platform that can help organizations manage the deployment and orchestration of containers, on whatever cloud or on-premises deployment that is running Kubernetes.
Kubernetes in the Cloud
At the start of 2017, Kubernetes was only supported on the Google Cloud Platform (GCP) with the Google Kubernetes Engine (GKE), but over the course of the year, support expanded to include all three major public cloud vendors.
In February, Microsoft formally jumped on the Kubernetes bandwagon, announcing the general availability of Kubernetes support on the Azure Container Service. In November, Amazon announced its entry with the debut of the Amazon Elastic Container Service for Kubernetes (Amazon EKS).
Looking beyond just the public cloud support for Kubernetes, the CNCF in September announced the Kubernetes Certified Service Provider program. That program now has 25 partner firms that develop and sell their own Kubernetes distributions and provide managed services. To help ensure interoperability across different Kubernetes vendors and platforms, the CNCF launched the Certified Kubernetes Program in November 2017, which now has 42 member companies.
Kubernetes deployments mostly use Docker as the default container engine, though there are a few other options available, including CoreOS’ rkt. For its part, Docker has its own orchestration system called Swarm, which debuted in December 2014.
What was happening in many container deployments is the Docker container engine was being used, but instead of using Swarm, organizations chose to use Kubernetes. On Oct. 17, after three years of battling it out in the marketplace against Kubernetes, Docker Inc. made the surprise announcement that it too would be supporting Kubernetes.
To be clear, Docker Inc. is not abandoning its own Swarm container orchestration system; rather, it is supporting both Swarm and Kubernetes, giving organizations the option to choose which platform they want to use.
In a video interview with eWEEK, Docker CEO Steve Singh explained why his firm chose to embrace Kubernetes after years of rivalry. “What embracing Kubernetes does for us is it removes any potential confusion or any potential conflicts,” Singh said. “We have customers that love Kubernetes; we have customers that love [Docker] Swarm. My view is we shouldn’t force the customer to make a choice between one or the other—we should give them the choice to use whatever they want.”
Kubernetes 1.9 and Beyond
In 2017, Kubernetes was bolstered with four major releases that added new features and capabilities.
The first major release of 2017 was Kubernetes 1.6, which debuted on March 27, bringing new scalability and stability features. Kubernetes 1.7 was released on June 29, providing users with new features to help manage and secure container infrastructure. The third major release, the 1.8 update, debuted on Sept. 28 and included support for Role-Based Access Control (RBAC).
Kubernetes 1.9 was the final major update for 2017, becoming generally available on Dec. 15. The highlight of Kubernetes 1.9 is the Apps Workloads API, which provides a foundation for long-running stateless and stateful workloads in Kubernetes.
This was a transformational year for Kubernetes. The open-source effort started the year supported by only one major public cloud vendor and ended the year with support on all three major public cloud providers. The project also moved from being a rival of Docker to being embraced by Docker. Finally, the promise of multi-cloud has long been just that—a promise. But with the rise of Kubernetes in 2017 as an abstraction layer that can enable container application workloads on any public cloud provider, the multi-cloud promise can become a 2018 reality.