
Last week, Kubernetes celebrated its 4th anniversary: the
first commit in its public codebase was held on June 6, 2014. On this occasion, one of its founders, Joe Beda,
shared on the project blog his memories of how it all began.
First commit
And it all started, as you know, much earlier - with “ideas that have been tested by Google’s experience over 10 years with Borg” - a system that, in turn, “owes its existence to even earlier work on Google and beyond”. Here is how Joe describes the origins of Kubernetes that preceded the first commit:
Specifically, Kubernetes began with prototypes from Brendan Burns and my ongoing work, Craig McLuckie, to align Google’s internal work with Google Cloud. Together with Brendan and Craig, we wanted people to take advantage of our work, so we decided to create a prototype in the form of an open source project that would open up the best ideas from Borg to the world.
Joe Beda, Craig McLuckie and Brendan Burns (from left to right) - original authors Kubernetes - in a panel discussion about the history of the project ( video 2018)We received the go-ahead and started creating the system itself. Taking Brendan's prototype (in Java), we rewrote it on Go and collected only the necessary minimum, which allows us to show the main ideas. By this time, our team has grown - it has been replenished with Ville Aikas, Tim Hockin, Brian Grant, Dawn Chen and Daniel Smith. Having received something working, we needed a person who would restore order, preparing everything for a public launch. I became this person. Not realizing the importance of the moment, I created a new repository, put the developments there and committed them. Despite the fact that I own the first public commit in the repository, a lot of work has been done up to this point.

Joe Beda started his career at Microsoft (1997), went from there to Google (2004), and then was an adviser at CoreOS (2015) and created his own company Heptio (2016)But the first Kubernetes developments were very raw:
The Kubernetes version of the time was only a shadow of what the project would be. The basic concepts were present, but were in a very raw form. For example, pods were called tasks. We changed it literally the day before the public commit. [..] However, despite this dampness, even such a start was enough to arouse the interest of the community, which quickly rallied, and with time only became stronger.
The obvious reason for the subsequent surge in popularity of the Kubernetes is that the industry as a whole has come to the same problems and did not have enough suitable solutions. Joe
echoes Craig:
We have long thought about how to make the launch of applications in production more progressive, “orchestrated”. Just based on our experience with Google Compute Engine, we have seen from the front row the problems that companies face when transferring workloads to the clouds. [..]
If you look at the story, we decided to open the Kubernetes code and make it a community-oriented project much earlier than recommended by the usual course of thought, and really focused on creating a community that will be open and involved. And it really paid off: the development of Kubernetes accelerated and it quickly became the standard for container orchestration.
First announcement
Kubernetes public announcement took place a few days after the first commit - June 10, 2014 at the first DockerCon conference. This was done by Eric Brewer, Google’s vice president of infrastructure, at the Robust Containers report (
video ,
presentation ) with the following words:
Today we release the code Kubernetes. This is another orchestration system ... [..] I will not demonstrate it, because I have only 25 minutes to report. Later today, Craig and Brendan will do it. [..] The reason we are publishing Kubernetes as an Open Source project is because of the ideas [which we want to share with the community].
... and a short story about the basic architecture of Kubernetes and the key concepts of the new project:
labels for pods (the term
pod has already been used by Google to refer to container groups),
replica set (“group of pods with identical labels”),
service (“replica set with load balancing "), The
reconciler model (" conciliator model "; the key idea of this approach is to declare the desired state, so that the system will automatically monitor its compliance in the future).
Kubernetes announcement at the DockerCon'14 conferenceProject Values
What happened next with Kubernetes, we know firsthand ... Summing up the 4th anniversary, Joe notes that “the success of the project was largely due not only to code and technology, but to how a wonderful group of people got together to do something special. " And the best illustration is provided by the values of the Kubernetes community, which are presented in
the project repository :
- Distribution is better than centralization . The scale that Kubernetes has achieved is only possible due to the open and confidential distribution of powers to manage, make decisions, architecture, ownership of code, documentation.
- Community above product or company . Commitment to the development of the project in the interests of all its participants and users. This manifests itself in public collaboration (both individual enthusiasts and companies) aimed at achieving common goals.
- Automation is above the process . “Heroism is not viable,” so routine work should be as automated as possible, and where this is impossible, it is appreciated.
- Absorb is better than exclude . The broad success of technology requires attitudes from different angles and a large number of skills that must be met in a friendly and respectful atmosphere.
- Evolution is better than stagnation . The culture of the Kubernetes project is based on continuous improvement, servant leadership (“leader-servant” approach), mentoring and respect. The responsibilities of the project leaders include finding and sponsoring new members of the community who should be able to join, while the leaders themselves should be ready to leave at the same time.
The well-known quote by Peter Drucker summarizes the project: “Culture eats a strategy for breakfast.”
PS
Read also in our blog: