Signs it is time to revisit service boundaries
The version of this that works is simpler than the version most people imagine. A few signals that service boundaries is due some attention.
The right architecture for a team of three is the wrong one for a team of thirty, and vice versa. The teams that stay on top of it are the ones who put it on a calendar rather than a wish list.
The signals
- Nobody can say when it was last reviewed
- The answer depends on who you ask
- The wrong boundary is more expensive than no boundary
- If two services always deploy together they are one service
What good looks like
Data ownership is the clearest line to draw. There is a version of this that is over-engineered, and it is worth avoiding. It rarely shows up as a line item, which is exactly why it slips.
The short version
Most systems fail at the seams rather than inside any one component. 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
None of this needs a rewrite. Most of it is a morning's work once someone decides to do it.