← Microservices: design boundaries and operate distributed systems
06 / 6 · 40 MIN

Migration and evolution

Prepare coexistence, recovery, and operational handover.

Concept and mechanism

Gradual capability extraction can reduce each change’s size but creates a period with two systems. The Strangler Fig pattern uses routing to transfer functionality in stages. Define which system accepts each write and how others receive required state. Reversing a route does not undo data already written in the new system. Compatibility must cover APIs, events, data, and coexisting versions. An adaptation layer can translate differing legacy meanings into the new model without spreading old codes across every service. That layer has operational cost, latency, and maintenance ownership that belong in the plan.

Guided application

In a fictional case, report publication moves to a new service while calculation remains in the legacy system. Before change, identify batch consumers, capacity, observability, alerts, data retention, and return criteria. During coexistence, preserve fields used by the earlier version until migration evidence exists. A release with green unit tests can still break an overnight consumer that has not run. APS handover includes a runbook, dependency map, owners, a way to query pending operations, and reconciliation procedures. Plan decommissioning only when functionality, consumers, data, and recovery no longer depend on the old component; predicted savings do not replace that evidence.

IN PRACTICE

Traffic rollback needs a separate decision about writes already accepted.

Common pitfalls

Routing as data reversal; producer tests as consumer coverage; decommissioning based only on daytime traffic.

Related topics: Boundaries and contracts · Data and distributed transactions · Resilience and load

Take this idea with you

Also deliver the ability to operate, recover, and evolve the service.

Create account

Reference: Strangler Fig pattern · Microservice architecture patterns and scoped platform examples; primary guidance consulted 2026-09-30