Integration estates become fragile through accumulation rather than complexity. Keeping one manageable comes down to four choices: publish events instead of wiring systems together in pairs, name one authoritative source for each fact, assume the other side will be unavailable, and keep a register of what connects to what.
The cost is in the count, not the complexity
A single point-to-point connection is simple. The difficulty grows with how many exist, because every system change now requires knowing which connections touch it. Ten systems wired directly can mean far more relationships than anyone tracks.
This is why the useful question is not “is this integration well built” but “how many more of these will exist in two years, and who will know where they are”.
Publish events rather than wiring pairs
When a system announces that something happened, consumers subscribe to what they need and the producer does not have to know about them. Adding the fourth consumer costs nothing on the producing side.
This is not free. Events need a schema someone owns, a versioning approach, and a way to replay them. But the cost is paid once and shared, rather than paid again for every new pair.
Decide where each fact is authoritative
Many integration problems are ownership problems. Two systems both allow an address to be edited, both send updates, and the last write wins at random. No amount of transport reliability fixes that.
Naming one system as authoritative for each fact — and making the others read-only for it — removes an entire class of failure that would otherwise be debugged repeatedly.
Assume the other side will be down
An integration that assumes availability turns one system’s outage into everyone’s outage. Queue what you cannot deliver, retry with backoff, make operations safe to repeat, and decide explicitly what the calling system does while it waits.
Equally important is what happens when the far end returns. A backlog delivered all at once can take down the system that just recovered, so rate limits belong on the way out as well as the way in.
Make the estate visible
Keep a register of what connects to what, what it carries and who owns it. It does not need tooling — a maintained list is enough. Its value appears the first time someone proposes changing a field and you can answer, in minutes rather than weeks, what will break.
