← BLOG  ·  ARCHITECTURE  ·  2026.06.12

Strangler pattern in practice: Razor → React migration without stopping production

Replacing the frontend of a live system is open-heart surgery. I show how to do it module by module.

Author
BARTOSZ SZCZEPAŃSKI
Reading time
12 MIN
Level
INTERMEDIATE
Revision
2026.06.12

01Context: why migrate at all

The system in question has run in production for years: ASP.NET Core MVC, Razor views, a few hundred daily active users. The frontend aged faster than the backend — more and more requirements demand interactivity that Razor with bolted-on jQuery cannot carry without pain.

The decision to move to React was easy. Everything else was hard: the system cannot stop, the team is small, and the client pays for new features, not for rewriting old ones.

02Why not a "big bang"

Rewriting everything on the side and switching over once is tempting in its apparent cleanliness. In practice it means months of work delivering no value and one giant release nobody can test as a whole.

The strangler pattern flips the logic: the new frontend wraps the old one module by module, taking over traffic gradually — until there is nothing left of the old to strangle.

03What we learned

  • Define the switch-over criterion up front — for us: a week of the new module in production with no P1 incidents.
  • The boundary is a business module, not a single page.
  • Strangler is also a communication strategy: the client sees value every sprint.
BS

Bartosz Szczepański

.NET software architect. I design systems for railways, banking and industry — and write about them here before they forget themselves.