~/notes/strangler-pattern

Strangler Pattern

The Strangler pattern incrementally replaces parts of a legacy system.

Aug 20, 2026

diagram
capabilities notmigratedmigrated capabilitymigrated capabilitytemporary migrationor synctemporary migrationor sync

Clients

Routing Façade

Legacy Monolith

New Order Service

New Customer Service

Legacy Database

Order-owned Data

Customer-owned Data

capabilities notmigratedmigrated capabilitymigrated capabilitytemporary migrationor synctemporary migrationor sync

Clients

Routing Façade

Legacy Monolith

New Order Service

New Customer Service

Legacy Database

Order-owned Data

Customer-owned Data

Pros

  • Provides migration benefits step by step, so you do not have to wait for a full rewrite.
  • Lowers the risk of switching over by moving one feature or group at a time.
  • Allows you to test and roll back changes while the old system is still available.

Drawbacks

  • Using both the old and new systems at the same time makes the setup and operations more complicated for a while.
  • It is hard to manage data ownership and keep everything in sync during migration.
  • Temporary solutions and integrations might end up staying if the migration does not finish.