15 November 2025 · 4 min read
The organisational argument is the real one
Microservices primarily solve a team-coordination problem: independent deploy cadence for independent teams. With one team, they add cost and remove nothing.
Split when deployment coordination becomes the bottleneck, not before.
Wrong boundaries are expensive
A boundary drawn wrongly turns a function call into a network call with partial failure, versioning, and latency. Extracting it back is harder than splitting it was.
A modular monolith with enforced internal boundaries gives most of the benefit and keeps the option open.
Budget the operational surface
Service discovery, distributed tracing, contract testing, and per-service pipelines are all real ongoing costs.
If you cannot staff that, the architecture will degrade into a distributed monolith.
Where to go from here
If you are weighing service architecture for an upcoming project, the useful next step is usually a short scoping conversation rather than a longer article. Bring your constraints — budget, timeline, existing systems, and the team you already have — and the decision usually resolves itself in an hour.
We run these as a fixed-scope discovery session with a written recommendation at the end, including the cases where our advice is that you do not need us.
Working on something like this?
Send us the brief. We will tell you what we would build, what we would cut, and roughly what it costs.
Talk to us