Dabish Digital
Architecture

Why monoliths and microservices matters more than it looks

The advice here is unglamorous, which is probably why it gets skipped. Monoliths and microservices is easy to treat as a detail, and that is exactly why it is worth a few minutes of attention.

Architecture is the set of decisions that are expensive to reverse, which is the only reason they deserve the name. The practical test is whether someone new to the project could tell, in a minute, that it had been handled.

What is actually at stake

A well-structured monolith beats a badly split set of services. The teams that handle this well are rarely the ones with the biggest budgets. Doing this properly once is usually cheaper than doing it approximately three times.

Split along boundaries the business already has, not along technical layers. In practice this is a scheduling problem more than a technical one. If it only works because one person remembers to do something, it does not work yet.

Warning signs

Distributed systems trade a coding problem for an operations problem. Where this goes wrong is almost never a lack of knowledge. Most teams find the first pass takes an afternoon and the maintenance takes minutes a month.

What this looks like day to day

Most systems fail at the seams rather than inside any one component. Three things worth confirming about monoliths and microservices before you move on:

  • Someone can say what the current setup is without going to look
  • Split along boundaries the business already has, not along technical layers — and you know whether that is true here
  • There is a way to tell whether the last change to this helped

Worth checking on your own setup before it becomes someone else's problem to fix.