3 ms·
That's a fallicy. You've optimized for one use case, but you've made everything else more complicated as a consequence. Deploying a single monolith is faster t
by gwbas1c 5y ago
That's a fallicy. You've optimized for one use case, but you've made everything else more complicated as a consequence.
Deploying a single monolith is faster than deploying 10 microservices, especially if you find yourself in the model where your microservices share code, you've ended up with a distributed monolith instead of microservices.
- galangalalgol 5y agoDon't forget serdes costs for microservices. They kill runtime speeds even with nice toys like flatbuffers.
- bspammer 5y ago> You've optimized for one use case, but you've made everything else more complicated as a consequence. Yes, but that use case happens to be something that I need to do 5 times a day - make a small (<200 line) code change to one small part of the distributed monolith, and deploy it immediately. This also means that if something goes wrong, I can rollback those changes immediately without rolling back the work of any of the other 50 engineers in the company. Very little signoff required, very small blast radius.
- abraxas 5y agoI doubt you can judge the blast radius. Say your little service just changed how it parsed backticks. Now that innocuous change may affect none of the immediately connected microservices but another services three hops away relied on the old behavior of your parser through some complex business rules driven logic. Now go test and later troubleshoot that vs standing up a single monolithic jar on your laptop and seeing the exception stack trace tell you exactly what you broke.
- bspammer 5y agoI can see your point, but I’ve been working like this for 3 years and my anecdotal evidence is that kind of thing simply doesn’t happen.
- jayd16 5y agoI don't know, is it really harder to deploy 10 services? Isn't it all automated? The organization overhead is lower because you can leave most of the app untouched and only deploy what you need to. You could screw it up and make it harder for yourself but its not guaranteed either way.
- MetaWhirledPeas 5y agoYou would only deploy 10 microservices if all 10 changed at once. Why are all 10 changing at once? > especially if you find yourself in the model where your microservices share code Good architecture decisions trump the monolith vs microservices argument. I'm not saying cross-service shared code is inherently bad, but it does have a bad smell.