HACKER Q&A
📣 aristofun

Why DevOps is still complicated in 2021?


Please point to my dark spot, because I really want to understand something.

Aren't like ~90% of all web infra deployment usecases eventually come down to just "run N instances of my M apps on these L nodes, and make X of them available for incoming traffic (+ optionally create me few overlay networks inside cluster)"?

With lower level details resolved on per container/app level.

Why then k8s and all those tools make even simplest cases look so complicated?

Why then tools following "simplify things" ideology (like Swarm) are barely surviving in the shadow of monsters like k8s and alike?

Why aren't there widely popular tools that compete for simplicity with heroku?

Do I miss some big point somewhere or people just really love to play with complicated solutions of "not so complicated" problems?


  👤 erik_landerholm Accepted Answer ✓
I wouldn't say Swarm is much easier. You have to caveat 'easier' too. K8s is easier to do complicated things that were basically impossible before. It's the same with everything in software engineering. As we move up the ladder in abstractions, what's possible becomes more complicated, so it doesn't get any easier.

Graphics are good example. As people developed abstractions the ability to make more and more complicated graphics became possible. Now A+ games are more expensive and take longer to make then ever before, but they are also doing things that could of never happened before.

Our company is trying to make K8s much simpler to get into for the avg company, so another abstraction, but specifically done to make it simpler. This all feels very normal to me as someone that started back in the day managing 1000s of blade servers, now it's just containers. Was hard then and is hard now.


👤 seanwilson
There's generally always a trade off between customisability vs simplicity, and time efficiency vs price. If it was possible for something to be customisable, simple, time efficient and cheap with no vendor lock-in, everyone would be using it.

Heroku is great for example because it's simple and saves time, but it can be expensive, there's areas you cannot customise, and their hosting tools aren't open source.


👤 aprdm
What would you feel a simple solution be? Maybe you know something that others don't... or maybe it is just really hard to have a standard across millions of different ways of deploying and running software systems.

👤 speedgoose
It's because it's a complicated problem, and kubernetes is not good to simplify it.

👤 umen
To create more jobs. No really ..