azyware
Modernization, ERP/CRM & implementationTechnique / practice

Strangler pattern

Also: strangler fig pattern, incremental replacement

In one sentence

What is Strangler pattern?

The strangler pattern replaces a legacy system gradually by routing individual functions to new services behind a facade, until the old system handles nothing and can be switched off.

What Strangler pattern means

The strangler pattern, named after the strangler fig that grows around a host tree, is a way to modernize a system without a big-bang cutover. You place a facade or routing layer in front of the legacy application. At first every request passes straight through. Then, one capability at a time, you build a replacement service, point the facade at it, and retire the corresponding legacy code. Users never see a switch; they see the same URL, screen or API.

The routing layer is the key piece. It may be an API gateway, a reverse proxy, a feature flag inside the application, or a database-level trigger that mirrors writes. Choosing which capability to strangle first matters: pick something with a clear boundary, moderate risk and visible value, such as reporting or notifications, rather than the core ledger.

It is not a rewrite in disguise. If you build the new system in full before routing any traffic, you have simply added a facade to a rewrite. The pattern only reduces risk if each slice goes live independently and the old code for that slice is actually removed.

Who it really matters to

  • CTO / Head of Engineering: it lets the team ship modernized slices every few weeks instead of betting everything on a single cutover date.
  • Product manager: new features can be built in the new stack immediately, rather than waiting for the migration to finish.
  • CFO: spend is spread and each phase has a visible deliverable, which is easier to approve than a year-long rewrite with nothing to show until the end.
  • Operations head: business processes keep running; if a new slice misbehaves, routing flips back to the old code in minutes.

Why it exists

Big-bang replacements of business systems fail often enough that the industry needed a safer alternative. The problem is hidden scope: legacy systems encode years of exceptions that nobody documented, and a full rewrite only discovers them at cutover. The strangler pattern exists so that discovery happens one slice at a time, with a rollback path. The trade-off is that you run two systems in parallel for months, need a routing layer you trust, and must be strict about which system owns each piece of data, or you end up maintaining both forever.

Where it is applied

  • Moving a lender's loan-origination screens to a new web app one workflow at a time while the legacy core still books the loans.
  • Extracting order management from a retailer's monolith into a service that the storefront and WhatsApp channel both call.
  • Replacing the reporting module of a hospital information system with a new analytics service before touching clinical modules.
  • Retiring a university ERP's fee-collection module first, because it has the clearest boundary and the most visible pain.
  • Introducing an AI document-processing service behind the same endpoint the old manual data-entry screen used.

Is Strangler pattern a skill?

Technique / practiceAn architectural pattern engineers apply, not a tool you buy. It is the backbone of Eazyware's Legacy-to-AI Modernization work, combined with characterisation tests and an API layer over the monolith.

Eazyware service that covers it: Legacy-to-AI Modernization Program. Starting prices are on the pricing page.

Frequently asked questions

What should be strangled first?

A capability with a clear boundary, moderate risk and visible benefit, such as reporting, notifications or a single workflow. Leave the core ledger or transaction engine until the routing layer and tests have proved themselves on easier slices.

Does the strangler pattern work with a shared database?

Yes, but it is the hardest part. Each slice must have one system of record; the other reads or mirrors. Dual writes without a clear owner are the most common way strangler programmes stall.

Related reading

Need Strangler pattern built, not just explained?

PRJECT IN MIND?