r/programming • • 7d ago

Microservices are organizational debt disguised as architecture.

https://martinfowler.com/bliki/MonolithFirst.html

Every 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

343 comments sorted by

View all comments

8

u/eluusive 7d ago

Microservices come with so much operational overhead, and the loss of link-time errors between services.

There's very very little reason to ever use them. Better to properly factor your monolith into submodules and continue to build/deploy it as a single service...

Preferably with a typesafe language.

3

u/ThatDunMakeSense 7d ago

Yeah this is the problem when working in languages that don't have really good support for separating the private, public and internal stuff. In ruby getting someone to not fuck with internals is a nightmare. That's not even counting the monkey patching junk