3 ms·
Isn't the only thing here that is enabled by microservices the separate tooling part? Couldn't the rest of it be achieved somewhat easier with a standard servic
by Benjammer 6y ago
Isn't the only thing here that is enabled by microservices the separate tooling part? Couldn't the rest of it be achieved somewhat easier with a standard service-oriented architecture in a monolith? Why do we need to insert network calls between everything?
- pydry 6y agoIt allows different teams to write in different languages, have different deployment cadences and different testing mechanisms. The overhead of network calls and its attendant problems can be a worthwhile price to pay if you need to loosely couple your teams. This is why my yardstick of "should it be a micro service?" is "could it work as an entirely separate business?" I was a massive skeptic of micro services until I saw that it actually solved some people problems pretty well despite incurring a technical cost. I'm pretty convinced it's an anti pattern in small startups though.
- hcarvalhoalves 6y agoI believe network calls are a looser contract than function calls that would be checked at compile time, so it allows a softer decoupling between multiple teams. Compatibility or intermittent failures are handled with different strategies (rollout, rollback, deadletter queues) instead of impacting release cycles.