4 ms·
It's all a balancing act. The two main contenders are developers and scalability. It makes no sense for a single team to run 2000 microservices that come toget
by dexwiz 10y ago
It's all a balancing act. The two main contenders are developers and scalability.
It makes no sense for a single team to run 2000 microservices that come together into a single app. The amount of overhead for managing so many interfaces is insane.
At the same time, it's hard to justify 2000 developers working on a single binary. You end up with entire teams dedicated to managing and deploying. Companies do it (Google), but it's not without costs.
If every microservice runs with the same specs (container size/# of containers), then there is nothing gained from scalability. If anything, you're probably wasting a large amount of resources if your containers cannot shrink any more.
At the same time, if you are deploying thousands of copies of of a single binary, when most of the resources go to 1% of the code, then you're wasting resources with needless copies.
The (micro)services fad is definitely brought on by the recent rise of virtualization. It's probably a bit overboard.
- honkhonkpants 10y agoYou got the Google part wrong. Google is all in on microservice architecture and has over a decade of experience doing it. There is not some gigantic google.exe program. Perhaps you have heard that Google uses a single source code repo and drew an incorrect conclusion.