logoalt Hacker News

vaibhav2614yesterday at 10:13 PM1 replyview on HN

Microservices seem great when you're writing them, but they become unwieldy pretty fast.

At the beginning, it's nice to know that team A is responsible for service B, so that if there are any bugs/feature requests, you know who to go to.

This neat story falls apart if team A gets dissolved or merged with another team. The new group owning service B doesn't feel the same level of ownership. When maintenance work comes in (security vulnerabilities, stack modernization, migrations), the team is forced to internalize it rather than share it with other teams.

Operational maintenance also becomes a lot harder - deploying many services correctly is much more difficult locally, in pre-prod, and in production. Any benefits you get from writing a single HTTP server quickly are erased in the time spent on integration work with the rest of the company.

Here is a blog post that makes a more expansive argument against microservices: https://www.docker.com/blog/do-you-really-need-microservices...


Replies

marcosdumayyesterday at 11:04 PM

> it's nice to know that team A is responsible for service B

Yet another argument that applies better or equally well to shared libraries.

I've made arguments for creating services at work. But it seems that every time somebody tries to make a reason for them at the web, it's not a reason to use services.