Anonymized case study. Client name and identifying metrics are withheld. Patterns reflect representative senior .NET programs.
Executive summary
A North American B2B SaaS vendor ran a monolithic .NET Framework 4.8 API on Windows VMs. A senior .NET squad introduced a strangler at the API gateway, migrated two bounded contexts first, and moved traffic in waves to ASP.NET Core 8 on Azure App Service.
The challenge
The legacy API mixed HTTP, EF6, and background triggers in one deployable unit. PCI-adjacent patching cadence and release risk blocked quarterly feature delivery.
Technical approach
Strangler routing at the gateway, dual-write for two bounded contexts, EF Core parallel models, App Service slots with contract tests on every swap, and OpenTelemetry traces tied to correlation IDs.
Outcomes
Revenue paths migrated without customer-visible billing outages. Feature teams resumed quarterly delivery on the new stack while planning the next strangler slice.
Discuss a program like this
Share your constraints and stack—we will outline fit and what proof we can share on a discovery call.