Dabish Digital
Architecture

When service boundaries is worth the effort

The version of this that works is simpler than the version most people imagine. Service boundaries is not free, and pretending otherwise leads to bad decisions.

Most systems fail at the seams rather than inside any one component. It rarely shows up as a line item, which is exactly why it slips.

When it is worth it

The wrong boundary is more expensive than no boundary. It is worth being explicit about, because assumptions differ quietly. Anything you cannot measure here, you are deciding by taste, which is fine as long as everyone knows it.

When it is not

If nothing downstream depends on it and nobody is complaining, it can wait. There is a version of this that is over-engineered, and it is worth avoiding.

How to decide

Data ownership is the clearest line to draw. None of that requires a large budget, only a decision and someone to own it. It is the sort of thing that looks like polish right up until it costs you an enquiry.

In practice

The right architecture for a team of three is the wrong one for a team of thirty, and vice versa. Three things worth confirming about service boundaries before you move on:

  • Someone can say what the current setup is without going to look
  • If two services always deploy together they are one service — and you know whether that is true here
  • There is a way to tell whether the last change to this helped

If you want a second opinion on how yours is set up, ask.