{ Zero to Helm } — Part One: History

A “Brief” History of Kubernetes

If you are interested in following my series on all-things Kubernetes, consider subscribing to my weekly mailing list.

Welcome to the first entry of the { Zero to Helm } series! On this weeks byte, we will be going over a brief recap of some of the greatest moments Kubernetes has had from the past two decades. Yes, you read that right — the origins of Kubernetes stems back as far as the year 2003 with a system known as Borg! But don’t fret, we will make sure to keep you up to speed with some recent history too and maybe some insight into what might come next!

2003 — The Early Days of Cluster Management

Photo by Maryna Bohucharska on Unsplash

Back in 2003, Google had introduced a new cluster management tool called Borg. Now, don’t worry, we aren’t talking about these kind of Borgs from Star Trek (although I wouldn’t put it past them to use it as a pun). Borg was a privatized tool that only Google had used to manage the kinds of things we use Kubernetes for today.

During these early days, Borg was used for everything from running websites, stateful servers, and even complete application infrastructures like BigTable, and MapReduce. Although Google had Borg, other cluster-management tools did eventually exist for others to use. Some of these were Apache Mesos, Microsoft Cluster Server, IBM’s Tivoli System, and eventually Docker Swarm. Despite the massive adoption’s these other tools had, Borg still had a certain finesse to it that other’s did not possess. Some of those aspects still exist to this day in Kubernetes. Ideas such as Pods, Services, and Labels still remain some of the most core functional components of any Kubernetes cluster.

Highlights

  • 2003: Borg is born

2014 — The Birth of Kubernetes

Photo by Natalia Y on Unsplash

Fast-forward a decade and Google introduced its open-sourced version of Borg on Github, and thus Kubernetes was born. It’s founding fathers were Joe Beda, Brendan Burns, and Craig McLuckie — some of the brightest minds that built Google’s Cloud Computing Services. The name is a bit of a nod to the Borg name. Internally, Kubernetes was code-named as Project 7; a nod to an ex-borg character from Star-Trek. The logo (with seven spokes) was also a nod to it’s former codename and predecessor.

At the time, Github was (and still-is) a staple in any project as a well known source for famous open-source projects like React, Typescript, and even Linux. It was only natural that Google would do the same as they have with other projects (i.e. Angular), and early adoption was quick!

It didn’t take very long until other tech giants joined suit in support for this new endeavor; e.x. Microsoft & IBM.

Highlights

  • 2014: Kubernetes is born (Codename: Project 7)
  • Originally written in C++
  • Eventually rewritten using Go

2015–2017 — Road towards a Stable “Foundation”

Photo by Brett Jordan on Unsplash

The early days of Kubernetes were a bit rocky. As with any new open-sourced project, the eyes of scrutiny were placed tightly on Kubernetes now that the world could contribute on Github. It wasn’t until mid-2015 that the first major release of Kubernetes was seen. This major release also formed a launchpad for its explosive adoption. Any first major release of an open-source project is a cornerstone for success and a cause for celebration!

In junction with the 1.0 release, Google doubled down on it’s commitment to the open-source community by collaborating with the Linux Foundation to form a new foundation entirely focused on the key tenants of Kubernetes; containerization & microservice architecture. That organization is the Cloud Native Computing Foundation (CNCF).

Over the next two years, Kubernetes (in tandem with the foundation) had moments of massive global growth as others aimed to capitalize on it’s promise. This is when we saw the birth of tools like Helm (package management on k8s), Minikube (local k8s), and Kops (production k8s). We even saw companies like Pokemon GO! share their own success story. All of this brought about a growing sense of confidence that Kubernetes was bound to become a staple in every office’s long-term plan for cloud infrastructure.

By March 2017, Kubernetes 1.6 was released and marked by Google as a stabilization of the platform. From this point onward, the world felt much safer with switching over and running their own Kubernetes setups in production. Soon after, companies like Github announced their own case study on how they made the switch to Kubernetes in production.

Even other cloud platforms like Amazon & Microsoft announced new service offerings for Kubernetes in the cloud. It didn’t take long for anyone to see that adoption should be much higher on their backlog of upcoming projects.

Highlights:

  • 2015: Kubernetes v1.0
  • 2015: Google/Amazon/Microsoft offer Kubernetes in the cloud
  • Linux + Google open the CNCF
  • All future releases of Kubernetes is managed by the CNCF
  • Kubecon begins as the official Kubernetes conference
  • CNCF offers incubation program
  • Kubernetes is the first to graduate from incubation

2017–2021: “Community-driven-Growth”

Photo by William White on Unsplash

As we fast forward through the next couple of years, Kubernetes adoption was loud & wild. FOMO energies spiked, and every R&D department in the world had at least one person singing it’s song. Everything from Serverless (i.e. Knative) to Stateful architectures were being redesigned for this new world. International forums like Kubecon (an annual conference managed by the CNCF about K8s) provided a meeting ground for local-communities to share & engage with one another on their own successes/failures, and made it easy for newcomers to feel welcomed to this new world of Kubernetes.

In addition to all of this community engagement, the CNCF also formed an incubation program for up & coming cloud-based projects. This program served as a kind of launchpad for exciting new projects that could further empower existing Kubernetes users. This program became a recipe for boosting the return on early adopter investment as they were the one’s who were able to capitalize on projects that graduate from the program. One example of this was the birth of AWS App Mesh & it’s use of the CNCF graduated project — Envoy Proxy.

Altogether, both the forums & incubation program formed a recipe for success! From here on out, it has become a matter of keeping the community engaged & informed while also going back to Github for open-source contributions. Kubernetes is definitively the king of the market today for cluster management. All major cloud providers offer their own hosting services, and the barrier for entry has never been lower for both small & large companies.

The Future of Kubernetes

At this point, it really is up to the community. Github & the CNCF serves as public forums for the world to engage with each other on patching & improving the Kubernetes platform. In addition, the CNCF’s incubation program provides an avenue for enthusiasts to gain support for their ambitious ideas that can empower the world of Kubernetes.

Altogether, its hard to say where things will go in terms of new ground. However, what we will see if the adoption of Kubernetes for pretty much every market sector out there. Even IoT has seen the power of Kubernetes with the release of K3S by Rancher Labs. Frankly, the limits just don’t exist, and the possibilities are endless.

Next Week on { Zero to Helm }…

-Part Two: The Control Plane-

Next week we will start diving into the Kubernetes ecosystem. Pointing out the various parts of the system & their responsibilities before we begin to dive deeper & getting our hands dirty via code.

If you are interested in following my series on all-things Kubernetes, consider subscribing to my weekly mailing list.

Senior DevOps Engineer @ Sharkmob & Fan of all things Golang/Typescript ❤

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store