Kubernetes Turns 10: A Fireside Chat with Kelsey Hightower on Its Impact and Future
Happy 10th anniversary Kubernetes! ๐ Itโs time to celebrate this important milestone (KuberTENes, as we call it in the CNCF), and reflect over the extraordinary journey the past decade and what lies ahead. And what better person to reflect with than Kelsey Hightower? I had the pleasure of engaging in a fireside chat with Kelsey on OpenObservability Talks podcast, where we discussed the evolution of Kubernetes and speculated on its future. Hereโs a recap of our conversation and the insights we shared.
The Evolution of Kubernetes
Kubernetes (or K8s for short) began as a groundbreaking project designed to automate the deployment, scaling, and management of containerized applications. Kelsey reflected back on the mindset that led to Kubernetes: โYou all are trying to glue together Nomad, Docker, Vault, all of these independent APIs, and then trying to glue them back together.โ Kubernetes is like, โWhy donโt we unify them all to something purpose-built for running applications in containers?โ
Over the past ten years, it has grown from a Google project built by Kelsey and his teammates, to a cornerstone of cloud-native computing, embraced by companies worldwide. Some even call it โthe operating system of the cloudโ. Kelsey highlighted the parallels between Kubernetes and Linux, noting that both have become foundational components in their respective domains.
The Linux Path: Transcending the Implementation
Linux, now over 30 years old, still maintains its core essence in running backend systems and datacenters, while at the same time being embedded in various other environments such as Android mobile devices. Similarly, Kubernetes has provided a universal declarativel API structure, allowing it to be adapted for numerous use cases.
As the Kubernetes API evolves to become a standard, we will see it transcending the implementation, to a place where Kubernetes-compatible solutions can be offered, independent from whether it actually runs the Kubernetes services or others. The introduction of Custom Resource Definitions (CRDs) and a robust ecosystem of controllers has also enabled Kubernetes to decouple from the core implementation, paving the way for innovative applications and services.
In a way, this can make Kubernetes implementation itself less โinterestingโ for the wider audience, or as Kelsey says it, Kubernetes will โget pushed down the stackโ. In a way, itโs exactly what Kubernetes had done to Docker: Docker used to be the cool kid on the containers block, but then Kubernetes introduced an orchestrator over the container runtime, pushing Docker down the stack. These days we see multiple container runtime implementations, and for most users itโs an โunder the hoodโ detail of little relevance.
AI/ML and Other Specialized Workloads
The conversation then shifted to the expansive use cases of Kubernetes, ranging from traditional backend applications to edge computing and IoT. I expressed concerns about stretching Kubernetes too thin, especially when applied to specialized workloads like AI/ML (artificial intelligence and machine learning).
Kelsey countered this by illustrating how Kubernetes can effectively handle AI workloads, breaking down the steps involved in running AI processes within a Kubernetes environment. He emphasized that Kubernetesโ generic nature allows for pluggable components, making it adaptable to a variety of use cases.
While acknowledging that Kubernetes may not be perfect for every use case, Kelsey emphasized its role as a foundational layer that can be augmented by specialized platforms. I still think that expanding API to support specialized workload can have an impact on stability, reliability and security, that needs to be taken under advice. We need to keep the balance between supporting specialized workloads and maintaining simplicity in Kubernetes in the decade ahead.
Challenges and Opportunities Ahead
Kelsey and I discussed how Kubernetes has reached a point where its core concepts โ such as pods, health checks, and storage requirements โ are well-established and stable. The project has matured, and its rapid pace of evolution has slowed as it solidifies its position as a reliable infrastructure layer. This stability is crucial for organizations that rely on Kubernetes for their production environments, ensuring they can bank on its robustness and reliability. Alongside it, we will need to keep on improving its ease of day-2 operations, such as simplifying monitoring.
Looking forward, one of the main challenges for Kubernetes will be maintaining its relevance as the landscape of computing evolves. Kelsey pointed out that if Kubernetes remains the primary interface for infrastructure management in 20 years, it would indicate a lack of progress. The goal should be to make Kubernetes a stable, invisible layer that supports higher-level abstractions and specialized platforms.
Want to learn more? Check out my OpenObservability Talks episode: Kubetrnetes and Beyond with Kelsey Hightower