Strangler Fig
Incremental replacement behind a routing facade.
4 to work through
-
advanced
A 15-year-old monolith must be modernised without a rewrite and without a feature freeze. Plan the migration.
2 min answer -
advanced
A 20-year-old order management system must be replaced. It cannot be paused and its business rules are undocumented. What is your approach and what is the hardest part?
3 min answer -
advanced Multiple choice
A 2004-era order management system runs on an Oracle database where roughly 40 PL/SQL triggers and packages hold business rules that exist nowhere else. A facade is in place and three read-only capabilities already route to the new service. The team must now move its first write. Which rule should decide which write goes first?
3 min answer -
advanced
What distinguishes a strangler migration that completes from one that becomes permanent coexistence?
2 min answer
3 terms in this topic
Legacy Side-Effect Inventory
The enumerated list of triggers, stored procedures, scheduled jobs and integrations that fire as a consequence of a legacy write, which determines wh…
practiceSeam Identification
Locating the places in a legacy system where behaviour can be intercepted and redirected, which determines whether an incremental migration is feasib…
patternStrangler Fig
Replacing a legacy system incrementally by routing individual capabilities to new implementations until nothing is left running on the old one.
Neighbouring topics
Architecture Patterns
General material on architectural patterns and their trade-offs.
Layered Architecture
The default shape, its clarity, and where a technical partition fails.
Event-Driven Architecture
Publishing facts, and trading comprehensibility for decoupling.
Pipes and Filters
Independent transformation steps composed into a pipeline.
Publish/Subscribe
Broadcast to every subscriber, as distinct from work distribution.
Competing Consumers
Scaling throughput with instances, at the cost of ordering.
Saga
Local transactions with compensating actions across services.
CQRS
Separate models for writing and reading, each optimised for its job.
Event Sourcing
The event log as the system of record, with state as a projection.
Outbox
Making the event atomic with the business write it describes.
Anti-Corruption Layer
Translating a foreign model at the boundary so it does not leak in.
Sidecar & Ambassador
Cross-cutting behaviour in a co-deployed process.
Service Mesh
Sidecars applied estate-wide, and the scale at which that pays.
API Gateway
A single entry point for policy, routing and protocol translation.
Backend for Frontend
A narrow backend per client experience, owned by that client's team.
Cell-Based Architecture
Complete isolated copies each serving a subset of customers.
Sharding Patterns
Directory versus embedded keys, logical shards and rebalancing.
Materialized Views
Precomputed query results, refreshed incrementally or in full.
Orchestration vs Choreography
A coordinator that knows the flow, or services that react to events.