How the Community Reacted to the Introduction of Kubernetes¶
What Kubernetes is, has always been a complex question to those unfamiliar with cloud computing. Even some cloud engineers consider the concept of Kubernetes beyond their mental reach. Yet, the introduction of Kubernetes, or K8s as it is called, has left an imprint in the cloud computing sphere.
However, when the idea came up, Kubernetes wasn't embraced with open hands. The management at Google considered the idea unprofitable, so it did bother to pursue the proposal of its engineers. Why? One word, Open-Source.
To learn more about Kubernetes, open-source, and Google's final assessment of the idea, we must first go back in time before K8s creation, right to when the term open source was first used.
The Genesis of Kubernetes¶
Kubernetes: A mere idea¶
Kubernetes began when a group of engineers at Google came up with an idea to create a Borg-like system that applies to the cloud. At that time, the pending question was, should the orchestration system be designed as a mere software like the BORG, or should it be open-sourced? The question was answered.
The idea amongst Joe Beda, Brendan Burns, and Craig McLuckie was how to make the orchestration system like an open-source project. "What if it was not just available on Google? What if it was available everywhere for everyone to contribute, view, modify and share?".
K8s, conceived as open-source, was meant to allow public access – anybody can use and make modifications. Various engineers brought their vision, what they wanted to do, and how they wanted the project to work. The mere idea began to grow, ascending from the world of abstraction into the world of 'this is happening.'
Kubernetes: Internal Setback¶
The plan went on for days and months, but before it could finally kick-off, it needed what every company needs – approval. But unfortunately, the company did not buy the project idea as open-source.
When the team of engineers went to the management with their idea, the direction turned them down. Not because the idea was ludicrous, but because they felt it wouldn't yield any advantage to Google because it was open source.
But the engineers kept on pushing, even though the bureaucracy at Google made it very difficult for these engineers to execute any definite plan. The clock kept ticking, and the plan seemed never to be realized. At that point, the engineers looked to have given up hope because it seemed that the management at Google wouldn't be okay with it.
Kubernetes: The Breakthrough¶
Hope is like a candle lit in the dark. In every spectrum of darkness, there is always room for light, no matter how subdued it might be. So they planned a meeting with one of the top executives at Google, Urs Hölzle. Urs had initially rejected the proposal, but the strongwilled engineers made one last push.
To the amazement of the engineers spearheaded by Burns during the meeting, Google accepted Kubernetes as an open-source version of Borg. To aid the engineers, the management assigned more people to the project to aid the engineers to ensure its early release. Suddenly, there was this wave of excitement filled the air at Google.
Kubernetes Conquers the IT World¶
Kubernetes, an open-source tool¶
Kubernetes is defined as an open-source framework designed for the automation, deployment, scaling, and organization of containerized applications. But what does open-source mean?
Open-source was first coined in the late 20th century by Christine Peterson in the context of software development to describe a specific approach to programming. Because its design is publicly accessible, the term open source refers to something that others can view, modify and share.
Currently, "open-source" refers to a broader set of ideals, which we refer to as "the open-source technique or strategy." The ideals of open exchange, collaborative involvement, quick prototyping, transparency, meritocracy, and community-oriented development are all embraced and celebrated by open source projects, products, and initiatives.
On the other hand, open-source software has the source code available for anyone to examine, edit, and improve. It is not restricted, thereby having its property right attached to a single company. It is "Free for all."
The code that computer programmers can update to change how a piece of software—a "program" or "application"—works are never seen by most computer users. Programmers with access to a computer software's source code can improve it by adding new features or addressing portions that don't always perform properly. This is a technical implication when you say software is open source.
Now we know everything about the word open-source, let's focus on the annals of Kubernetes – how an idea revolutionized cloud computing and how its community first perceived it.
Kubernetes: Its Release and Contributors¶
K8s was initially released on the 7th day of June 2014. And its first external contributor was RedHat. Later on, Microsoft, IBM, and Docker joined the community. There was this massive surge about Kubernetes and what it could achieve. It was the real deal.
Kubernetes v1.0 was released in 2015, a year after its original release. Along with the release, Google formed the Cloud Native Computing Foundation alongside the Linux Foundation (CNCF). The goal of the CNFC is to create long-term ecosystems and nurture a community around a collection of high-quality projects that orchestrate containers as part of a microservices architecture.
The first community Kubernetes conference was held in San Francisco that same year. Its mission was to provide professional technical discussions that would inspire innovation and promote Kubernetes education.
Helm, Kubernetes' package management, was released in 2016, bringing Kubernetes into the spotlight. That same year, KubeCon EU 2016 was held. It was the first European Kubernetes conference, with roughly 500 attendees, following the American premiere in November 2015.
Kubernetes' growth saw massive and positively unexpected turns, with the number of contributors and changes increasing over time. As a result, additional versions were released to improve scaling, application deployment, and cluster administration.
Following its massive expansion and worldwide acceptance, Kubernetes 1.4 (an update that succeeded versions of 1.0, 1.1, 1.2, and 1.3) introduced a new tool, kubeadm, to aid in improving Kubernetes' installability. For stateful applications, this release simplifies setup and provides Helm integration.
Kubernetes: Who owns it?¶
In 2015, Google surrendered its rights over Kubernetes to CNCF. As a result, Kubernetes was accepted as a seed technology by the Cloud Native Computing Foundation (CNCF). The CNCF was absorbed into the Linux Foundation as a sub-foundation.
Since then, Google has been a significant supporter of the CNCF, providing it with $3 million per year. As a result, the CNCF has experienced remarkable growth in membership and new projects. The CNCF currently has 656 corporate members. This has helped the development of Kubernetes and has caused a paradigm shift in DevOps.
How Kubernetes Caused a Paradigm Shift in DevOps¶
Is Kubernetes DevOps has been a major question that has been asked for a while. Although they are unrelated as Kubernetes deals with Cloud operations, what connects Kubernetes and DevOps is the function of K8s as an enabler for DevOps.
Some businesses are even wondering if Kubernetes would impact DevOps, namely the tools used to standardize and automate setups due to their widespread use. Well, there are several reasons to believe that containers and Kubernetes are changing how DevOps is implemented in enterprises. They include:
-
Complication-reduced deployment, thereby reducing the workload automation in DevOps.
-
Both Kubernetes and containers use pooled resources to simplify the deployment of applications.
-
As a final point, DevOps is designed to make the transition from development to operations as seamless as possible. According to reports from operations-focused enterprises, DevOps technologies are aimed at the development stream. Kubernetes is viewed in this situation as being operation-centric, which has contributed to DevOps' primary goal.
In conclusion, Kubernetes has transformed the operations in cloud computing, making it easy and very effective for cloud engineers to compute instructions and ensure that these instructions are carried out without consistent monitoring.
And although most are curious as to the question: will Kubernetes die? The very fact it was adopted as an open-source project makes such a question have one answer: At some point, it will, like any other technology, but the fact that Kubernetes is used so broadly, and is open-source shows that it still has a lot of beautiful days in front of it.