Complexity shouldn't be the default but it can be the right answer
Complexity shouldn't be the default but it can be the right answer
Developers can handle complexity via code much more efficiently than users operating a site or app...
Also, some of the nice developments of the recent explosion of serverless/as a service stuff, is that you can mostly try stuff for free, be happy on the free tier if you don't need scale, and use that scale when you need it without much hassle but paying the overprice of their fat margins.
Also you should probably have an ejection plan in case scale + external provider becomes too expensive, you should always have a nice idea on how to run your stack if you need it...
When one uses k8s when one doesn't truly need it, it's accidental complexity. However some problems require k8s, where the engineered complexity of k8s helps solving the problem at hand.
Of course the issue is that most people don't need k8s, whereas Google and the like do.