Before getting ourselves lost in the discussion whether Kubernetes is merely a hype or is, in fact, a technology that is here to stay, let’s start with describing what Kubernetes is (and does).
On the official Kubernetes website, we can find the following description:
“Kubernetes (K8s) is an open-source system for automating deployment, scaling, and management of containerized applications.
It groups containers that make up an application into logical units for easy management and discovery. Kubernetes builds upon 15 years of experience of running production workloads at Google, combined with best-of-breed ideas and practices from the community.”
Or, even shorter: Kubernetes allows you to run containers, at scale, in production.
That leads us to the obvious next question: why on earth would you want to run containers at scale in production? There are actually a number of good reasons for that, for example:
- Containers facilitate better environment parity. By packaging your application code and all of its dependencies into a single container image, those “works on my machine, doesn’t work in production” days should finally be a thing of the past.
- Containers enable the scale and flexibility that the adoption of microservice architectures requires.
- Containers allow for better utilization of your available resources (CPU and memory).
The above reasons show that containers are definitely useful, and pretty much everybody will agree that Kubernetes has become the de facto standard to run these containers. But that by itself is, of course, still no answer to the original question whether or not Kubernetes is a hype or is here to stay. To answer that question, we will look at a couple of different indicators.
A good first indicator to decide if a technology is here for the long run, is to look at the acquisitions of start-ups/companies building products/services around that technology. In the Kubernetes space, there has been quite some activity in the acquisition market.
It started in January 2018 with Red Hat buying CoreOS. CoreOS was investing heavily in containers (Container Linux & Quay) and Kubernetes (Tectonic). Not even a year later (October 2018), it was announced that IBM was going to buy Red Hat. Obviously, Red Hat does much more than only containers and Kubernetes, but in a lot of articles it was mentioned that OpenShift (platform built by Red Hat on top of Kubernetes) was an important driver for the acquisition. Only a month later (November 2018), news broke that Heptio (a start-up led by two of the original founders of Kubernetes with the premise of making Kubernetes enterprise ready) was acquired by VMware.
There are a couple more acquisitions (Microsoft buying Deis for example), but it’s clear that Kubernetes is important and vendors are willing to shell out their hard earned cash to make a mark in the Kubernetes space.
2. Public Cloud Offerings
A second indicator is to look at what the public clouds are doing in that space. When looking at the big 3 (AWS, Azure, Google Cloud), it’s clear that they are all investing heavily in Kubernetes. As Kubernetes was born within the walls of Google, it’s of course no surprise that Google Cloud would be investing a fair amount of time and money in their managed Kubernetes offering (GKE). Azure has acquired a lot of Kubernetes experience over the past year and is developing a very promising managed Kubernetes offering (AKS). Even AWS is now riding the Kubernetes train. Although AWS originally developed a proprietary container orchestration solution (ECS), they are now spending lots of their time and effort in building a robust managed Kubernetes offering (EKS).
The smaller cloud providers (for example Digital Ocean) are rushing hard to provide a managed Kubernetes offering as well. This proves that Kubernetes is truly becoming an enabler for multi-environment architectures (on-premise, public cloud and hybrid).
3. A platform for platforms
The third and last indicator that we will look at, is the number of projects that use Kubernetes to build new platforms upon. From day 1, we already saw Kubernetes being used as a building block to build PaaS like experiences, such as OpenShift and Pivotal Application Service. But lately, and even more importantly, Kubernetes is being used as the default standard to build entire new platforms upon. Two important examples of this are in the IoT and machine learning space.
The Kubeflow project is dedicated to making deployments of machine learning (ML) workflows on Kubernetes simple, portable and scalable. The goal is not to recreate other services, but to provide a straightforward way to deploy best-of-breed open source systems for ML to diverse infrastructures. Anywhere you are running Kubernetes, you should be able to run Kubeflow. KubeEdge is an open source system for extending native containerized application orchestration capabilities to hosts at the Edge. It is built upon Kubernetes and provides fundamental infrastructure support for network, app. deployment and metadata synchronization between cloud and edge.
Due to its open nature and portability between different environments, Kubernetes has become the platform of choice to build new platforms upon. So yet another clear indicator that the importance of Kubernetes will only continue to grow in the future.
The answer is clear: Kubernetes is definitely here to stay!