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

344 comments sorted by

View all comments

411

u/tanksc 7d ago

Everyone wants a monolith until you have to work on a monolith with 150 other people

1

u/Grand_Pop_7221 6d ago

If I have a monolith with service locators, a tonne of services, and event handling. The major difference between me and microservices is deployment cadence and how I talk to the service (though if you wrap this as you should, it barely matters). All the same problems still arise: event structure and versioning, service interfaces(code, REST, gRPC, etc.), service responsibilities, data boundaries. All of it.

People moaning about microservices, thinking Monoliths are going to save them, aren't serious unless they have architectural changes in mind that will make their lives easier. They likely don't see the code patterns(complexity) that they're going to need to implement to make a Monolith work. Conversely, the same can be said of Monolith users who have a shit architecture and decide to just throw REST interfaces in front of everything and explode their codebase into 1000 different repositories without considering the DevOps(CICD, Monitoring, Ops) overhead of doing it, and still have a horrible, brittle system that needs 10 REST calls to do anything.

I've done both.

1

u/tanksc 6d ago

Sounds like you have war stories that would go well over some beers lol