Kubernetes is the great new kid on the block, and just like at high school everybody wants to be friends with them. Those on the outside of the gang all wonder what is so great about the new kid, especially if they were part of the gang of the last great big thing. Or they are just wishing they could get inside the new gang, and wonder how to do so. Then there are those that think that new kid is “meh, they’re not that great”.
Is Kubernetes ready for prime-time?
There is no doubt that currently it appears that all roads lead to kubernetes.io. These days the hype surrounding this platform is immense (more about the arguments surrounding whether kubernetes is a platform or a program later), with all the major vendors jumping on the band wagon. VMware even brought Pivotal back into the fold to bring in their skills, and is a large part of their upcoming vSphere release with Project Pacific. Pacific is part of their VMware Tanzu project, which re-engineers the vSphere Platform to be a native Kubernetes platform. There is similar movement from AWS, Azure and it goes without saying GCP (they are one of the major contributors to the open source project). We have Nutanix Karbon, IBM and many others providing native Kubernetes support on their platforms, whether cloud or traditional physical or virtual platforms. But where on the traditional hype scale is Kubernetes?
There are obvious similarities with a previous hype cycle, that of OpenStack – an open source cloud management platform that provides a IaaS. At the peak of its hype cycle all major vendors had a version of OpenStack, and the project degenerated into a “built by committee”
As a result OpenStack, whilst still a working option for private cloud, has fallen by the wayside in terms of adoption. the current poster boys NASA, RackSpace and Volkswagen seem to say to the masses that unless you are a rocket scientist, global MSP or a denizen of German manufacturing, you have no chance successfully deploying an OpenStack cloud.
The market and hype cycle has moved on, OpenStack did not survive the “Trough of Disillusionment”.
How does this relate to Kubernetes?
The similarities with OpenStack are many and varied, both came about as an attempted answer to the problem of deploying something at scale. With OpenStack it was deploying Virtual Machines in a multi-tenant environment; with Kubernetes it is deploying Containers at scale. However, OpenStack attempted answering a question nobody was asking and was extremely complicated to deploy. Kubernetes although complicated, has arguably delivered on its promise of orchestrating the deployment of Containers at scale, it is leading other container orchestration solutions by a country mile.
Where on the Hype Cycle is Kubernetes?
Where Kubernetes sits on the hype-cycle depends on a number of factors like who you are, what you are doing and finally who you ask. For example, where you are on your DevOps journey will define where you think, or whether you are working for a Kubernetes provider, or even what your role is in your business, CTO or VMware Administrator.
Kubernetes is the current buzz word to top all others, but where are we in the hype-cycle, it is obvious that we are way past the “innovation trigger” but where are we at “the peak of inflated expectations” or have we dropped to the “Trough of Disillusionment” or even beyond that to the “Slope of Enlightenment” or perhaps as far as the “Plateau of Productivity”. Although the Hype-cycle is valid measurement of a technologies adoption, it is quite limited with opaque language defining the areas of which there are only five.
One of the better enhancements to the basic hype-cycle was used by Ayman here and shown below:
This Hype Cycle shows greater granularity, now some of these legends (for example “startup Companies first round of venture capital funding) make little sense with an open source project like Kubernetes (initially funded by Google and pushed out into the Cloud Native Computing Foundation), however others dovetail nicely for example “first generation products, high price, lots of customization needed”.
The eye of the beholder
Looking at this chart is at first glance appears easier to place Kubernetes. but again this is in reality a personal choice and tempered by where you are on your personal Cloud Native Journey.
There is no doubt that Containers as a application delivery method is growing, and this will drive Kubernetes adoption, but if you are not using Containers in your application deployment, it is very unlikely you will be using Kubernetes.
According to Enterprisers project 87% of respondents to the 2019 Container adoption survey state that they are using containers technologies. That said this survey has a small sample set (501 respondents) and a particularly biased target audience, but what is more interesting is that of that 87%, 65% of them are using Kubernetes to orchestrate their deployments.
Form that position, you could say that Kubernetes is in the “plateau of productivity” and you would be right for those that are using containers, but what about the greater IT community? Traditional IaaS, legacy Virtualization and physical environments, (of which there are still plenty around) those that are only just starting their cloud native journey.
Kubernetes in 2020
As they move into their digital transformation, it is fully expected that Kubernetes will become the major orchestrator of Container deployments, however for it to move into total domination, it needs to move into the graphical UI age. Those of us who work in Enterprise IT tend to forget that the vast majority of IT is in the SMB market and they do not have the resources to spend learning the next great thing, especially when technology is moving at such a fast pace. They need things to be simple and quick. this means for a large majority of those users Graphical Interfaces and point and click. The DevOps revolution is tied to API (application Program interfaces) and the command line, but for many, a turn-key, easy-to-use graphical interface makes all the difference, and many cloud service providers are delivering Kubernetes in just that way: turn-key, and with a graphical user interface.
The bottom line is that Kubernetes is an infrastructure orchestration tool, Developers love it as it can speed up their application development cycles, Operations teams love the repeatability of the deployment cycles, and the self healing of containers. But a DBA will not care less if a database is on physical, virtual hardware or deployed in a container, just as long as performance is not affected. The ERP and CRM teams again only care about the performance of the solution, not the nuts and bolts. This perception is only enhanced the further removed you are from development and deployment. And this is valid: we as IT Architects and implementors need to put ourselves in the position of users and consider fully their needs. It is never technology for technology’s sake and hype-cycles are just guide to a risk assessment on a technology choice. Your guiding principle should always be user perception and business need.