Hacker News new | ask | show | jobs
by aristofun 1859 days ago
Kubernetes obviously.

The whole industry is feeding solely on attempts to make its original overengineered complexity managable.

1 comments

Do you think k8s is over engineered or it's suited for complex use cases and people misusing it?
My personal and not-in-the-weeds take is that k8s had some base assumptions that turned out incorrect and things become more convoluted because of it. Originally, state was not included with K8s because state is hard and is antithetical to their goals. Then enough users ended up convincing the project that state was here to stay and then complexity kept growing. People realized they need variables for values like port number to be shared across k8s files and so templating was introduced. But that wasn’t good enough and so another layer of abstraction is added, then another layer, etc. As more surface area is introduced, they didn’t want to appear to be making too much churn, so instead of lots of major and minor version bumps, they introduced beta features that they could break without feeling like they broke backwards compatibility even though it still breaks integrations that use beta features (gRPC package in Go did this too). In summary, I don’t think it is over engineered per se, I think it will be a stepping stone onto what ever is next that solves for these kinds of things in its original design instructions of being tacked on.
It’s just awful product in terms of UX (devx).

That’s partially the reason why people misusing it.