DEV Community

Cover image for Modernize .NET Applications with AWS Transform
Lam Bùi
Lam Bùi

Posted on

Modernize .NET Applications with AWS Transform

I. Concepts

1. What is AWS Transform?

AWS Transform is a new AWS service that uses agentic AI to automate modernization and migration of infrastructure, applications, and source code to AWS. It reduces the time, effort, and risk of handling legacy or complex systems such as mainframes, VMware, and .NET workloads by analyzing, refactoring, and redeploying on cloud.

2. Primary Use Cases

Mainframe Modernization

  • Transform COBOL, JCL, CICS, Db2, VSAM into modern Java applications.
  • Automatically analyze code, extract business logic, generate technical documents, and refactor.

VMware Migration

  • Migrate virtual machines from on‑premises VMware to Amazon EC2.
  • Auto-generate migration plans, configure VPC networking, and convert VMs to EC2.

.NET Modernization

  • Upgrade from legacy .NET Framework to cross‑platform .NET.
  • Integrates with Visual Studio; automatically resolves dependencies, builds, and tests.

Migration Assessment

  • Pre-migration cost and feasibility assessment.
  • AI-driven recommendations for EC2 sizing, BYOL optimization, and cost analysis.

3. Key Capabilities

  • Agentic AI with human-in-the-loop (HITL) for complex tasks and decisions.
  • End‑to‑end automation: discovery → planning → code refactor → deployment.
  • Flexible collaboration: role-based access (Admin, Approver, Contributor, Reader).
  • Workspaces to isolate projects, with dedicated jobs and connectors.
  • Worklog & dashboards to track progress and decisions.

4. Typical Workflow

1) Environment setup

  • Create an AWS account with administrative permissions.
  • Enable the AWS Transform service.
  • Configure AWS IAM Identity Center for users and groups.

2) Create a Workspace

  • Dedicated per transformation project.
  • Contains connectors, jobs, and artifacts.

3) Create a Connector

  • Connect to target environments (VMware account, GitHub repository, other AWS accounts).
  • Configure IAM policies and encryption with KMS.

4) Create a Job

  • Choose job type: VMware Migration, Mainframe Modernization, .NET Transform, etc.
  • Upload inputs (RVTools export, source code, JCL, spreadsheets, Git repo, etc.).

5) Execute Workflow steps

  • VMware: Discovery → Grouping → Generate VPC → Replicate & Migrate
  • Mainframe: Analyze COBOL → Generate Docs → Extract Logic → Refactor → Build Java
  • .NET: Connect Git → Resolve Dependencies → Transform Code → Test & Build
  • Assessment: Upload file → Cost estimation → Migration feasibility

6) Track Progress

  • Worklog: detailed action log.
  • Dashboard: overall job status and KPIs.

5. Security & Governance

  • Data encrypted by default using AWS KMS.
  • Option to use customer‑managed KMS keys for tighter control.
  • Comprehensive IAM policies for access control, connector creation, and deployments.
  • Supports cross‑region processing and compliance validation.

6. Roles

Role Core Permissions
Admin Full control: create workspace, job, connector; approve HITL steps
Approver Near‑admin; cannot modify users, connectors, or workspaces
Contributor Execute jobs, upload files, respond to HITL; cannot approve critical steps
Reader Read‑only access to progress and artifacts

7. Highlights by Use Case

VMware Migration

  • AI‑generated AWS VPC topology mirroring on‑prem networks.
  • Automatic wave planning from discovery data.
  • Import from NSX or RVTools via collector or direct file upload.
  • Supports Hub‑and‑Spoke and Isolated VPC topologies.

Mainframe Modernization

  • Full support for COBOL, JCL, Db2, and VSAM.
  • Clear stages: analyze → extract logic → refactor to Java.
  • Re‑run per stage for iterative validation.
  • Outputs modern Java applications deployable on AWS.

.NET Modernization

  • Connect GitHub repository to retrieve code.
  • Automatically resolve missing libraries and dependencies; refactor to .NET 6/7/8.
  • Integrate with Visual Studio for review and edits.
  • Build and deploy to test environments.

8. Core Benefits

  • Accelerate migration/modernization by 50–80%.
  • Reduce manual errors on complex workloads.
  • Preserve critical business logic via intelligent extraction.
  • Scale for large organizations: multi‑account, multi‑region, IAM governance.

II. Step‑by‑Step Guides

1) Modernize .NET Applications with AWS Transform

1.1 Objectives

Transform legacy .NET Framework applications (often Windows‑based) into cross‑platform .NET (Linux‑ready .NET 6/7/8) for deployment on AWS services such as ECS, Lambda, and EC2.

1.2 Prerequisites

Required Item Description
✅ Source repo for .NET code GitHub, CodeCommit, GitLab, etc.
✅ Project files identified Clear structure with .csproj and/or .sln
✅ Dependencies resolved Can be handled during transform if needed
✅ AWS account with Transform enabled Use IAM Identity Center for user access

1.3 Procedure

Step 1: Create a Workspace

  • Open the AWS Transform portal (service URL).
  • Sign in with IAM Identity Center credentials.
  • Open your existing workspace or create a new one.

Step 2: Create a Job

  • In the workspace, select Create a job.

  • Choose job type: .NET Modernization.

  • Name the job, optionally add a description, and select Create job.

Step 3: Create a Connector (GitHub)

  • Choose the AWS account ID used to connect to the source repository and select Next.

  • Navigate to Developer Tools → Connections and select Create connection.

  • In Create a connection, choose GitHub and provide a Connection Name. Select Connect to GitHub.

  • In Connect to GitHub, choose Install a new app.

  • Select Only select repositories, choose the forked .NET repository, then Install & Authorize.

  • Back in Connect to GitHub, select Connect.

  • Copy the ARN of the new connection.

  • Return to AWS Transform and paste the Connection ARN and Connection Name. Select Initiate connector creation.

  • Choose Copy connector link, open it in a new tab, and approve.

  • Select Finalize connector to continue.

Step 4: Discover Resources for Transformation

  • AWS Transform scans the repository to prepare for modernization.

Step 5: Prepare and Start Transformation

  • In Prepare resources for transformation, review resources and select Confirm repository.

  • Review settings (branch to create, .NET version, etc.) and select Approve and start transformation.

  • When finished, verify the generated branch in your GitHub repository.

Top comments (0)