Introduction
Many enterprises rely on mainframe technologies for significant batch and online workloads due to their exceptional computing and input/output performance. However, some seek to enhance business agility by adopting modern application development practices to reduce operational costs.
Initially developed three or four decades ago, these apps were often built by developers who are no longer part of the organization or are involved in coding. Consequently, the technical expertise required to maintain these applications is becoming increasingly scarce.
Lack of expertise in supporting mainframe applications creates challenges for enterprises, hindering their enhancement. However, modernization can be quickly implemented using cloud-based technologies, open-source frameworks and DevOps processes in response to market demands and regulatory requirements.
A recent Gartner report states that ~90% of aging applications will remain essential for many enterprises, with less than 10% transitioning to modern platforms. Most applications avoid modernization due to high costs, disruption to business operations, knowledge debt and concerns about moving away from high-performing platforms like mainframes.
The HCLTech ADvantage Modernize framework tackles these challenges through various treatment mechanisms determined during the project's assessment phase. These mechanisms include:
- Rehost: Shift logical partitions from on-premises data centers to a managed mainframe service provider like HCLTech, reducing overhead and license costs through a shared service model.
- Replatform: Migrate existing code to a non-mainframe platform hosted in a cloud instance, leading to rapid cost savings on hardware and software. AWS-hosted mainframe-equivalent platforms ensure continuity on languages like COBOL, PL/I, natural, etc.
- Repurchase: Replace mainframe application functionality with SaaS solutions for finance, human resources, manufacturing, enterprise resource planning, etc.
- Rewrite: Rewriting mainframe applications from scratch is risky, complex and expensive, often exceeding initial forecasts regarding resources and investments.
- Automated refactoring: Use tools to automate or accelerate technology conversion, ensuring no loss of application functionality in the target environment. Automation significantly reduces the cost and time required for modernization, often by 40%-60%, depending on the program's complexity.
This blog focuses on the "automated refactoring" treatment option among the listed modernization strategies. Here are the critical phases of automated refactoring and the corresponding HCLTech accelerators utilized in the process:
- Application inventory analysis: iLit-DC
- Data migration: ADvantage Migrate
- Application modernization (COBOL, PL/I, natural, JCL, etc. to Java/.NET): ATMA
HCLTech solution
Figure 1: ATMA solution architecture
We will explore how HCLTech leverages our Accelerated Transformation and Modernization Approach (ATMA) to expedite the modernization process of mainframe applications. ATMA is HCLTech's proprietary automation platform to expedite converting legacy applications into modern technology stacks with contemporary architecture and browser-based access.
ATMA scans through legacy applications' sources and configuration artifacts, identifies various components and distributes them among appropriate layers in the target technology stack. It transpiles the code into the selected language using equivalent syntaxes and frameworks, making it typically 70%-80% ready for manual intervention. The modernization process consists of several phases.
- Preparation: Customize ATMA to understand new patterns in the legacy application and generate target code compliant with the modern platform's technology blueprint. During this phase, if programs are written in languages not supported by ATMA, a feasibility and cost-benefit analysis is done to determine if it is worthwhile to add support in ATMA, in which case ATMA would be customized to handle these. Otherwise, these would be rewritten or replaced manually.
- Transpilation: Use ATMA to generate target source code and necessary scaffolding like Maven/Gradle dependencies, projects/solutions, etc.
- Manual intervention: The development team modifies ATMA-generated code under SME guidance, ensuring complete functionality validation and addressing gaps. Activities include UI redesign, code improvements, performance enhancements, access/roles management, automated cloudification and testing. The following activities are undertaken in this phase:
- UI re-design: Online screens are revamped to provide a more contemporary user interface using angular/react. This process often involves substantial UI redesign, depending on customer requirements.
- Code improvements: While ATMA generates code patterns of high quality, legacy technology-based business logic may lack efficiency in the target technology. For instance, lengthy date manipulations can be replaced with simple utility method calls from a date class. In some cases, HCLTech replaces legacy business rule engines with industry-standard ones despite ATMA-generated code efficiency.
- Performance improvements: Contrary to common misconceptions, components transpiled from mainframe to open systems technology can meet or exceed performance standards. Leveraging multi-threading, parallel processing and optimizing system sizing and cloud topology can achieve similar or superior performance. For example, in modernizing a claims adjudication system, a batch process that took 20 minutes on the mainframe was completed within a few minutes in the target cloud environment.
- Access/roles management: Mainframe applications typically use a resource access control facility (RACF) for access management. Modernized applications configure similar functionality using an identity management platform.
- Automated cloudification: This phase utilizes ADvantage Cloud from the ADvantage Modernize suite to assess and remediate modernized code for cloud native deployment onto AWS.
- Testing: Testing and continuous integration/continuous delivery (CI/CD) enablement is conducted during this stage to ensure the reliability and efficiency of the modernized applications.
- Retrofit: If the legacy application changed after the source code was baselined for modernization, such changes are integrated into the modernized applications during this phase.
- Deploy: Deploy modernized applications into UAT and production environments.
The following is the typical source to target mapping of mainframe application elements and their equivalents in the modern technology stacks and cloud platforms:
Source | Java / .NET target | AWS service | |||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
|
|
AWS Lambda or deployed on Amazon EC2 | |||||||||
|
|||||||||||
VSAM files | Target RDB tables or text files | Amazon RDS or Amazon S3 | |||||||||
IMS segments | Target RDB tables | Amazon RDS | |||||||||
Sequential files | Text files | Amazon S3 | |||||||||
MQ | JMS queues | Amazon SQS | |||||||||
z/OS | Linux or Windows | Kubernetes pods deployed on Amazon EC2 or Amazon EKS |
Table 1: Modernization solution mapping for mainframe applications
Technical architecture
Figure 2: Modern application architecture in AWS
The typical architecture of modernized applications deployed on AWS, with Java as the chosen target technology platform, is illustrated in Figure 2. The Spring Boot application, generated by the modernization process, boasts a contemporary architecture comprised of various components:
- Macro services: Exposed via REST API for UI applications and batch jobs launched using the job launcher
- Data access objects: Utilized by services to make database calls, typically to AWS RDS if required
- API gateway: Facilitates unified access to the REST API from UI applications
- AWS EventBridge scheduler: Triggers batch jobs at regular schedules or by other events
- Discovery server: Enables service registry and discovery through the Spring Boot Discovery Server component
- Config server: Externalizes application config across environments using a source code repository via the Spring Boot Config server
- Blob storage on AWS S3 buckets: Stores input/output files of the application
- AWS SQS: Utilized for MQs facilitating inter and intra-application communication
HCLTech's ADvantage Cloud can refine the transpiled code and integrate it with AWS' cloud native services, expediting the identification of on-premises implementations for specific application functions and automating refactoring with equivalent cloud native deployments. Additionally, it facilitates automated containerization of remediated applications, as depicted in Figure 3.
Figure 3: Advantage Cloud to refactor the modernized apps to cloud native
Advantages of using ADvantage Modernize for mainframe modernization
Mainframe modernization through HCLTech's ADvantage Modernize addresses the below challenges:
- High costs: The "pay-as-you-go" pricing model offers quicker ROI, possibly within 12 months, than maintaining mainframe hardware and software. Moreover, automation at every phase significantly reduces modernization costs.
- Knowledge debt: The ADvantage Modernize framework reduces the need for SME involvement and functionality is retained through automated code conversion.
- Performance: The cloud's open systems environment promotes productivity and innovation. Scalability, disaster recovery and backup are seamless, while modern paradigms like parallelism enhance performance.
Conclusion
Modernizing mainframe applications on AWS enhances performance and drives innovation. Enterprises can leverage HCLTech's tailored mainframe modernization and migration roadmaps for successful, low-risk transformations. As an AWS premier consulting partner, HCLTech is uniquely positioned to address day-to-day or complex challenges through its dedicated full-stack business unit.
To learn more, contact AppModCloud-Presales@hcltech.com.