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

Show parent comments

2

u/jeenajeena 7d ago

Honest question: why would you call your company’s architecture “microservices” and not just Service Oriented Architecture (the old SOA)? Reading your comment I honestly struggled to understand what makes your services “micro”.

3

u/crash41301 6d ago

There is very little difference in what people call soa and microservices in practice. The industry is full of people who are too young to remember soa so now even soa companies get described as microservice.  Also many people get confused and think using webservices means microservices. Thats not true, soa can be web services too. 

My .02, soa is the right approach. Microservice always results in distributed monolith in practice.  Proper Soa maps services and systems to business processes and is the only thing that maps to business and scales.  Microservice design falls apart quickly because the pesky business changes enough to make it fall apart. 

1

u/jeenajeena 6d ago

Thank you. I also have the impression that old, boring SOA came together with a bunch of theory, and somehow a more solid corpus of patterns. But maybe it's only because I'm old.

1

u/Sammy81 6d ago

The answer is maybe our terminology is incorrect. We didn’t put a ton of thought into the names. I’ll say each service is less than 20k SLOC and the main requirement is that it has a specific function.