Refactoring Strategies for Net Applications as You Migrate to Cloud Xnt301

Title

AWS re:Invent 2022 - Refactoring strategies for .NET applications as you migrate to cloud (XNT301)

Summary

  • Tom Moore, a senior developer advocate, and Raneet Vashisht, a solutions architect, discuss refactoring strategies for .NET applications migrating to AWS.
  • They cover the seven R's of moving applications to the cloud: Relocate, Rehost, Replatform, Repurchase, Retain, Retire, and Refactor.
  • The session focuses on a media catalog application, initially a .NET 4.8 monolith, and demonstrates refactoring to .NET 6 and microservices.
  • The AWS Porting Assistant for .NET is introduced to help with porting from .NET Framework to .NET Core or .NET 6.
  • AWS Toolkit for .NET Refactoring is showcased, which assists in porting and testing applications within Visual Studio.
  • The AWS Microservice Extractor for .NET is presented, which helps extract parts of an application into microservices.
  • The session concludes with a demonstration of the AWS Toolkit for Visual Studio's "Publish to AWS" feature for deploying applications.

Insights

  • Refactoring to .NET 6 from older versions of .NET Framework is recommended due to the end of major releases for .NET Framework and the performance benefits of .NET 6.
  • Porting to .NET 6 can reduce costs by eliminating Windows licensing fees and leveraging Linux-based deployments, including containerization and ARM64-based processors like AWS Graviton.
  • The AWS Porting Assistant for .NET can significantly reduce the manual effort required to identify and address incompatibilities during the porting process.
  • The AWS Toolkit for .NET Refactoring provides a streamlined experience for testing deployments and can automatically containerize applications for deployment on ECS Fargate.
  • The AWS Microservice Extractor for .NET aids in transitioning from monolithic architectures to microservices, allowing for independent scaling and deployment of application components.
  • The session emphasizes the importance of adopting cloud-native features and DevOps practices to improve scalability, performance, and cost-efficiency.
  • The tools and strategies discussed are part of AWS's broader efforts to support .NET developers in modernizing their applications for the cloud.