Where did Kubernetes come from?
There’s a lot of great articles about how containers and subsequently Kubernetes came about…just search kubernetes with your favorite search engine!
From a devops perspective the virtual machine’s (VM’s) movement created a bunch of issues for operators mostly because of how developers took advantage of the monolithic stack which VM’s proliferated.
Google started down the path when they realized the opportunities based on how some older technologies consumed compute resources and added a cgroup functionality to the kernel. The container movement was officially underway.
This also started a movement to change how applications are developed. They say “timing is everything” and it all fell into place. If you think about how the basic elements of container technologies (images, containers, and registries) are used today the concept of develop once, run anywhere has taken hold.
BUT…this really is only one part of the full equation. Developers now have a lot more resources at their disposal and these resources are what operators have to manage.
That’s where Kubernetes comes into the picture. Kubernetes helps solve the operational issues around managing or orchestrating all of the containers and their requirements around scale, load balancing, service discovery, observability, etc.
Kubernetes originated with Google primarily because Google was well ahead of most everyone hence the work on cgroups. Google created a platform they called Borg well before Docker was conceived and right about the time Amazon started their “web services” division.
Google released Borg in 2015 to a new foundation created with the Linux Foundation called the CNCF or Cloud Native Compute Foundation. Borg was donated as Kubernetes which stands for “Helmsman”. K8s (short hand for Kubernetes) is now one of thousands of CNCF projects.
With 10 years of experience behind them and the reputation of Google, Kubernetes was then and continues today to be the de facto standard platform of modern cloud native computing.