|
|
|
|
|
by lmilcin
1744 days ago
|
|
I think number of features have little to do with the situation. Nowadays, everybody insists on putting stuff on K8s regardless of how large or small it is. An application is an application for the purpose of running it on a server. It doesn't really matter how much functionality it has. It is microservices "revolution" (quotes intentionally) that caused larger applications to be split a lot of small ones and complicated the execution environment to the point that a lot of people spend a lot of time just trying to figure out how to run their applications reliably. That is not necessary. If you can have multiple microservices, more likely than not you can have them as separate libraries used by single application or a separate modules of a single application. Just make sure to put the same thought into modularizing it as you would designing microservices APIs and you can have the same but much easier and with much better performance (no serialization/deserialization, no network hops, no HTTP stack, no auth, etc.) |
|
But if you already have the tooling, experience and support for k8s, why wouldn't you use it?
I can fire up a k8s cluster on any major cloud provider in minutes (or bare metal in slightly longer), and deploy almost any web app using a standard interface that has extremely wide adoption.
K8s supports a ton of things, but you don't have to use them. It can be complicated, but usually it's not.
It feels a bit like saying why use Linux for your simple app when it could run just fine on DOS or QNX. How many years of my life have I wasted debugging networking issues on Linux or Windows that turned out to be caused by a feature I wasn't even (intentionally) using...