Kubernetes started its life in 2014 as a project by Google to offer a better solution to manage containers at scale. This open-source container-orchestration platform has become the de-facto standard for container orchestration. Now it is completely managed by the Cloud Native Computing Foundation (CNCF).
Kubernetes offers all the necessary features for automating container deployment, scaling, and management. The increased popularity of Kubernetes has led to a growing ecosystem of tools and services aimed at simplifying or extending the Kubernetes experience. However, there has been some chatter speculating in recent times that the life of Kubernetes will soon come to an end. Is it an actual fact or some far-winded theory? In this post, we will have a look at the current Kubernetes landscape and try to answer this speculation.
What are the Challenges Faced by Kubernetes?
The unprecedented growth of Kubernetes can be considered one of the root causes for the current challenges faced by Kubernetes. The first challenge is security. Over the years, new features have been added to Kubernetes to extend and improve its capabilities. These improvements have led to a much larger attack surface that can be exploited. Even though the Kubernetes community is tirelessly working to patch any discovered vulnerabilities, there can still be undiscovered vulnerabilities that can affect users. As a number of tools and services interact with the cluster, their security vulnerabilities can also impact the cluster and allow attackers to obtain access to the cluster.
Besides, the barrier to entering K8s has grown considerably higher than early days of the platform. While this increased complexity is typical for any evolving platform, the complexity of Kubernetes has grown in an alarming manner. It does not mean that K8s have become needlessly complex. Yet, now it has a longer learning curve to understand the platform properly.
Kubernetes-based platforms such as Rancer, RedHat Openshift, and VMWare Tanzu have created a different kind of challenge to K8s. Even though these platforms are based on Kubernetes, they have attracted more users by offering an additional layer of features well suited for their workload. Even though this trend may seem positive, it can also have a long-term impact on core Kubernetes. There is a chance that Kubernetes will become just an orchestration runtime for these platforms if more users choose these platforms over pure Kubernetes. It has become challenging to implement things like Kubernetes best practices even for experienced teams due to the complexity and constantly evolving nature of the platform.
Other platforms like Apache Mesos, Hasicorp, and Normad also challenge the dominance of Kubernetes by offering their own interpretations for container orchestrations. Due to the popularity of managed Kubernetes services by tier-one providers like Amazon EKS, Azure Kubernetes Service (AKS), and Google Kubernetes Engine (GKE), other providers such as DigitalOcean and Linode also offer Kubernetes services. Configuring and provisioning Kubernetes has become a secondary concern for most users as only engineers actively involved in infrastructure management or custom Kubernetes deployments are worried about cluster provisioning.
The rise of serverless platforms like Google Cloud Run, AWS Fargate, and Azure App Service Containers provided users with an even simpler option to deploy and manage containers without worrying about any management aspect. All these things have contributed to a challenging future for Kubernetes.
What Future Holds for Kubernetes?
It may seem that the days of Kubernetes are numbered with increased security risks, growing complexity, and fierce competition from competing platforms and services. However, this is far from the truth. According to the RedHat Kubernetes adoption, security, and market trends report 2021, 88% of users are using Kubernetes in some capacity, and 74% of them are actively using Kubernetes in production environments. Additionally, with Gartner predicting 34% compounded annual growth for container management platforms, there is enough demand for orchestration platforms in the foreseeable future. Thus Kubernetes has nearly unlimited potential to grow as the leading orchestration platform.
You can easily create a secure and resilient cluster with tools like Open Policy Agent (OPA) for enforcing context-aware security policies, KubeLinter for static analysis of YAML and Helm, Kube-bench, and Kube-hunter for verifying security settings and identifying security vulnerabilities in clusters. Even with the steeper learning curve, benefits gained by Kubernetes can be immeasurable, and more and more tools and services are available to simplify the Kubernetes management experience. They enable even inexperienced users to get a head start with K8s quickly. There is also a rise in low-code and no-code platforms supporting Kubernetes from creating containers to deployments which will undoubtedly bring new users to this platform.
Even if the infrastructure configuration part is abstracted, managed services still use Kubernetes, and cluster management is still the responsibility of the developer. The need for learning infrastructure configuration will be more prominent in hybrid environments, especially within large enterprises, to gain advantages of the cloud while complying with organizational, local, and government regulatory rules by keeping some parts of their application on-premise. In such instances, Kubernetes provides the best option to migrate and manage workloads between environments seamlessly. Moreover, Kubernetes frees developers from being vendor-locked or developing and deploying separately for different platforms in multi-cloud environments. It allows setting up clusters across cloud providers and developing and managing them as a single entity. Even features offered by alternative orchestration platforms can be integrated into Kubernetes with open-source projects like Knative to address the need for serverless and Istio for managing distributed or microservices-based architectures.
While the future of Kubernetes may be somewhat challenging, its adoption and popularity will continue to rise. With its active community and a clear roadmap, Kubernetes will be an active platform for the foreseeable future.
The purpose of this post is to answer the question: will Kubernetes die soon? The answer is no, and Kubernetes has a long and bright yet challenging future ahead. The need for Kubernetes will only rise across the industry with containers becoming a packaging format, YAML manifests becoming runtime configuration, and Helm bringing all this together.