4 ms·
No, it is not only about scaling or gluing different languages. Some other aspects that microservices can help with: Reliability. There is a chance that one mi
by praptak 5y ago
No, it is not only about scaling or gluing different languages. Some other aspects that microservices can help with:
Reliability. There is a chance that one microservice crash looping does not bring the whole system down. This would not be an advantage if languages were better at isolating failures but they aren't.
Independent release cycles. It is good to be able to upgrade only one service. For example if something goes wrong, you roll back only one service. You also have a smaller code base to debug.
Runaway resource consumption. A memory leak or a logs explosion only affects one service. This arguably is a version of "scales independently".
Above stuff is from my experience at Google. YMMV. I can imagine that a badly designed microservice architecture does not bring these benefits.
- ratww 5y agoI've had great success solving those things merely by having multiple deployments of the same monolith, each answering to different parts of the same API. It worked pretty well IME.
- username90 5y ago> Above stuff is from my experience at Google Google needs microservices, their codebase is many thousands times too big to deploy as a single unit. They also have the money to focus on reliability over velocity. The startup with 2 developers doesn't need microservices, and the things you are talking about aren't things that a startup should think about before they have any users. Yet they still often goes with microservices because that is what the big boys do. It is those cases we talk about here.