Migration & Modernization

Simplify mainframe modernization using Amazon Q Developer generative AI agents

AWS just announced new generative AI–powered transformation capabilities of Amazon Q Developer for large-scale assessment and modernization of mainframe applications. Q Developer provides an objective-driven approach powered by autonomous generative AI agents to accelerate mainframe application modernization. It allows customers to define high-level goals and have Q Developer orchestrate the tools and streamline human actions to analyze the codebase, decompose monoliths, transform the code. It provides key features such as goal-driven reasoning and coordination, classification and missing asset identification, decomposition and planning, automated documentation generation, and refactoring capabilities that transform legacy languages into modern, cloud-optimized code. By combining these capabilities, Q Developer equips customers to modernize their critical mainframe systems faster, cost-effectively, and with confidence that their business-critical logic will be preserved.

This blog post introduces new Amazon Q Developer capabilities, highlighting their value to customers, and providing a visual overview of their interface and functionality.

Organizations want to modernize legacy applications, especially business-critical mainframe workloads, in order to improve agility, reduce costs, and mitigate risks associated with outdated architecture. However, modernizing these applications presents significant challenges. First, companies spend months understanding large, poorly documented legacy codebases, comprising millions of lines of code, and complex dependencies. Second, the modernization process requires organizations to have a deep, comprehensive understanding of both their mainframe systems and best practices for resilient cloud architectures. Third, due to the complexity and multi-year duration of modernization initiatives, businesses are caught between balancing the fear of modifying legacy applications and the urgent need to innovate through modernization.

Introducing Amazon Q Developer to modernize mainframe application faster

Amazon Q Developer addresses the key challenges of mainframe modernization by providing a guided, human controlled, expert-driven approach. It tackles the hurdle of understanding large, complex mainframe codebases by using Generative AI and automation to analyze the applications and break down monolithic structures into modular domains. To address the need for deep expertise across both mainframe and cloud systems, Q Developer taps into decades of accumulated modernization best practices. It combines Generative AI and a domain-specific knowledge base to guide users through the transformation process. This enables organizations to transition to cloud-native architectures efficiently supplementing in-house expertise, while improving security, availability, and agility. Finally, by automating and streamlining the assessment, planning, and execution phases, as shown on Figure 1, Q Developer significantly reduces the timeline of mainframe application modernization. This empowers customers to innovate faster while mitigating the risks associated with modifying legacy applications. Amazon Q Developer automation simplifies the modernization journey, enabling customers to focus on strategic priorities while Amazon Q handles the complex, labor-intensive tasks.

Figure 1: Amazon Q Developer’s mainframe modernization capabilities

Figure 1: Amazon Q Developer’s mainframe modernization capabilities

Generative AI agent for expert guidance

Amazon Q Developer makes modernization it easier by combining Generative AI and proven automation for mainframe modernization. It engages users in chat conversations, answering questions and providing expert guidance on modernization tasks. By understanding user-defined goals, it creates tailored plans to achieve objectives efficiently. The agent can request specific inputs when needed and, with user approval, invoke integrated tools to perform tasks. It orchestrates modernization activities, tracks progress, and facilitates collaboration among multiple stakeholders. This approach provides higher quality outcomes while streamlining the modernization process.

Business Benefits:

  1. Make it easier to modernize mainframe applications using expert guidance
  2. Accelerate the completion of modernization tasks by leveraging integrated automation toolsets

Code analysis for detailed understanding 

Many organizations face challenges in understanding the scope and complexity of their established mainframe applications, which often support critical business processes. Amazon Q Developer addresses this challenge by performing an analysis of mainframe codebases. It automatically categorizes different types of code components including JCL, COBOL, and Copybooks, conducts performance dependency analysis to identify relationships between components, and flags missing artifacts that could impact modernization. The tool generates visual representations of the dependencies with key metrics such as lines of code and component classifications, providing teams with a clear understanding of their mainframe applications.

Business Benefits:

  1. Save time and resources by automating complex analysis tasks
  2. Improve decision-making based on application insights

Document generation for preserving application knowledge 

With aging mainframe applications, employee turnover, and mainframe skills diminishing, companies risk losing critical application knowledge. The documentation feature of Amazon Q Developer tackles this challenge by creating detailed technical and functional documentation of the mainframe applications. The documentation describes key features, programs logic and functionality, data flows and dependencies, integrations, and more details. This ensures that both high-level summaries and detailed functional specifications are preserved and readily available to new team members.

Business Benefits:

  1. Mitigate the risk of knowledge loss due to employee turnover
  2. Accelerate on-boarding of new team members
  3. Improve understanding of applications for modernization initiatives
  4. Enhances long-term maintainability of applications

Code decomposition for enhancing agility

Monolithic mainframe applications often hinder business agility and innovation. Applications have become so large and intertwined that maintaining them can be very complex. Amazon Q Developer’s capability for decomposition of large applications helps break down monoliths into smaller, business domain-specific modules based on customer guidance.

Business Benefits:

  1. Increase business agility via alignment of application components with business domains
  2. Facilitate phased modernization, reducing risk and allowing for iterative improvements

Planning modernization waves

Amazon Q Developer’s planning capability creates prioritized modernization waves sequences based on multiple factors including code and data dependencies, code volume, and business priorities. Users can input their specific constraints and priorities in order to customize the proposed multi-wave plans.

Business Benefits:

  1. Align modernization efforts with business priorities and constraints
  2. Improve stakeholder communication with planning charts

Refactoring for application modernization 

Manually rewriting legacy code to modern languages is time-consuming and error-prone. Amazon Q Developer’s refactor capability automates this process, converting COBOL and JCL code into modern languages like Java and Groovy and modernizing the complete application stack. It maintains functional equivalence while producing readable and maintainable code, refactoring business domains in a user defined sequence.

Business Benefits:

  1. Accelerate the modernization of mainframe applications with millions of lines of code to AWS.
  2. Minimize errors and maintains functional equivalence, reducing business risk
  3. Produce modern and maintainable code

Amazon Q Developer in action for accelerating the mainframe applications

Now, let’s see some key aspects of Amazon Q Developer for mainframe modernization using a collaborative web experience. After logging in and creating a workspace, you can chat with Amazon Q Developer to seek guidance on mainframe modernization, as shown on Figure 2. You share your modernization goal with Amazon Q Developer, it understands and proposes a job to achieve it.

Figure 2: Modernization chat with Amazon Q

Figure 2: Modernization chat with Amazon Q

If the proposed job aligns with your goal and you agree, you initiate the modernization process. A job plan is created by Amazon Q Developer, as shown on Figure 3, to guide you through the tasks in sequence requesting additional information as needed. For example, Amazon Q requires the location of your mainframe application code within an Amazon S3 bucket to begin analysis.

Figure 3: Q Developer job plan and Amazon S3 source code location

Figure 3: Amazon Q Developer’s job plan and Amazon S3 source code location

Once connected to your Amazon S3 bucket, Q Developer initiates a code analysis, categorizing components and identifying potential missing dependencies. If your job plan includes the generation of documentation, you select the subset of programs to be documented and the level of detail required. Amazon Q Developer continues with decomposing the code requesting information about the business domains and required seeds for entry points into the decomposition. The result is a hyper-graph showing the proposed decomposition, as shown on Figure 4.

Figure 4: Q Developer mainframe application decomposition

Figure 4: Amazon Q Developer’s mainframe application decomposition

Once you agree with the decomposition plan, Q Developer creates modernization waves based on the domains identified, as shown on Figure 5. This planning can be adjusted based on your modernization priorities.

Figure 5: Q Developer modernization waves

Figure 5: Amazon Q Developer’s modernization waves

As modernization waves are confirmed, Q Developer begins the refactoring process as shown on Figure 6, modernizing each business domain independently. It transforms the legacy mainframe application into a functionally equivalent modern cloud-native Java-based application.

Figure 6: Q Developer automated refactoring

Figure 6: Amazon Q Developer’s automated refactoring

Throughout the Q Developer modernization process, progress is tracked on the worklog and the Dashboard. Once transformed, the application can be compiled and deployed on various AWS compute environments, including Amazon EC2, Amazon EKS containers, or AWS Mainframe Modernization managed runtime.

Go modernize your mainframe applications with Amazon Q Developer

Amazon Q Developer capabilities for mainframe application modernization are available from a self-service web experience. Get started by following the instructions available in the Amazon Q Developer documentation. We are excited to see how you are going to use Amazon Q Developer for your mainframe modernization initiatives.