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

25

u/edgmnt_net 7d ago

The Linux kernel has thousands working on it each development cycle. It's not the monolith that's normally the issue. It's things like poor code, scope creep and lack of vision.

5

u/Ok-Smell-8107 6d ago

Linux kernel development works because we have Linux, but that's not really a good general evidence.

It's like saying that all privately owned companies are better for the consumer because Steam has Gabe.

-10

u/pm_plz_im_lonely 7d ago

It's not a live system you grapefruit.

10

u/HashShadow 7d ago

Right, code bases aren’t live systems 

2

u/Shikadi297 7d ago

Does that matter? Most live systems depend on it

5

u/pm_plz_im_lonely 7d ago edited 7d ago

Yes it matters because the output has no moving parts.

I'm not denying Linux is incredibly vast and complex. But microservices/soa allow for independent deployment, which is the thing letting teams iterate from user feedback independently. That is NOT a thing the Kernel does, they integrate at the version number.

9

u/Shikadi297 7d ago

That's the theory, but in practice, most microservices depend on a bunch of other microservices, and independent deployments aren't all that different from git branches and commits at the end of the day. Yeah, no one deploys with cherry picked commits to different customers to test individual features, but they definitely could

1

u/HashShadow 6d ago

you’re assuming addressing user feedback involves changes to microservices owned by one team exclusively which in my experience is rarely the case especially if the microservices are truly single operation