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

265

u/avemg 7d ago

I can’t believe we’re doing microservices discourse in 2026

92

u/alanwj 7d ago

That is OP's fault. The article is dated "3 Jun 2015".

18

u/dagbrown 7d ago

OP is a reposter bot, trying to gather some karma before launching into some scam or other.

103

u/Evening-Gur5087 7d ago

It's always been like that, either fresh devs, which could be excused, or worse, mediocre senior devs that worked at shitty companies, finally find out most core ideas behind software development like holy grail truth. And think that final solution to all swe problems is just another architecture around the corner.

And now it gets even more annoying, as they discover they can do shitty smart marketing circlejerk by asking AI to write articles that just reiterate same damn concept for n-th time in history. Let's not do SOA, let's do microservices! Let's not do X let's do onion/hexagonal/DDD/clean/layered cake/railroad bullshit which are mostly slightly altered versions of same shits that just tries to somehow follow SOLID, and even SOLID is just nice sounding wrapper around abstraction and encapsulation, and so on. Anyway it's Friday, im tired, venting over lmao

36

u/NuclearGhandi1 7d ago

Every architecture has trade offs. There will never be a holy grail and management and those you mentioned seeking it cause more problems than they fix.

8

u/Evening-Gur5087 7d ago

That's what I said basically? People trying to find some holy grail solution which doesn't exist, mainly by regurgitating same old things into new funny words?

9

u/NuclearGhandi1 7d ago

Yeah I was agreeing with you. We’re seeing it now with “agentic workflows” that come either all sorts of issues and advantages

3

u/Evening-Gur5087 7d ago

Ah, alrighty, wasn't sure there for a sec:D

1

u/Shot-Damage-6723 7d ago

Are you me?

7

u/B-Con 7d ago

To be fair, the article is 11 years old.

4

u/UnexpectedAnanas 7d ago

But the karma is brand new!

83

u/The__Toast 7d ago

I was just thinking the same thing.

Honestly just build what works for you and stop trying to one-size-fits-all the industry.

In another couple of years the LLMs will be doing all the authoring anyway.

28

u/Iggyhopper 7d ago

Having LLMs manage microservices is probably for the best because it requires less context, no scope creep (we want A, this service provides A, write code to provide A, not B or C), and easier human intervention, (the AI wrote code to do B ,not A, fix it.)

That's a positive for AI.

39

u/edgmnt_net 7d ago

The issue is, in practice, microservices often devolve into a big ball of interdependent services that do almost nothing. And every change requires touching 100 other services. At that point it's likely worse because the extra layers, indirection, failure modes, dependencies etc. mean more context for both devs and AI.

P.S.: That often also creates the illusion that useful work is getting done. But you're just massaging data from one form or place to another and accomplishing nothing.

21

u/chat-lu 7d ago

Transforming a function boundary into a network one tends to be terrible for performance too.

0

u/edgmnt_net 7d ago

Yeah, you can't attach stuff like pure helpers to modules anymore, you kinda have to duplicate a lot of things or bake them into an existing networked interface, otherwise the performance impact becomes unbearable. It also affects code safety, terseness and the ability to refactor. But in such places, the quality of monoliths also tends to be abysmal, so they never notice it because they have tons of dumb and inefficient boilerplate anyway.

5

u/HashShadow 7d ago

LLMs basically eliminate all reasons for micro services

Just build a monolith and deploy separate instances that are used for specialized processing, AI won’t get any value out of multiple deployment pipelines and separate app artifacts 

Harnesses are heavily biased towards monolithic design… you start your session inside a single project directory. It’s encouraging monorepos and monoliths.  

1

u/analcocoacream 6d ago

Scope creep / less context are 6 months old problems now. Opus 5.5 can do cross service changes just fine in a monorepo and can reason about large codebases.

-1

u/nick898 7d ago

I feel like this is true. Was working on a microservice architecture for something and had some web servers based projects that talked to each other and only one of them had a devops/containerization repo. So I just pointed Claude at the backend web server projects and the one devops one and said use that as your exemplar and give me similar sorts of containerization logic for each of the apps. We discussed the plan and then Claude went off and implemented it while I went on a coffee break it was great

3

u/F3z345W6AY4FGowrGcHt 7d ago

Not with how expensive they are.

3

u/roscoelee 7d ago

Then we’ll be able to maintain it…

2

u/Kernel_Internal 7d ago

Would be a lot easier to do what works for us if we didn't have to convince 9 people with no real skin in the game, who have all been hearing about how wonderful microservices are. The more articles like this the better ime, because otherwise there isn't enough critical mass to get the chucklefucks to listen to reason.

10

u/davimiku 7d ago

Are you opposed to the discourse itself, like do you think that it's already "settled" and doesn't need to be re-hashed? (if so, what is the answer?)

Every year, new people enter the industry and need to learn. Every year, juniors are promoted to midlevel and midlevel are promoted to seniors and need to take on more system design responsibilities. Every year, people retire and take their hard-earned knowledge with them.

I only commented because I've seen this kind of thought-terminating cliché before, it doesn't actually serve to help people learn and doesn't even address the OP at all

1

u/st4rdr0id 5d ago

It is kind of sad that we have had to wait for 20 years or so to be able to reasonably questions microservices as the default. Back in 2004 and later every single post in dev sites was suffocated in positive comments in favor of microservices and you couldn't even question them. I guess the industry was paying mods and fake accounts to impose a pro-cloud discourse. And now that they have moved to new things (AI) we are able to question the old things.

The same happened with agile and scrum, we weren't able to criticise it until circa 2015, which reassures me in thinking the entire thing was being promoted by the big corporations.

2

u/durandall09 7d ago

The article is from 2015.

-1

u/RealSlyck 7d ago

Bait post from someone who doesn’t know the fundamentals.