Why Kubernetes Needs to Be Dumbed Down for DevOps
An organization’s shift to a cloud native environment will invariably involve the adoption of control planes, data planes, and a number of other Kubernetes and microservices-specific platforms and tools to help manage the Kubernetes “parallel universe.” Additionally, many DevOps team members, including developers, will need to adopt new skill sets to make the shift.
In this edition of The New Stack Makers podcast, Alex Williams, TNS founder and publisher, speaks with analyst Janakiram MSV about the context of the Kubernetes parallel universes. They also discuss the developer experience, how GitOps is helping to plug in some of the gaps and the idea of cluster sprawl and how it relates to multicloud environments.
The New Stack recently published its latest edition of “The State of the Kubernetes Ecosystem” ebook, which MSV co-authored, that can also serve as a guide. The second chapter of the ebook offers a detailed overview of the cloud-ready and cloud native worlds. The chapter “maps” the new ecosystem that is “growing exponentially.”
Meanwhile, questions remain about what cloud native means for the developer experience and continuous integration (CI). To begin with, Kubernetes still “means different things to different people” MSV explained. The developer has to know a lot about what’s going on inside Kubernetes, while the administrator must know a lot about services, including microservices.
“The line between the developer, platform and operations experience is getting completely blurred,” MSV said. “Everyone has to know everything about Kubernetes.”
Unfortunately, the developer must acquire knowledge about Kubernetes that is beyond their main responsibility of developing code. Today, a developer for cloud native deployments will typically build a Docker image, create a register and then rely on the Ingress to help manage the Kubernetes cluster.
Simplifying this process for developers represents a “tremendous opportunity that still exists in the ecosystem,” MSV said. “The developer experience will allow a developer to bring source code and go away with a URL.”
Many processes, however, have seen improvements thanks to how developers, as well as DevOps team members, are able to port to and manage in Kubernetes and cloud native universes. Improvements in GitOps for version control serve as a great example. But much work remains to be done.
“I’m a big fan of GitOps. I think it’s going to be the de facto for Kubernetes-based deployments and managing desired state configurations,” MSV said. “But unfortunately, even if I’m a developer familiar with the Git taxonomy, I still need to deal with YAML files and Helm charts because GitOps doesn’t abstract away the way Kubernetes is exposed to the developers.”
Ultimately, GitOps should eventually be able to further help create an experience for developers, as well as for all DevOps teams, that will improve the manageability of cloud native deployments and management. But, at least in the near term, within the parallel universe of Kubernetes, acquiring the expertise to manage the cloud native world remains a challenge.
“My my solution is this: for aspiring Kubernetes professionals — I don’t call them administrators or developers because that’s a very confusing function — but if you are trying to build a career in Kubernetes, learn the basics and understand the big picture,” he said.