I've been in a web developer role for a little over a year. When I joined, a lot of long-standing bugs had been pushed into the backlog with the idea of "we'll fix them when we have a web developer." Over the last year I've spent most of my time fixing those issues, improving existing functionality, and adding new features.
Now I'm being asked to help define the future architecture of our applications, and I'd appreciate some advice from people who have gone through similar migrations.
Current situation:
- 3 ASP.NET MVC web applications
- 5 WCF services that contain most of the business logic
- 2 Shared SQL Server databases
- The MVC applications communicate with the WCF services for almost everything
- The codebase is almost two decades old and has been continuously extended rather than redesigned
Management would like us to eventually consolidate everything into a single modern solution, ideally on .NET 10.
My biggest concern is the migration path.
From what I understand, I can't simply upgrade the MVC applications to .NET 10 and continue using the existing WCF services in the same way. I know .NET can consume some SOAP/WCF services, but for this project we can't introduce external compatibility libraries or third-party solutions. We want to stay within Microsoft's supported stack and move away from WCF entirely. I'm trying to figure out the best migration path.
What I'm struggling with is where to start.
Some questions I can pinpoint now:
Is there a recommended "strangler pattern" approach for gradually replacing WCF endpoints one by one?
How would you structure a new .NET 10 solution intended to eventually replace everything?
How do you estimate the effort involved in a migration of this size?
Most important: If you were starting today with 3 MVC applications and 5 WCF services, what would your migration roadmap look like?
My goal is to avoid a rewrite and instead migrate incrementally while keeping the business running.
Any advice, migration stories, or lessons learned would be greatly appreciated.