Things to Consider Before Migrating Old .NET Applications to Cloud

Things to Consider Before Migrating Old .NET Applications to Cloud

2022-03-17

Migrating a legacy .NET application to the cloud can unlock powerful capabilities — scalability, resilience, built-in monitoring, and more. But moving to Azure without proper preparation is a recipe for costly surprises. In this episode, Jonah Andersson — Microsoft MVP for Azure and software engineer at Forefront Consulting Sweden — shares the real story of a .NET migration that turned into a hard-won lesson.

What Went Wrong (and Why)

The challenges Jonah encountered weren’t Azure problems — they were preparation problems. Key issues included:

  • Unresolved technical debt: Old codebases carry accumulated decisions that made sense at the time but become liabilities when transplanted to a cloud environment.
  • Database complexity: Tightly coupled database schemas and undocumented stored procedures caused significant friction during migration.
  • Organisational readiness: Teams need to be aligned on goals, ownership, and cloud operating models before a migration begins — not after.

What to Address Before You Migrate

Jonah recommends a structured approach before any cloud migration:

  1. Define your strategy first: Begin with the end in mind. Know what success looks like in the cloud and work backwards from there.
  2. Fix technical debt before migrating: Address database schema issues, circular dependencies, and legacy coupling before a single service moves to the cloud.
  3. Move to modern .NET: Target .NET (formerly .NET Core) and cross-platform frameworks that are purpose-built for cloud-native workloads.
  4. Leverage cloud observability from day one: Tools like Azure Application Insights give you visibility into application behaviour that on-premises monitoring simply cannot match.

Related Content

CGN8 - Cloud Gaming Notes Episode 8 - Azure for Game Developers

CGN8 - Cloud Gaming Notes Episode 8 - Azure for Game Developers

2021-10-06

Chris is joined by LaBrina Loving, Developer Advocate for Gaming at Microsoft, who shares her journey from twenty years of .NET and enterprise development into the world of game development. The episode covers growing cloud adoption among game studios, the key technical differences between enterprise and game development (latency, UDP vs TCP), how enterprise development skills transfer directly to gaming, and practical tips for any developer considering the leap.

How to be successful with monitoring in Azure

How to be successful with monitoring in Azure

2021-08-04

Monitoring is often an afterthought — until something breaks. In this episode, Chris is joined by Vanessa Bruwer, Senior Engineer on Microsoft's FastTrack for Azure team, to explore how organisations can build a structured observability strategy using Azure Monitor, Application Insights, Log Analytics, and distributed tracing. Vanessa shares the FastTrack methodology for taking teams from zero monitoring knowledge to self-sufficient Azure Monitor configuration, covering alerting strategy, metrics, and the differences between monitoring a VM versus a distributed microservice architecture.

38 - Hands-on with The Geode Pattern (Build globally distributed applications!)

38 - Hands-on with The Geode Pattern (Build globally distributed applications!)

2021-06-11

Episode 11 covered the Geode pattern in theory — now it's time to get hands-on! Will Eastbury returns to walk through a real-world OData service deployed across three Azure regions (US West, Australia Southeast, and UK West), stitched together by Azure Front Door for active-active routing. Watch how Cosmos DB replicates data across all regions as a shared backplane, how health probes detect and remove unhealthy geodes from rotation, and the ASP.NET middleware pattern needed to handle URL rewriting — a critical authentication gotcha when hosting services behind a reverse proxy.