Three years ago the community celebrated the first production-ready release of Kubernetes, what is now a de facto standard system for container orchestration, at the 1.0 launch day at OSCON. Today we celebrate Kubernetes to not only acknowledge it on the project’s birthday but to also thank the community for the extensive work and collaboration to drive the project forward.
Let’s look back at what has made this one of the fastest moving modern open source projects, how we arrived at production maturity, and look forward to what’s to come.
Kubernetes: A look back
You’ve probably heard by now that Kubernetes was a project born at Google and based on the company’s internal infrastructure known as Borg. Early on, Google introduced the project to Red Hat and asked us to participate in it and help build out the community. In 2014, Kubernetes saw its first alpha release by a team of engineers who sought to simplify systems orchestration and management by decoupling applications and infrastructure and by also decoupling applications from their own components.
At the same time, enterprises around the world were increasingly faced with the pressure to innovate more quickly and bring new, differentiated applications to bear in crowded marketplaces. Industry interest began to consolidate around Kubernetes, thanks to its capacity for supporting rapid, iterative software development and the development of applications that could enable change across environments, from on-premise to the public cloud.
Before Kubernetes, the IT world attempted to address these enterprise needs with traditional Platform-as-a-Service (PaaS) offerings, but frequently these solutions were too opinionated in terms of the types of applications that you could run on them and how those applications were built and deployed. Kubernetes provided a much more un-opinionated, open platform, that enabled customers to deploy a broader range of applications with greater flexibility, and as a result, Kubernetes has been used as a core building block for both Containers-as-a-Service (CaaS) and PaaS-based platforms.
In July 2015, Kubernetes 1.0 was released and the Cloud Native Computing Foundation (CNCF) was born, a vendor-neutral governing body intended to host Kubernetes and related ecosystem projects. Red Hat was a founding member at the CNCF’s launch and we are pleased to see its growth. We also continue to support and contribute to the Kubernetes upstream, much as we did even pre-CNCF, and are excited to be a part of these critical milestones.
Dive in more with this explainer from Brendan Burns, a creator of Kubernetes, from CoreOS Fest in 2015 for a brief technical picture of Kubernetes.
Kubernetes as the new Linux of the Cloud
So what makes Kubernetes so popular?
It is the demand for organizations to move to hybrid cloud and multi-cloud infrastructure. It is the demand for applications paired with the need to support cloud-native and traditional applications on the same platform. It is the desire to manage distributed systems with containerized software and a microservices infrastructure. It is the need for developers and administrators to focus on innovation rather than just keeping the lights on.
Kubernetes has many of the answers to address these demands. The project now provides the ability to self-heal when there is a problem, separate developer and operational concerns, and update itself in near real-time.
And, it’s all open source, which makes it available to all and enables contributors all around the world to better solve this next era of computing challenges together, in the open, unbeholden to siloed environments or proprietary platforms.
Pushing the project forward is the Kubernetes community, a diverse community with innovative ideas, discipline, maintenance, and a consensus-driven decision model. In more than 25 years of contributing to open source projects, ranging from the Linux kernel to OpenStack, we've seen few projects that can claim the velocity of Kubernetes. It is a testament to the project's contributors' ability to work collaboratively to solve a broad enterprise need that Kubernetes has moved so quickly from 1.0 to broad industry support in three years.
Kubernetes has won over the support of hundreds of individuals and companies, both large and small, including major cloud providers. Red Hat has been contributing to the project since it was open sourced in 2014, and today is the second leading corporate contributor (behind only Google) working on and contributing code to the project. Not to mention, we are the experts behind Red Hat OpenShift, the industry’s most comprehensive enterprise Kubernetes platform.
Kubernetes Major Milestones
Some major milestones over the years to note include contributions making it more extensible:
- September 2015: Kubernetes’s use of the Container Network Interface (CNI) has enabled a rich ecosystem of networking options since the early days of Kubernetes.
- December 2016: The addition of the Container Runtime Interface (CRI), the way containers start and stop, was a major step forward in Kubernetes 1.5 and on, and helped move towards OCI-compliant containers and tooling.
- January 2017: etcd v3, a backbone of large-scale distributed systems created by CoreOS and maintained at Red Hat, came into production in Kubernetes 1.6.
- June 2017: Custom resource definitions (CRD) were introduced to enable API extension by those outside the core platform.
- October 2017: The stability of role-based access control (RBAC), which lets admins control access to the Kubernetes API, made Kubernetes even more dependable with this security feature enterprises care about. It reached stable in Kubernetes 1.8 but had been widely used in the platform since 1.3.
- March 2018: How storage is provided and consumed has moved along well in three years with the availability of local persistent volumes (PVs) and dynamically provisioned PVs. Notably, at this time, the Container Storage Interface (CSI), which makes the Kubernetes volume plugin layer more extensible, moved to beta this year in Kubernetes 1.10.
- June 2018: Custom Resource Definition (CRD) versioning was introduced as beta in Kubernetes 1.11 and is a move toward lowering the barrier and making it easier for you to start building Operators.
Check out some other notable mentions from last year.
But what about the heroic parts of Kubernetes that may not get enough applause? Here are some honorable mentions from our team.
Kubernetes is built for workload diversity
“The scope of the workloads that can/could/will potentially be tackled needs some appreciation,” said Scott McCarty, principal technology product manager, Linux containers at Red Hat. “It's not just web workloads; it's much more than that. Kubernetes today solves the 80/20 rule. Imagine what other workloads could come to the project.”
Kubernetes is focused
“The fact that it is focused and is a low-level tool, similar to docker containers or the Linux kernel, is what makes it so broadly exciting. It's also what makes it not a solution by itself,” said Brian Gracely, director of OpenShift product strategy at Red Hat. “The fact that it's not a PaaS, and is built to be multi-cloud driven makes it widely usable.”
Kubernetes is extensible
“As Kubernetes matures, the project has shifted its attention to support a broad set of extension points that enable a vibrant ecosystem of solutions to build on top of the platform. Developers are able to extend the Kubernetes API, prove out the pattern, and contribute it back to the broader community,” said Derek Carr, senior principal software engineer and OpenShift architect at Red Hat, and Kubernetes Steering Committee member and SIG-Node co-lead.
Kubernetes is all about collaboration
“At three years old, Kubernetes is now proving itself as one of the most successful open source collaboration efforts since Linux. Having learned lessons from prior large scale, cross-community collaboration initiatives, such as OpenStack, the Kubernetes community has managed to leapfrog to a new level of effective governance that embraces diversity and an ethos of openness – all of which has driven incredible amounts of innovation into all aspects of the project,” said Diane Mueller, director, community development, Red Hat Cloud Platform.
The Next Frontier
Kubernetes is being used in production by many companies globally, with Red Hat OpenShift Container Platform providing a powerful choice for organizations looking to embrace Kubernetes for mission-critical roles, but we expect still more innovation to come.
A major innovation on the rise is the Operator Framework that helps manage Kubernetes native applications in an effective, automated, and scalable way. Follow the project here: https://github.com/operator-framework.