Kubernetes has rapidly emerged as the top choice for container orchestration. Kubernetes has major value in simplifying the deployment and management of container-based workloads on-premises, in the public cloud and at the edge. However, despite its potential and massive buzz over the past few years, Kubernetes adoption has been slow or non-existent in many organizations. Even forward-looking enterprises that have widely deployed containers, such as those in the tech and financial services sectors, tend to only use Kubernetes for a small fraction of their containerized workloads—and many of those Kubernetes workloads are only deployed in test environments.
VMware released a survey this year that provides some sobering data. The survey only looked at organizations that were currently deploying Kubernetes in some way and had 1,000 or more employees. Among these companies, 60% ran less than half of their containerized workloads on Kubernetes and 57% were running 10 or fewer Kubernetes clusters. Perhaps most telling, only 20% of companies using Kubernetes in production had 50 or more clusters deployed.
Barriers to Kubernetes Adoption
Kubernetes provides great agility and ultimately more business value, but adoption has been slow due to several factors. The primary challenge is operational—it’s extremely difficult to operate and manage Kubernetes clusters at scale today. Running a handful of Kubernetes clusters in a test environment or for a small, niche project is fairly straightforward, but running hundreds or thousands of Kubernetes clusters at scale is much more complicated.
Furthermore, Kubernetes is especially challenging to use across multiple cloud providers—and it’s even harder to do at the edge. The VMware survey found that 64% of respondents using Kubernetes had deployed it on-premises and 42% had deployed in a single public cloud, but only 31% had deployed it across multiple public clouds and merely 10% had deployed at the edge. When organizations play around with a handful of Kubernetes clusters, it’s typically either done on-premises or in a single public cloud. When those organizations try to expand those deployments to multi-cloud or edge environments—or even scale up deployments in a traditional environment—they run into trouble.
Another key barrier to Kubernetes adoption is internal corporate bureaucracy. Deploying Kubernetes at scale requires massive internal buy-in. Unlike microservices, which are leveraged almost exclusively by developer teams and don’t necessarily require top-down approval from IT to adopt, Kubernetes impacts an organization’s entire infrastructure stack and thus typically must be greenlit by the CIO before it can be fully deployed. Microservices can be adopted in an incremental process by various developer teams, while Kubernetes requires wider organizational approval, which means you need to provide specific measurements for how it will deliver real business value for your company. This is to be expected when you’re dealing with a new technology that works at the infrastructure level rather than just at the app development layer.
The VMware survey data further reinforces how internal decision making is a barrier to adoption: 83% of respondents said multiple teams are involved in selecting a Kubernetes distribution, and 40% cited “a lack of internal alignment as a problem when selecting a Kubernetes distribution.”
There’s also a steep learning curve for Kubernetes. Any new technology will require some new skills, but an infrastructure-level technology like Kubernetes requires even more. The majority of IT pros are still used to relying on traditional virtual machines to deploy and run infrastructure and applications. Some have had an opportunity during the past few years to gain experience with containers, but they’ve had less time to try out Kubernetes specifically, which is more sophisticated than basic container technology.
Kubernetes is a radical departure from VMs. To use it in full production, an organization needs sufficient knowledge, resources, experience and staffing—all across multiple teams. This experience isn’t easy to build, which is why so few enterprises are deploying Kubernetes at scale.
Adopt Kubernetes Without Doing It All Yourself
Organizations should certainly consider leveraging Kubernetes to take advantage of those benefits. However, trying to roll out and run the technology all on your own is typically not the best approach. As an option, organizations could look to use a pre-made Kubernetes cloud. There are several cloud-based Kubernetes distributions available today. Enterprises should choose one that’s centrally orchestrated specifically for running Kubernetes, is easily scalable and fully supports the technology across multiple clouds and the edge.
Kubernetes is the dominant option for container orchestration and a hot technology for good reason. It provides great agility, speed and resource efficiency for deploying and managing apps and infrastructure, but those benefits are only realized when it’s employed correctly.