A Red Hat engineer details how their team rewrote the access management UI for the Red Hat Hybrid Cloud Console from V1 to V2 without downtime, over nine months. The approach used the strangler fig pattern adapted for frontend code, replacing bottom-up (data layer first, then components). Crucially, the first two months were spent writing behavioral tests for the existing V1 code before any migration work began, resulting in 130+ test files as a regression safety net. Coexistence between V1 and V2 was enforced via custom lint rules preventing cross-version imports. By completion, the suite had 959 browser-based tests and 207 E2E tests, enabling confident removal of 216 files of old state management in a single commit. Key lessons: specify before migrating, make one type of change at a time, enforce architectural boundaries with tooling rather than conventions, and ban flakiness patterns at the lint level.

Table of contents
The problemThe bet: Specify the old system before touching itThe architecture: Strangler fig, bottom-upThe coexistence boundaryThe test suite as permanent assetWhat's happening nowWhat I'd tell you if you're facing the same problemLearn moreSort: