Are Kubernetes in Production? Let’s talk
Kubernetes is becoming mainstream. At least that’s what we were told by KubeCon, the Cloud Native Computing Foundation’s case studies and through various vendor success stories. These high-profile use cases, however, are dominated by cloud hyperscalers and software-as a-service providers, tech equipment manufacturers, and telcos. The CNCF case studies also feature prominently big banks and financial service providers with high tech budgets. What about everyone else?
A new VMware survey The State Of Kubernetes 2021 found that 65% of respondents used Kubernetes production. This is a significant increase considering the effects of the pandemic. Nearly half of respondents used Amazon Elastic Kubernetes Services, (AKS) and Azure Kubernetes Service(AKS). These are significant increases from the previous year’s VMware survey. Red Hat OpenShift (GKE), and Google Kubernetes Engines (GKE), both dropped slightly to 23% each (VMware’s Tanzu was at 20%). According to the same survey, Kubernetes deployments that were based on CNCF projects fell from 29% to 18% in 2020 to 18% in 2021. These results indicate that Kubernetes users who attempted to set it up on their own had difficulties and decided that managed services offered by a public cloud provider would be more beneficial.
Managed Kubernetes is not a complete solution. Although managed Kubernetes services allow Kubernetes to be integrated into infrastructure as a Service (IaaS), and provide APIs, it still requires significant effort from users.
Amazon Web Services (AWS), shared responsibility model for EKS. AWS GitHub explains that EKS will provide Kubernetes’ control plane. However, the rest of the work — identity, access management, security and compliance — will be up to the user. Google offers a more security-focused interpretation for the shared responsibility model. However, the message is the same: GKE customers will have a lot to do to get Kubernetes running and can rely on extensive guides. Microsoft’s approach for shared responsibility for AKS follows a similar pattern, but contains a “you broke it, you own” disclaimer regarding Kubernetes cluster support. Microsoft warns that any modification to agent nodes using any IaaS APIs will render the cluster “unsupportable.”
The bottom line: Users who want to offload Kubernetes control aircraft to a service provider will still have a lot of work ahead. Some organizations may find this approach to be a good option. There is a middle ground between Kubernetes open-source and fully-fledged Kubernetes application platforms. Kubernetes managed services can relieve some of the burden on infrastructure teams when they are undertaking infrastructure modernization. If they are looking for more flexibility when choosing platforms to develop applications, the teams responsible for their development and delivery might be interested in such an approach. This leaves infrastructure teams with a lot of integration work. It may make it more difficult to put Kubernetes in production. However, the benefits of Kubernetes being faster and more profitable could be worth it. This approach is being used by a large number of Kubernetes users as they prepare to move into production or use Kubernetes.
Kubernetes managed service providers may not be sufficient for organizations that aren’t satisfied with Kubernetes. They can choose to use Kubernetes distributed software that is already embedded in multicloud container application platforms. The Forrester Wave(tm), that covers these platforms shows that the top vendors in this market — Canonical and D2iQ as well as Google, Mirantis and Platform9 Systems — include Kubernetes while focusing on application modernization and developer experience. Although this packaging is appealing to some users it has its limitations, such as OpenShift being only compatible with Red Hat Enterprise Linux or the limitations of each platform’s application catalogs.
Multicloud container platform providers bet that customers will gravitate to them because of the challenges of DIY Kubernetes as well as frustrations with managed Kubernetes services. They might be right. It’s not too early to conclude that Kubernetes has too many complex features for widespread adoption by other platforms. Andras Cer and Brent Ellis, my colleagues, noted in a previous blog, that enterprise-grade Kubernetes elements are becoming more readily available through open source efforts as well as vendor offerings. In a report due to be published later in the year, I have analyzed one of these requirements for Kubernetes — disaster recovery and business continuity — in detail.
Kubernetes might be too powerful for many different use cases. This is HashiCorp’s argument with Nomad1.1. It’s a “simple, flexible orchestrator” that allows containers to be managed. HashiCorp believes that Kubernetes should not be used in the first instance, at least for certain organizations.