8 ms·
The reason micro services became fancy is because they could split up large groups of people. They could work on different parts more autonomously without all b
by lucfranken 27d ago
The reason micro services became fancy is because they could split up large groups of people. They could work on different parts more autonomously without all being dependent on each other.
It has an overhead but as scaling the amount of people was worth it there was an advantage.
Where did this work: where the interfaces between those groups of people were agreed upon.
A team could call: finance->billTrip(TripObject) via an API and the finance team became independent. The micro services had an API which was documented. They could move from Stripe to SAP to a custom solution internally without bothering the other teams.
Now we have AI.
Those interfaces are still needed. But is there still an advantage to hard separating those interfaces in real micro services, with separate databases for each team, over http or other protocols?
On some point it may. A service which needs to scale unlimited (like RenderThumbnails with hundreds of thousands of call per day) might have that. But if you send out 1000 invoices per day it might not be needed for that at all.
In Rails they have active job for it for example. Same codebase but a scalable worker for longer running jobs.
AI is capable of quickly keeping function calls consistent internally. So a hard coded API is way less useful now for those services which don’t need the scale. An interface could suffice just fine. No human would ever read the finance API anyway.
Keeping consistency in the monolith part is way easier. That is statically testable, quicker testable and there are plenty of tools. All disadvantages on micro services on those calls are just a waste.
One thing where I think hard boundaries are useful is on really blocking AI coding tools. With microservices you are able to physically prevent Claude or others to modify the other interfaces. That way it prevents hallucinations, quick fixes and other workarounds the tools like to do. Just because an AI wants to get sometime done it will sometimes skip corners.
I see that as a current state which will be fixed quite soon. The models and their harnesses will become increasingly better in preventing stupid corner cutting to get the fix out.
When that is done: why would you want more complexity with micro services instead of less?
Instead of we all implementing microservices and other structures we should get the harnesses right to respect interfaces and boundaries.
And in the micro services era we had meetings to sync the API’s between them. So maybe the AI’s should meet about the interfaces, with a good coffee.