My take - Kubernetes isn’t perfect. It’s got a lot of moving parts, a lot of complexity. My work involves managing SRE for almost a hundred clusters daily, where clusters are running across different clouds with different levels of customisation. I’ll say this - K8s is to cloud native infrastructure engineering what ODBC was for databases 20 years ago. A consistent base standard for running workloads across public, private and hybrid clouds, without worrying _too much_ about how those apps will actually utilise the underlying infrastructure. I’ve worked on Docker Swarm, Rancher 1.0, Mesos, Nomad - nothing comes close.
Sure things may evolve and maybe in a decade we _may_ see a new standard, perhaps a new platform. But I don’t really see that happening. K8s is here to stay, and it’s now at a point where it’s stable and mature from a reliability standpoint; it just needs people like us to worry and fret about making it more accessible.
Good to know. When I ask if a technology is worth leanring, I always assume it's perfect. I was also relieved to discover a new platform might but also might not surface to overtake K8s.
Saying “it isn’t perfect” usually means something has fairly fundamental flaws that make it uncomfortable to use; and can simultaneously imply that it’s among the best we’ve got.
Almost certainly something will replace it or make it far more reliable, understandable, and ergonomic over time.
If this and GP's response are inception-level sarcasm, then I'm outclassed.
My initial reaction to GP was intended to cast a light on its vacuousness, what with all the hedging and credentialling.
Some benefits:
- Automated deployment and scaling: Kubernetes can automate the deployment, scaling, and management of containerized applications, saving you time and effort.
- High availability: The platform is designed to be highly fault-tolerant, so your application can continue to run even if one of your nodes goes down.
- Extensibility: Kubernetes is highly extensible, with a wide range of add-ons and plugins available to customize the platform to your specific needs. Kubernetes has a large and active community, with frequent updates and a wealth of documentation and resources available. This makes it easier to get started with the platform and get help if you need it.
- Portability: Kubernetes is cloud-agnostic, meaning it can run on any cloud provider or on-premises infrastructure. This makes it easier to migrate your applications between different environments.
Kubernetes continues to be the de-facto leader in cloud native cluster management, so if you don’t use it what would you do instead?