IBM TechXchange AWS Cloud Native User Group

AWS Cloud Native User Group

This group focuses on AWS Cloud Native services. All the discussions, blogs and events will be very specific to AWS Cloud.

 View Only

Accelerate modernization with Amazon Q Code Transformation for .NET

By Rahul Anand posted Thu March 13, 2025 10:46 AM

  

"IN December 2024, AWS introduced Amazon Q Developer transformation capabilities (in preview), a groundbreaking service that automates the modernization of .NET, VMware, and mainframe workloads. 
This blog deep dives into powerful capabilities of Amazon Q Developer Transform for .NET demonstrating how it seamlessly transforms applications, through a hands-on example." 

1. Introduction

 1. Upgrading and porting classic .NET apps is hard!

Upgrading and porting classic .NET applications, often presents formidable technical challenges that can overwhelm development teams and an enterprise due to :-
  • Complex endeavor: An enterprise .NET app have 10s to 100s of projects, name spaces, and NuGet packages
  • Resource intensive: Teams need to dedicate time and resources for undifferentiated tasks
  • Inadequate tooling: Currently available assistive tools require developers to drive porting manually
  • Deprecated code: Legacy apps on older code bases require refactoring deprecated code during porting

1.1 Why Consider upgrading and porting classic .NET ?

  • Significant performance improvements in modern .NET.
  • Reduce licensing costs by up to 40% by moving to Linux-based environments.
  • Modern Development Features and Better cross-platform development support
  • Security and Maintenance, Regular security updates and patches
  • Cloud-Native Capabilities
1.2. How can "Amazon Q Transform" can address the above challenges by streamlining and automating the .NET Porting?
Amazon Q Developer transform for .NET is a generative AI-powered capability that helps modernize and port .NET Framework applications to cross-platform .NET.
  • automates .NET application porting from Legacy .NET Windows to Cross Platform .NET up to 4 times faster
  • Streamline transformation tasks and slash operational costs by up to 40%
  • Offload tedious .NET porting tasks, such as code analysis, dependency mapping, and refactoring, and reduce Windows licensing costs.
  • Port hundreds of .NET applications in parallel with generative AI agents

2.  Step by Step Transformation - Music Application .Net Legacy MVC application

In the section below, we’ll dive into how AWS QT streamline upgrade from .NET Framework 4.7.2 to .NET 8, with below objectives ..

  • Test the end to functionality of Q Developer Transform for porting legacy .net Framework to .net 8, for my music store application code.
  • Access the transformed code accuracy
2.1 AWS Provides 2 ways to use Q Developer Transform for .NET

Note: both the options uses the same method to transform the code and code quality there is no difference, however with QT Web option users can transform more then 1 application in parallel. We will deep dive with Option 1.
2.2 About the source application and source code.
  • MvcMusicStore is a full-featured ASP.NET MVC application that provides a modern online music store experience.
  • It enables users to browse music albums by genre, manage their shopping cart, and complete purchases through a streamlined checkout process.
## Technical Stack

### Framework & Runtime
  • ASP.NET MVC 5
  • .NET Framework 4.7.2
  • Entity Framework 6.x for ORM and data access
  • ASP.NET Identity for authentication and authorization
### Frontend Technologies
  • HTML5 & CSS3
### Backend Technologies
  • ASP.NET MVC Razor view engine
### Database
  • Microsoft SQL Server 2012 or later
## Below video steps demonstrate the source .NET Legacy application source code structure and technology stack documentation .. (code documentation is generated by Q Developer)
2.3 . Let's, start transformation of this legacy, .NET .4.7.2 => .NET 8, using the AWS QT .NET web console ..
  • Login to QT Console web URL using Identity store user. (The QT should be enabled, and Identity Center user should be added by your AWS Administrator)
  • Create Workspace , and ask Q to create .NET transform job ..
  • Connect your SCM account with AWS account, Q will use this to get the source code, I my case I have put this music store application source code in GitHub repo, and have my github connected with AWS
  • High level architecture, QT with Github ..
  • Step by step Demo ..

  • Once connected with GitHub , Q automatically scans all the repositories which it has permission to scanEx: in my case Q has scanned 3 repositories.
  • Q will keep, Human in a loop to select the repositories which you have want to transform. (you can selected multiple repositories), Q will also create a destination branch in the same GitHUB source repo, where it will push the transformed code.

  • Once you confirm and send job to Q , Q will start , code transformation of your source code ..

  •    Once completed Q will publish the report in dashboard 

  • Below are the demo steps ..

3. Observations and Outcomes from Q Transform Evaluation

3.1 Key Findings and Productivity Gains from Testing

Note: Productivity may vary depending on the size and complexity of your source project.

4. Supported Platform

 4.1 What are the .NET supported platform

5. Data Security in AWS QT.

5.1. How is my code used by AWS QT , and what is the security of my code ?

AWS creates a secure and ephemeral sandbox to analyze your surce code, generate a transformation plan, transform code, debug build errors, This is highly secure and You may also use customer managed KMS keys (CMK) for encrypting your code.
 
AWS implement appropriate controls, including encryption in transit, to prevent unauthorized access to, or disclosure of, your content and ensure that our use complies with AWS commitments to customer.

5.2 Can my code or content be accessed or utilized by AWS to improve its services? Your content is processed by Q solely to provide the transformation service for you. 
Content processed by Amazon Q is neither stored nor used for service improvement.
refer to AWS:

Data Privacy FAQ for more information

0 comments
25 views

Permalink