The Strangler Fig: Migrating a Monolith Without the Big Bang
The riskiest way to modernize a system is to rewrite it. The “big bang” rewrite asks you to reproduce years of accumulated behavior, hit a moving target, and switch over all at once. The strangler-fig pattern offers a calmer path.
How it works
You wrap the old system in a routing layer, then peel off one capability at a time. New implementations live alongside the old, and traffic shifts gradually. Eventually the old system has nothing left to do and you retire it.
The anti-corruption layer
The key to not inheriting the monolith’s worst decisions is an anti-corruption layer — a translation boundary between your new model and the legacy one.
[ Client ] -> [ Gateway ] -> [ New Service ]
\--> [ ACL ] -> [ Legacy Monolith ]
New services speak a clean domain language; the ACL does the dirty work of translating to and from the legacy schema.
Why feature flags matter
Flags let you route a fraction of traffic to the new path, watch your metrics, and roll back instantly if something looks wrong. The migration becomes a series of small, reversible steps instead of one terrifying leap.