Kubernetes is amazing, and the wave of the future except for the minor flaw that it's secretly terrible.
As you're no doubt aware if you've been within six miles of a technical conference in the past eight months, Kubernetes is a magical tool from the future / pixie caves of Google brought to you here, now, today, to run your container workloads for you, at scale, durably.
All of this is true, and wonderful, and accurate. To get started, simply take the team of roughly eight Reliability Engineers who cost roughly $2 million in payroll expenses and--
What? You don't have one of those lying around? Well, we found the company that isn't based in San Francisco built on a pile of investor money that's hoping for a moonshot, haven't we.
The sad truth of Kubernetes is that it's a wonderful abstraction layer across fifteen layers of complexity, culminating in a straightforward user interface. That may not sound sad to you right now, but what happens when the eighth layer of the papered-over abstraction has a problem? You quickly find yourself in a swamp. Where do you even begin troubleshooting it?
This is a fixable problem, but today running Kubernetes in-house requires a fair bit of expertise. It's not the day one problems, but rather day two. "Here's a Kubernetes environment, good luck, bye!" isn't exactly reassuring to hear from the team that built out your environment. One of the distinguishing facets of the Reactive Ops model is that you're not tossed something you don't know how to run, and left standing like a dog who caught the car she has no idea how to drive (if she's a border collie, she'll figure it out; other breeds won't be so lucky).
Kubernetes. Yes, it's just that complicated™.