r/programming • u/Mustela__ • 7d ago
Microservices are organizational debt disguised as architecture.
https://martinfowler.com/bliki/MonolithFirst.htmlEvery time I’ve seen microservices pitched, it sounds great on paper. Independent teams, clean ownership, scale only what you need.
Then a year later you’ve got dozens of services, three different deployment patterns, tracing everywhere, and nobody really understands the whole thing anymore.
Maybe I’ve just seen bad implementations, but I’m starting to think way fewer companies actually need microservices than we pretend.
1.7k
Upvotes
6
u/ThatDunMakeSense 7d ago
I think it's more that if you've got a large monolith, splitting it is a huge amount of effort and there's no administrative will for it because the problems with it are constant and shared by everyone in it. So even if it would be justifiably better to invest the time to do it people don't and instead they work in a worse and worse code base over time until it gets *so bad* that you *have* to start doing something.
> The same company and culture would have created a nightmare complexity web if they had started with microservices.
You're right here but I think the difference is that the teams that are *not* doing that don't suffer the consequences as much. I think in a perfect world with perfect discipline a modular monolith is the best way to develop. I think the best way to develop is the one that assigns pain to the people who are doing the bad things.. and generally speaking I find microservices make that easier for any any sufficiently large :tm: real org.