01 The challenge
Feature releases took weeks because everything shipped together and everything could break together. A single failure could take down the whole product. Hiring for the ageing technology was getting harder, and a big-bang rewrite was too risky for a business with customers depending on the product every day.
02 What we did
- Strangler-fig migration: new services built around the monolith's edges and traffic shifted gradually behind an API gateway
- Domain-driven service boundaries agreed with the product team before any code moved
- Data migration with dual-writes and reconciliation so nothing was lost during cut-over
- CI/CD per service with automated tests, canary releases and instant rollback
- Platform observability so a service problem stays a service problem
03 The results
- Feature deployment time cut from weeks to days
- Engineering productivity roughly doubled
- Uptime improved to well above 99.9%
- Senior engineers hired more easily on the modern stack