Kubernetes is something that has now become a commodity within Cloud Operations. Cloud Operations more and more becomes responsible for delivering and managing the Kubernetes stack as-a-service. This blog shows which capabilities need to be addressed for Kubernetes delivery.
If you are living in IT, you know by now that containers are an easy way to deliver applications. This has been one of the key reasons behind the rapid adoption of containers by developers. It quickly became their preferred delivery mechanism to package applications and deploy them onto any type of infrastructure.
But as I always say, one container is no container. A container still doesn’t solve the problem of availability and resiliency. The construct of a container however does provide an easy mechanism for distributed applications. This resulted in the race to create systems that could manage containers as a whole. That race in the end was won by the open-source project Kubernetes that was instantiated by Google.
Early adopters of Kubernetes had to build and manage the Kubernetes platform themselves. Typically, these were developers or platform engineers that had to build it from scratch as there was nothing there. But more and more we see that Kubernetes becomes a standard offering that Cloud Operations is responsible for. The Kubernetes stack within the cloud infrastructure is becoming a commodity.
Kubernetes-as-a-Service
This basically means that Cloud Operations is responsible for it. They are the ones that will need to deliver containers, most of the times on Kubernetes, as-a-service.
As already outlined in the previous blog post there are several options for IT operations to deliver Kubernetes to the consumers of the platform. But in general it comes down to two option : you build it or you buy it.
Either way Cloud Operations needs to control and deliver it to whomever it is that wants to consume Kubernetes. And this comes back to the transformation to a cloud operating model that most Cloud Operations is currently moving towards.
Delivering Kubernetes
And that is exactly where Kubernetes becomes just another thing to be delivered by Cloud Operations.
Kubernetes is a system to deploy, scale and manage container workloads. It is a set of tools to make sure that containers can run in a distributed way. In a way it is middleware that makes it possible to run distributed applications.
But for most IT Operations teams they need to manage more than just Kubernetes workloads. Most organizations not only run Kubernetes workloads nowadays, but they also need to manage their traditional workloads that have been built in virtual machines.
Next to that there is also the adoption and consumption of public cloud that then also becomes a responsibility of IT Operations.
So, for most Cloud Operations teams Kubernetes is just another thing to manage alongside the other infrastructure and applications components. For Cloud Operations Kubernetes is a mechanism to host applications that they are responsible for providing as a service towards the consumers that use the cloud platform.
It needs to be there for people that want to build, manage and operate applications using Kubernetes and they should be able to do that with ease. Of course, all of this needs to be under the governance and control of Cloud Operations. Kubernetes should be a standardized toolset within the cloud that can be consumes as-a-service.
Managing Kubernetes
For Cloud Operations managing Kubernetes and the workload that runs on top of it is the thing they need to care about.
The following aspects need to be taken into account when trying to put Kubernetes under the management of Cloud Operations:
- Deliver Kubernetes-as-a-Service: Ideally Kubernetes is deliver as-a-service. Either through a private cloud or a public cloud offering. Cloud Operations is responsible for managing and delivering Kubernetes to the consumers of the cloud management platform.
- Monitoring & Observability: It becomes more important to observe the Kubernetes stack and the applications that run on top of the platform. For more information read this blog post.
- Cost control: Sometimes overlooked, but consuming a service means people need to pay for the services they consumed. Cloud Operations needs to provide insight into the costs to run the entire Kubernetes stack and also needs to provide showback or chargeback capabilities with regards to Kubernetes consumption.
- Security: As always security is an important thing. That also applies to Kubernetes. Cloud Operations is responsible for the security of the Kubernetes stack and needs to be capable of addressing any issues with the stack from the infrastructure up to the application.
All of these capabilities typically should be part of a cloud management platform that provides the right tools to Cloud Operations to do their job. They in the end are responsible for delivering a secure and cost-effective Kubernetes stack that can be an easily consumed as-a-service and can be monitored after deployment.