Kubernetes training and abstraction technologies, if used correctly, can help organizations reduce container orchestrator management costs for developers.
Kubernetes offers everyone in the production pipeline a common way to orchestrate and scale services, but within the developer’s ever-expanding role within DevOps, it also creates challenges and frustrations. In particular, developers often struggle to navigate the complexities of managing and orchestrating Kubernetes. The act of juggling between coding and containers has a steep learning curve that adds to the burgeoning workload of software developers.
“Developers are under pressure to step out of their comfort zone and extend coding lower into the infrastructure as part of their role under a DevOps model,” said Charlotte Dunlap, research director at GlobalData. “Efforts to spin up Kubernetes clusters require configurations between networking, security, and IT provisioning.”
Explore Kubernetes training issues
Kubernetes avoids having to build an orchestration system from scratch for companies with complex needs, but the cost of this flexibility is complexity.
“Kubernetes is an ‘advanced mode’ tool, which means that if you’re building complex distributed systems, you have to think about things like storage anyway,” said Christine Spang, CTO and co-founder of communications- platform-as-a-service. Nylas, which uses Google Kubernetes Engine in the development of its productivity tools. “The modern way of approaching these issues is holistically, without making a sharp distinction between ‘developmental issues’ and ‘exploitative issues’.”
Despite the promise of portability given the wide use of Kubernetes, in its raw form, it can be particularly vexing for developers moving from one vendor to another, said Forrester Research analyst Lee Sustar.
“There’s a lot of frustration…due to a lack of consistent abstraction layers for developers on a Kubernetes platform from one Kubernetes distribution to another,” Sustar said.
Most technologists think Kubernetes has a steeper learning curve than other technologies they use, and Kubernetes training is the best tactic to solve the problem, according to a July 2022 study of 300 technologists by the vendor Spectro Cloud Kubernetes Management System. The Linux Foundation and some vendors offer free Kubernetes training courses for developers.
Without the proper training and tools, Kubernetes’ steep learning curve can lead to big problems, such as being deployed on the wrong Kubernetes cluster or even being removed from the production environment, said co-founder Michael Schmid. and CTO at Amazee and co-creator of Kubernetes. Lagoon abstraction open source project.
Michael SchmidCo-founder and CTO, Amazee
Doing a simple, problem-focused proof-of-concept can help developers understand the big picture and theoretical solutions to the problem, said Andrew Bogun, technical backend lead at product outsourcing company Alty. “With experience comes clarity and frustration passes,” he said.
But Kubernetes training might not be enough to thwart the problem, due to the platform’s opaque innards.
“Kubernetes – great as it is – still feels like a bag of Legos to me with no instruction manual or anything. It’s just ‘building the house,'” Schmid said.
Kubernetes training is just one category where companies need to address skills gaps, and not all approaches to IT training are effective.
Kubernetes abstractions to the rescue
A simpler and easier alternative to in-depth Kubernetes training is to adopt Kubernetes management technology. Many companies have started to adopt Kubernetes-based DevOps platforms that include developer self-service tools. These include SUSE Rancher, VMware Tanzu Application Platform, and Mirantis Lens, to name a few.
“But there are many other approaches, including those from public cloud providers who try to abstract away the complexity of Kubernetes,” Sustar said. These include Amazon’s Elastic Kubernetes Service, Microsoft Azure Kubernetes Service, and Google Kubernetes Engine, as well as Red Hat’s OpenShift public cloud offerings.
Low-code/no-code products can help ease the burden of Kubernetes. Tools such as Joget DX can use Kubernetes operators to install their development interfaces on Red Hat’s Kubernetes management platform, OpenShift. OpenShift also offers its own Dev Spaces IDE for building and deploying containers, so software developers can focus on developing applications without worrying about the underlying infrastructure.
“Docker Compose is always a good alternative to make developer operations less tricky,” said Sergio Gutiérrez Villalba, CTO of Internxt, a cloud storage startup. “Using Minikube, which emulates Kubernetes locally, and [Mirantis] Lens is another good alternative which can also make the situation smoother.”
Mirantis Lens is an IDE that seeks to bridge the gap between Docker Desktop and the Kubernetes environment; it will soon extend its Kubernetes abstraction capabilities with technology acquired from Amazee this month. VMware Tanzu Application Platform, which helps developers manage multiple Kubernetes clusters, provides a consistent integration layer for any Kubernetes stack.
However, Sustar cautioned that some approaches — especially those from public cloud providers — attempt to abstract away the complexity of Kubernetes, but in doing so introduce vendor-specific dependencies.
“It’s off-putting to organizations looking to use as much open source as possible to reduce vendor lock-in,” he said.