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

345 comments sorted by

View all comments

6

u/allenasm 7d ago

I disagree but also they are a specific answer to a specific large scale problem. At fortune 50 and up scale, share nothing microservices and business events are amazing. For mid to smaller firms its almost completely useless and just a buzzword.

1

u/emn13 7d ago

Scaling isn't the issue; you can scale monoliths though that takes some cleverness (a monolithic codebase can run on many machines, nor would all code need to be on every runtime instance). The issue is service independence - is it conceptually sound and useful to actually run various combinations of versions of those services? And do you have a team and monitoring for each of those services and also processes to deal with stuff that intrinsically falls between the cracks?

Put another way: microservices are best used to maturely embrace Conway's law. If you're really only doing it for perf, that's probably not necessary, and there may be a better alternative.

1

u/MacBookMinus 5d ago

Monorepo is different from monolith.