DEV Community

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

Posted on

Modernize Mainframe 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 Mainframe Applications with AWS Transform

1.1 Objectives

Use AWS Transform to modernize mainframe COBOL applications (commonly on IBM z/OS) by:

  • Analyzing COBOL/JCL/CICS code.
  • Generating technical documentation and extracting business logic.
  • Decomposing a monolith into functional domains.
  • Refactoring and transforming code into modern Java.
  • Planning migration waves.
  • Creating deployment pipelines on AWS.

The journey follows four phases: Assess → Mobilize → Migrate & Modernize → Operate & Optimize.

1.2 Procedure

Step 1: Prepare Source Code

  • After extracting, locate the app/ folder with multiple subfolders.

Step 2: Keep Only Required Folders

Keep these under app/:

✅ Keep Reason
app/cbl/ COBOL programs
app/jcl/ Job Control Language scripts
app/cpy/ Copybooks (shared data definitions)
app/bms/ CICS screen maps (if present)
app/data/ EBCDIC data (test or demo)
app/proc/ JCL procedures and helper programs

Remove:

❌ Remove Reason
catlg/, ctl/, csd/, cpy-bms/ Not essential for core analysis

Step 3: Zip the Source

  • Rename folder app to mainframe-src, then zip it.

Step 4: Upload to S3

  • Upload mainframe-src.zip to the bucket.

Step 5: Create Workspace and Job

  • Open the AWS Transform portal and sign in via IAM Identity Center.
  • Open your workspace or create a new one.
  • Select Create a job.

  • Choose job type: Mainframe Modernization.

  • To experience the full pipeline, select: Analyze code, Generate technical documentation, Decompose code, Plan migration sequence, and Transform code to Java.

  • Name the job and create it.

Step 6: Start Modernization

  • Skip Add collaborators and proceed to Connect to AWS account.
  • Enter your AWS Account ID and select Next.

  • In S3 console, copy the Bucket ARN of lam-mainframe-transform and paste it in AWS Transform to create a connector. Select Create connector.

  • Copy the verification link, open it in a new tab, and approve access to S3 for AWS Transform.

  • After admin approval, select Send to AWS Transform to continue.

  • Enter the S3 URI of mainframe-src.zip and select Send to AWS Transform.

Step 7: Analyze COBOL Code

  • When Analyze code completes, review results and select Send to AWS Transform to proceed.

Step 8: Generate Technical Documentation

  • Open Summary and select all folders in Selected Files.

  • Select Send to AWS Transform to begin Decompose code.

  • When complete, view the generated documentation in: s3://lam-mainframe-transform/transform-output/

Step 9: Decompose into Domains

  • Create a domain classification. Each domain represents a separate functional area.
  • Recommended initial domains and seed files:
Domain Seed Files Cyclomatic Complexity Description (EN) Reason for Selection
Customer Domain CBCUS01C.cbl, COUSR00C.cbl 20 / 102 Customer and user information handling Key customer/user management, moderate complexity
Transaction Domain CBTRN01C.cbl, COTRN00C.cbl 59 / 100 Processing and managing financial transactions Core transaction logic, high complexity
Card Domain COCRDLIC.cbl, COCRDUPC.cbl 144 / 159 Card data listing and updates Primary card ops, high complexity
Account Domain CBACT01C.cbl, CBACT04C.cbl 1 / 98 Account-level data and operations Foundational account logic, moderate complexity
Admin Domain COADM01C.cbl 36 Administrative features and controls Focused module, clearly separable
Common/Utility CBSTM03A.cbl, CSUTLDTC.cbl 1 / 11 Shared utilities and helper functions Commonly reused lightweight utilities
  • In AWS Transform, choose Actions → Create domain.

  • Create Customer Domain with description: Handles customer and user information.

  • Select CBTRN01C.cbl and choose Mark as seed.

  • Add COUSR00C.cbl as a seed file as well. Select Create.

  • Select Save to finalize the domain.

  • Repeat for other domains listed above. For Common/Utility Domain, enable Set as a common domain.

  • When domains are ready, select Decompose and then Send to AWS Transform.

Step 10: Plan Migration Waves

  • In Plan migration wave, review the suggested references.

  • Select Add reference, provide referenced waves, and choose Add and regenerate.

  • When complete, select Send to AWS Transform to proceed to Refactor code.

Step 11: Refactor Code

  • In Transform, select all domains and choose Send to AWS Transform.

  • When refactoring completes, select View result to find generated.zip in S3.

Top comments (0)