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.