An Infrastructure Maturity Model
Most organisations follow a predictable infrastructure evolution. Understanding where you are in this arc prevents both premature optimisation and painful under-investment.
Stage 1 — Monolith: ship fast, couple hard
The right choice for speed. The danger is treating it as permanent. The cost of tight coupling is invisible until your first scaling event — then it is overwhelming.
Stage 2 — Service extraction: decompose by business boundary
Extract services along domain lines, not technical layers. A “payments service” is a domain; a “database service” is an anti-pattern. Team ownership should map cleanly to service boundaries.
Stage 3 — Platform thinking: build for internal developers first
Internal platform teams exist to reduce cognitive load on product engineers. Treat internal tooling with the same governance rigour you apply to external surfaces. The developer experience of your CI/CD pipeline matters as much as that of your product API.