Strangler Fig
Routing capabilities to new implementations behind a facade, one at a time.
6 to work through
-
beginner
A facade in front of a 12-year-old monolith routes 3 of about 20 capabilities to new services, matched by URL prefix. A new mobile build starts calling an endpoint nobody listed in the facade's configuration. What happens, and what should the facade's behaviour for an unmatched route be?
3 min answer -
advanced
A commerce platform begins a strangler migration. Which slice should be first, and what must exist before any slice moves?
2 min answer -
advanced
A legacy scheduling system must be replaced incrementally. How should a strangler approach, traffic shadowing, dual-run comparison and rollback be sequenced, and what reconciliation is required?
3 min answer -
advanced
A strangler migration is 70% complete and has stalled. The legacy system still runs. What happened and what do you do?
2 min answer -
advanced
A wallet platform must migrate from a monolith to services while serving live traffic. What sequence minimises risk, and which step is usually done in the wrong order?
2 min answer -
advanced
You are modernising a fifteen-year-old monolith with the strangler pattern. Which slice do you extract first, and why?
2 min answer
4 terms in this topic
Read-First Extraction
Extracting a service's read path before its write path, because a wrong read migration is a flag flip while a wrong write migration is a data reconci…
patternStrangler Facade
The routing layer in front of a legacy system that decides, per capability, whether a request goes to the old implementation or the new one.
patternStrangler Fig Execution
Incrementally replacing a legacy system by routing slices of functionality to new implementations behind a facade, until nothing routes to the original.
practiceTraffic Shadowing
Sending real production traffic to a new implementation alongside the old one, serving the old response and comparing - the only reliable way to find…
Neighbouring topics
Legacy Modernization
General material on modernising existing systems.
Legacy Assessment
Understanding what a system does before deciding what to do with it.
The Six Rs
Rehost, replatform, refactor, repurchase, retire, retain — per application.
Rehosting
Lift and shift: fastest, cheapest, and capturing none of the benefits.
Replatforming
Targeted changes that capture operational wins without a rewrite.
Refactoring & Re-architecting
Changing structure incrementally while the system keeps running.
Rebuild vs Re-architect
Why greenfield replacement fails, and the narrow cases where it does not.
Application Decomposition
Finding seams in a monolith, starting from the data.
Database Migration
Moving engines, versions and schemas without losing data or uptime.
Data Migration Strategies
Backfill, dual-write, reconciliation and verification.
Zero-Downtime Migration
Expand, migrate, contract — and the contract phase that never happens.
Parallel Run
Shadowing the old system to discover the rules nobody documented.
Cutover Planning
Rehearsals, go/no-go criteria and a rollback that has been executed.
Legacy Integration Patterns
Anti-corruption layers, adapters and CDC against systems that cannot change.
Mainframe Modernization
Batch windows, COBOL, and the risk profile of core banking systems.
Migration Risk
Bounding blast radius, staging by cohort, and honest readiness reporting.
Modernisation Business Case
Pricing tail risk so deferred maintenance becomes fundable.
Coexistence Patterns
Running old and new together for years without corrupting either.
Decommissioning
Actually switching the old system off, and proving nothing depended on it.