Big bang rewrites fail
Replacing a legacy system all at once is risky: the new system must match years of behavior before any value ships, and a single cutover can break everything.
The strangler fig idea
Named after a vine that grows over a tree, the strangler fig pattern wraps the legacy system in a facade that routes traffic. You then move features one at a time.
- Build a new service for one slice of behavior.
- Route that slice to the new service via the facade.
- Leave the rest on the legacy system.
Growing the replacement
Over many iterations more routes point to new services until the legacy system handles nothing and can be deleted. Each step ships value and is easy to roll back.
Watch points
- The facade must route reliably and is a critical path.
- Keep data consistent during overlap, often via an anti corruption layer.
Key idea
The strangler fig replaces a legacy system feature by feature behind a routing facade, shipping value and staying reversible at each step.