Kubernetes has quickly emerged as one of the leading cloud technologies—and for good reason. Kubernetes makes it possible to deploy modern applications that are scalable, modular, and fault-tolerant. You declare the state you need your environment to be in and it constantly works to maintain that state, which frees up developers from manual tasks around infrastructure management.
With all the benefits of Kubernetes, there are also challenges. VMware recently released a report based on a survey of organizations currently deploying Kubernetes that gives us a glimpse into how enterprises are using Kubernetes and navigating the challenges to get the most out of their investments.
Benefits of Kubernetes adoption
From VMware’s study, nearly all respondents (95%) reported seeing clear benefits from adopting Kubernetes. The top reported benefits were:
- Improved resource utilization
- Shortened software development cycles
- Containerized monolithic applications
- Enabled move to the cloud
- Reduced public cloud costs
Respondents indicate that Kubernetes is beneficial for multiple stakeholders within the organization—improved resource utilization is a KPI for operations, faster development is a priority for developers, and reducing public cloud costs is critical for finance and executive teams.
One of the things that has contributed to Kubernetes’ success is that it delivers clear benefits for multiple stakeholders. Some technologies benefit operations teams, and some benefit development teams, but not many benefit both. Kubernetes is a technology that everyone can get behind.
Four barriers to successful Kubernetes adoption
However, many organizations face a number of common challenges before realizing the benefits of running Kubernetes. Here we’ll explore four of the primary barriers, along with recommendations to break through.
1. Lack of experience and expertise
Based on the results of the survey, a lack of experience and expertise was the top-cited challenge among 67% of survey respondents. Although Kubernetes and container adoption is growing rapidly (a separate report of ours found that container usage increased 38.7% between January 2020 and September 2020), many organizations still face a steep learning curve to build, deploy, and manage Kubernetes effectively. This is due to both the technology’s immaturity and a lack of operational precedent with it.
To break through this barrier, there are several approaches your organization can take:
- Paired learning: Gartner recommends the practice of "pair programming," which is "the notion of pairing two individuals, one typically more experienced than the other in a particular domain, together in a side-by-side setting. This enables less-experienced individuals to get one-on-one, experiential learning with the benefit of more-experienced developers."
- Education and training programs: Cloud service providers and other organizations offer training and certification programs designed for administrators, developers, and other cloud users to learn Kubernetes best practices in the context of their business’ cloud environment.
- Partners: To offset a lack of experience in your organization, partners can help guide decision-making processes and balance competing internal IT priorities. Look to partners with specific experience, expertise, and solutions for Kubernetes development and management.
2. Lack of internal alignment
With multiple stakeholders involved, decision-making around how to integrate and manage Kubernetes can be more difficult. In response to the survey, 83% of respondents said that multiple teams are involved in selecting a Kubernetes distribution, with 40% citing a lack of internal alignment as a challenge when selecting a Kubernetes distribution.
Establishing a Cloud Center of Excellence (CCoE), otherwise known as a Cloud Business Office, Cloud Strategy Office, or Cloud Program Office, can be one of the most effective ways to break through this barrier. A CCoE is a cross-functional team tasked with supporting and governing the execution of the organization’s cloud strategy across cloud financial management, operations, and security and compliance. With a formalized CCoE, organizations can more effectively place individual decisions (including those involved with Kubernetes integration and management) in the context of the enterprise’s strategic goals.
3. Visibility and monitoring
Although Kubernetes is known as a cloud-native technology, it’s also commonly used in on-premises environments. In fact, a majority of survey respondents (64%) reported deploying Kubernetes on-premises, with 42% in a single public cloud and 31% across multiple public clouds. Enterprises deploying Kubernetes clusters spanning on-premises, multiple public clouds, or managed services introduce an increasing amount of fragmentation and complexity.
To realize the greatest benefits from Kubernetes (and to avoid overspending, security risks, or performance issues), organizations need to be able to visualize their entire Kubernetes environment, including all of its entities (applications, containers, pods, nodes, namespaces, etc.), their dependencies, and how they interact with each other.
4. Meeting security and compliance requirements
Almost half (46%) of survey respondents cited trouble meeting security and compliance requirements after deploying Kubernetes. Due to the unique nature of Kubernetes and containerized environments, one oversight or misconfiguration can be easily replicated hundreds or even thousands of times.
Like any technology, Kubernetes is only as secure as the design and implementation of the environment. The CCoE should define and establish configuration standards that uphold a strong cloud security posture without inhibiting productivity. For example, set role-based permissions based on least-privilege to limit the number of users with root access, or consider disabling privileged containers from running, so access to resources on the host system is restricted.
With the right management tool in place, the CCoE can set policies that monitor the environment and alert the right stakeholders of anomalies, malicious activity, and other security vulnerabilities before an incident occurs, and can even take action to remediate automatically.
You can learn more about how to mitigate misconfiguration risk across public cloud and Kubernetes infrastructure in our webinar recording here.
How to navigate these challenges
Many organizations want to leverage the benefits of Kubernetes, but struggle to justify the total time, resources, and cost needed to develop and manage it internally. Our customers use VMware Tanzu to organize their Kubernetes clusters across all their environments, set policies governing access and usage permissions, and enable their teams to deploy Kubernetes clusters in a self-service manner.
This enables infrastructure and operations teams to gain visibility and command of their Kubernetes footprint while still empowering developers to use those resources with a focus on delivering solutions, rather than worrying about infrastructure.
As we've outlined in our cloud management maturity framework, the next step for those that establish visibility into their Kubernetes environments is to make the most efficient use of these resources. In practice, this means focusing on container resource consumption by service and team, identifying areas of waste or underutilization, and making changes accordingly to eliminate unnecessary costs while still supporting their workloads.
Below is an example of CloudHealth’s Containers Cost History report, which shows a centralized dashboard of a customer’s Kubernetes resources, which our customers use to visualize cost and usage trends in aggregate and per cluster and namespace.
To learn more about how to break through barriers and achieve success with Kubernetes, please feel free to set up a time to connect with us and we’d be happy to provide a free demo of the platform and answer any questions you may have.
We also have several resources on the CloudHealth website to help support your Kubernetes journey—whether you’re just thinking about getting started with containers, or you already have thousands of clusters in place.
- Whitepaper: FinOps for Kubernetes: Unpacking Container Cost Allocation and Optimization
- eBook: Tackle These 6 Common Container Challenges
- Article: Comparing Cloud Container Services Across AWS, Azure, and GCP
- Article: Managing Cloud Costs with Kubernetes: 5 Best Practices to Optimize Your Kubernetes Cloud Costs
- Solution Brief: Optimize Your Container Environment with CloudHealth
- Webinar recording: Misconfiguration Risk in Public Cloud and Kubernetes Infrastructure