Strangler-fig migration
Escaping a monolith without a big-bang rewrite: a routing facade shifts traffic route by route while an anti-corruption layer and backfill keep both worlds consistent.
What this design does
The only migration strategy with a survival rate: never rewrite in one jump. A facade in front of the monolith peels off one route at a time to the new service, which shields its clean model from legacy quirks through an anti-corruption layer. History is backfilled and verified before cutover, and dark reads compare old and new answers in production before anyone depends on them. The monolith doesn't get killed — it gets strangled, route by boring route.
The patterns it composes
- Strangler fig — a facade migrates traffic route by route; the monolith shrinks in place
- Anti-corruption layer — the new service consumes legacy data through a translator, keeping its model clean
- Backfill-then-cutover — history is copied and VERIFIED before the new store becomes authoritative
- Dark reads / dual reads — both systems answer in production; diffs are logged, only one answer is served
- Expand-contract — schema changes land in additive phases so both systems stay compatible mid-flight
Import it, attach your own numbers, and verify the design against failures — or read the engineering notes.