The Strangler Fig Pattern
The big-bang rewrite fails because it flips the whole system at once. The strangler fig does the opposite: it grows the new system around the old one, feature by feature, with a router sending some traffic to each. This video shows the mechanics — the routing layer, feature-by-feature replacement, and the cutover criteria that make it safe.
Topics covered:
- Why rewrites fail: no incremental value and no rollback
- The strangler pattern: new system grows alongside, old system shrinks
- The router as the keystone: path-based or header-based routing to either system
- Strangling by feature: replacing vertical slices
- Keeping both systems live: the dual-write and comparison-check dilemma
- Cutover: traffic shifting, shadow traffic, and the kill switch
- Data migration: mapping old state to new models
- When strangling is overkill: small codebases that are faster to replace outright
Related articles
The Law of Demeter in Practice
Message chains, the law of diminishing knowledge, and why 'don't talk to strangers' prevents the most brittle code you'll ever write.
Dependency Injection and Composition Roots: Why Containers Exist
Dependency injection moves construction out of classes and into a composition root — how constructor injection, lifetimes, and DI containers actually work, and why service locator is a trap.
Testing Strategies for Architecture: Pyramid, Trophy, and Contract Tests
Architecture decides test cost — the test pyramid vs the testing trophy, where contract tests fit between services, and why dependency structure determines how fast your suite runs.
More in Software Architecture
Domain-Driven Design Basics
The core of DDD without the ceremony — ubiquitous language, bounded contexts, aggregates, and where the model boundary actually goes.
DetailsService Mesh Explained
What a service mesh actually does — sidecars, mTLS, traffic routing, and observability — and the network plumbing it takes off your plate.
DetailsFeature Flags in Practice
How feature flags work end to end — evaluation at runtime, kill switches, and canary rollouts — plus the operational discipline they demand.
DetailsThe Saga Pattern Explained
How distributed transactions work without distributed locks — saga steps, compensating actions, and the orchestration vs. choreography split.
DetailsCQRS Explained
Command query responsibility segregation — separate read and write models, why they diverge, and what you actually gain from the split.
DetailsAPI Gateway Patterns
What an API gateway actually does — routing, auth, rate limiting, and aggregation — and which patterns matter for your traffic.
DetailsHexagonal Architecture, Visualized
Ports and adapters in one diagram — how hexagonal architecture keeps business logic independent of databases, HTTP, and everything external.
DetailsEvent-Driven Architecture Explained
How event-driven systems work — events, topics, and consumers — and what the broker actually guarantees in a distributed system.
DetailsMicroservices vs. Monolith
The honest engineering comparison — deployment boundaries, data ownership, failure domains, and the real costs of splitting a system.
DetailsDepth, delivered weekly
One technical dispatch a week — articles and episode notes before they go public.
One technical dispatch per week. No noise.