Why the Cloud Providers Need Kubernetes
Understand why Kubernetes is needed by technology companies.
This conversation about the utility of Kubernetes is split into two parts:
Understanding why technology companies need Kubernetes
Explaining why the user community needs Kubernetes
Both are important, and both are part of why Kubernetes will be with us for a long time. Some of the things we'll discuss will help you avoid pitfalls when getting started.
History of Kubernetes
It all starts with Amazon Web Services (AWS).
Prior to 2006, the big tech companies were making easy money selling servers, network switches, storage arrays, and licenses for monolithic apps. Then, from way out in the left field, Amazon launched AWS and turned the world upside down. It was the birth of modern cloud computing.
At first, the big tech companies didn’t seem to care. Remember, they were too busy making money doing the same things they’d been doing for decades. However, as soon as AWS started stealing customers, the rest of the industry needed a response. The first response was to debunk AWS by claiming there was no such thing as the cloud. When that didn’t work, they re-invented themselves as cloud companies and started competing against AWS.
OpenStack
An early attempt was OpenStack. To keep a long story short, OpenStack was a community project building an open-source alternative to AWS. It was a great project, and lots of amazing people contributed. In fact, OpenStack still exists, it just never threatened AWS.
Borg and omega
While all of this was happening, Google was running most of its services on a massive scale on Linux containers. Things like Search and Gmail were churning through billions of containers per week, and scheduling all of these was a couple of in-house tools called Borg and Omega.
Fast-forward a few years, and some of the Borg and Omega engineers at Google took what they’d learned and built a new container platform called Kubernetes. They open-sourced the project and donated it to the Cloud Native Computing Foundation (CNCF) in 2014 as the first-ever CNCF project.
Kubernetes is not an open-source version of Borg or Omega. It’s a new project, built from scratch. Its only connection to Borg and Omega is that its initial developers worked on those projects at Google. However, Kubernetes is ~10 years old and has gone off in its own direction since then.
When Google open-sourced Kubernetes in 2014, Docker was taking the world by storm. This caused most people to see Kubernetes as a way to manage the explosive growth of containers. And while that’s true, it’s only half the story. Kubernetes is also excellent at abstracting and commoditizing cloud and server infrastructure.
OS of the cloud
Abstracting and commoditizing infrastructure makes Kubernetes a lot like traditional operating systems such as Linux and Windows. For example, Linux and Windows ensure that we don’t have to care if our traditional apps run on Cisco, Dell, HPE, or XYZ servers. Kubernetes does the same by ensuring that our cloud-native apps run on AWS, Azure, Civo Cloud, or servers in our data center.
The following figure shows a cloud-native app that can run on any of the four platforms. This is why Kubernetes is often referred to as the OS of the cloud.