Skip to content

Strangler Fig Pattern

Replace a legacy system incrementally in place by fronting it with a stable interception layer, rerouting one validated request path at a time to the replacement, and retiring the legacy once nothing routes to it.

Core Idea

The strangler fig pattern, named by Martin Fowler after the Ficus that grows around a host tree and eventually replaces it, is a strategy for replacing a legacy software system incrementally, in place, while the legacy keeps serving production traffic. A team places an interception layer — a façade, router, or gateway presenting a stable interface — in front of the legacy, reroutes individual request paths to a new implementation as each is validated, and decommissions the legacy once nothing routes to it.

Scope of Application

The pattern lives across the legacy-migration and architecture subfields of software, wherever a legacy can be fronted by a stable interface and carved into routable units.

  • Monolith-to-microservices migration — an API gateway fronts the monolith, one bounded context at a time.
  • Mainframe modernization — a service façade over COBOL/IMS, cut over per transaction.
  • Database replacement — dual writes, per-query-path read migration, retire at zero read traffic.
  • Frontend framework migration — legacy components wrapped and rewritten behind one routing surface.
  • Cloud migration — a cloud router fronting on-prem, migrating workload by workload.

Clarity

Naming the pattern dissolves the false rewrite-versus-maintain binary by making legible a third option — replace incrementally, in place — and identifying the artifact that makes it possible, the interception layer. It also makes the failure modes diagnosable, tying each to a lapse in that discipline: no façade, no retirement criterion, or no per-route validation.

Manages Complexity

A high-dimensional risk object — thousands of behaviors, undocumented edge cases, one dreaded cutover — compresses onto one repeated unit: the per-route cutover behind the interception layer. The team tracks a queue of routes in a few known states rather than modeling the whole replacement's risk, and reads overall health off how that queue advances.

Abstract Reasoning

The pattern licenses an interventionist risk conversion (one binary event becomes a queue of reversible steps), a diagnostic that maps each migration pathology to exactly one missing discipline, boundary-drawing on when interception is even feasible, and an order-of-events rule: validate each route before cutting over the next.

Knowledge Transfer

Within software the pattern transfers as mechanism across monolith extraction, mainframe modernization, database and cloud migration, the interception layer and its disciplines carrying intact. Beyond software the portable shape — parallel coexistence, gradual shift, retirement under continuity of service — recurs in institutional reform and ecological succession, but only as metaphor, dropping the operational bite. That shape is carried by succession/incremental-migration and the primes modularity, interface, and reversibility.

Relationships to Other Abstractions

Local relationship map for Strangler Fig PatternParents appear above the current abstraction, mutual partners to the right, and children below. Node labels state whether each abstraction is prime or domain-specific; colors identify relation types.Strangler Fig PatternDOMAINPrime abstraction: Legacy Integration — is a kind ofLegacyIntegrationPRIME

Current abstraction Strangler Fig Pattern Domain-specific

Parents (1) — more general patterns this builds on

  • Strangler Fig Pattern is a kind of Legacy Integration Prime

    The Strangler Fig Pattern is legacy integration specialized to incremental software replacement behind a stable interception layer with route-by-route validation and retirement.

Hierarchy paths (2) — routes to 2 parentless roots

Neighborhood in Abstraction Space

Strangler Fig Pattern sits in a sparse region of the domain-specific corpus (67th percentile for distinctiveness): few abstractions share its structure, so a faithful description tends to retrieve it precisely.

Family — Managing Exceptions & Change (5 abstractions)

Nearest neighbors

Computed from structural-signature embeddings · 2026-07-12