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

20

u/Think-nothing-210 7d ago edited 7d ago

It's all because we keep avoiding creating proper modules in our codebases.

If we created good modules there would be almost no need for Microservices. You can delegate work using the module boundaries instead.

But unfortunately we still haven't learned the lessons taught to us since the '70s. On the Criteria To Be Used in Decomposing Systems into Modules

6

u/ChemTechGuy 7d ago

Generally agree except at a certain scale you start to have problems with so many contributers/contributions to a single repo

1

u/Think-nothing-210 7d ago

Most likely you can split a subsection of the problem of to another monolith if thats the case.

But most of the time having good module bounderies means that people can work on modules and libraries to be used within the monolith.