Architecture Lab

Integration platforms

Boundaries, contracts and resilience patterns for connecting heterogeneous systems.

Integration platforms fail when contracts are informal and ownership is unclear.

Strong systems make boundaries explicit, version contracts carefully, and choose sync vs async based on failure and latency characteristics.

Sanitised system shape

           External / Internal Producer
                    │
                    ▼
              Contract Gate
           (auth / schema / policy)
                    │
          ┌─────────┴─────────┐
          ▼                   ▼
       Sync API            Event Bus
          │                   │
          ▼                   ▼
       Consumer            Consumers
       Adapter             + Retries
          \                   /
           \--------|--------/
                    ▼
            Observability
         (trace / lag / DLQ)

Decision

Standardise contracts and reusable integration paths so each new connection is an instance of a platform capability, not a bespoke project.

Trade-off

Standardisation reduces specialist heroics and inconsistency, but requires investment before the hundredth integration feels “easy”.

Failure mode

Hidden coupling, undocumented schemas, retry storms, and knowledge concentrated in a few senior engineers.

Why I chose this

Integrations scale with demand only when the organisation builds leverage — patterns, tooling and ownership — not just more custom glue.

APIs Events Contracts

Related: Engineering Decisions