What is Legacy Modernization?
Legacy modernization is the process of updating, optimizing, or transforming an existing application or set of applications.
Table of Contents
Legacy modernization—also known as application modernization—is the process of updating, optimizing, or transforming a single application or set of applications running on legacy platforms such the mainframe (e.g. IBM Z, Unisys Dorado/OS2200, Fujitsu GS21, etc.), midrange (e.g. IBM POWER i (also known as AS/400), HPE Tandem, HPE OpenVMS), or other proprietary hardware platforms to take advantage of new platforms, practices, and modern technologies and languages such as GenAI, Cloud, DevOps, APIs, microservices, Java, or C#.
What is Mainframe Modernization?
Mainframe modernization is a subset of legacy application modernization and specifically refers to core business applications running primarily on an IBM Z mainframe (approximately 80% of the global mainframe market), in addition to non-IBM mainframe platforms such as Unisys OS2200, Fujitsu GS21 and Bull GCOS. Mainframe workloads are written in languages such as COBOL, PL/I, Assembler, Natural and JCL and are reliant on subsystem technologies such as CICS, IMS TM, Db2, IMS DB, Adabas, VSAM, etc. Midrange systems such as IBM i (AS/400), HP NonStop, and others support similar legacy-based application workloads, are often included in mainframe modernization discussions.
Mainframe and midrange modernization options include supporting both a move off the legacy platform, as well as a modernization in-place strategy. Applications can be moved directly to the public cloud (e.g., AWS, Microsoft Azure, Google Cloud, or Oracle Cloud) or to an on-premises environment.
Understanding the Legacy Modernization Strategy
Core legacy business applications are often the subject of application modernization due to the role and importance they play in supporting private and public sector business operations. For large organizations, running core business applications on legacy platforms, application modernization is seen as a pathway to ready these applications for new hardware, platforms, application architectures, modernization use cases, or future IT strategy. In most cases, application modernization leads to a broader discussion supporting modernization patterns and use cases needed to achieve this goal.
Application modernization may involve moving core monolithic business applications written in COBOL, Natural, RPG, Assembler, PL/I, or other legacy languages to a new platform such as AWS, Azure, Google Cloud running Java microservices, Docker Containers and Kubernetes. Application modernization can also involve consolidating or optimizing existing application workloads running on IBM Z, Linux on Z, LinuxONE, or a midrange platform.
What are the Legacy Modernization Patterns?
There are several application modernization patterns or approaches, commonly known as the "R's". These include Replatform, Refactor, Reimagine (rewrite, rearchitect), Replace, Retain (reuse), and Retire. Many of these modernization patterns leverage a multi-platform or hybrid cloud model.

Retain (Reuse)
This process often sees an organization optimizing an existing application rather than pursuing an alternative modernization pattern. Within a retain modernization pattern, organizations will often streamline the application's existing code, remove technical debt, and adopt new development tools to accelerate application delivery and maintenance activities. An application retention strategy will be more focused on optimization of the source code structure and application, rather than transformation.
Rehost
If the goal is to exit a datacenter quickly due a near term compelling event and the legacy server is a blocker to other supporting distributed systems moving to a new platform such as the cloud, you can Rehost (or Relocate) the legacy mainframe or midrange server to a hosting partner. Customers can use this event to perform a deep-dive analysis of their existing environment - removing technical debt, consolidating and eliminating redundant software packages, languages and databases.
Replatform
The process of moving a legacy application to a new distributed platform (often cloud), without changing the primary language and retaining functional equivalence. Previously referred to as "rehost" and often termed "lift-and-shift", this approach was first leveraged in 1991. The legacy application is recompiled and adapted to run in a new operating environment with little or no change. Primary transaction and batch processing environments such as CICS and JES/JCL are replaced with proprietary middleware solutions. The replatform approach is typically an infrastructure modernization strategy and the replatformed application will typically require further modernization as part of a follow-on effort. Replatforming makes sense when you need to make a rapid exit off the existing legacy platform (e.g. due to an upcoming major compelling event such as a data center contract renewal) and there isn't a major concern over the primary development skills (e.g. COBOL developers) required to maintain the legacy code base.
Refactor
The process of leveraging automation to convert legacy source code and data structures to functionally-equivalent object-oriented highly-maintainable Java or C# and relational data. As with Replatforming, this approach makes sense when you need to make a rapid exit off the existing legacy platform - however Refactor directly addresses the legacy skills risk and provides a positive first step towards moving to a microservices or serverless architecture.
Reimagine (Accelerated Rewrite, Rearchitect)
The process of modernizing a legacy application running on the mainframe, midrange, or distributed platform by extracting its core business rules, removing its technical debt, and transforming the legacy languages—such as COBOL or RPG—to a modern environment such as microservices, in Java or C# running on a cloud platform. A reimagine project produces highly maintainable, structured, and object-oriented code that will operate freely on any platform without proprietary libraries, runtimes, or vendor lock-in.
Replace (Package Replacement)
If the legacy applications are commodity-based and not heavily customized, you can choose to replace with a commercial off-the-shelf (COTS) package solution. Common COTS package replacements for legacy applications include SAP, Oracle, Guidewire, and others. Application replacement patterns often leave behind valuable IP and customization built into the application stack over time. A Reimagine pattern can help address fit gap analysis and rewrite valuable business logic for deployment to an off-the-shelf package solution.
Retire (Application Retirement)
Within an application retirement pattern, the legacy application stack will sunset and ultimately retire. In this case, organizations will seek to optimize the value of an existing application stack by reducing its cost of operation and management. Moving the legacy application stack to the cloud can help achieve those goals by simplifying maintenance and reducing operational costs. In addition, accelerating data lineage to determine which datasets require archival or setup for historical reporting is also a viable strategy.
What is AI-Powered Application Modernization?
Application modernization powered by artificial intelligence enables organizations to reduce the time, cost, and risk of complex modernization initiatives. Through various techniques such as clustering, pattern matching, application analysis, business rules extraction, and templates, AI is leveraged to accelerate and optimize the application intelligence and code transformation process. AI modeling enables analysts, developers, and project teams to rapidly transform legacy code—such as COBOL or RPG to Java or C#—ready for deployment to a cloud-native architecture, an internal or outsourced data center, or back to legacy systems. AI-powered modernization efficiency gains can be seen through the adoption of AI modernization technology, such as the AveriSource Platform™️.
Can You Modernize Legacy Systems and Applications for the Public Cloud?
Mainframe COBOL applications can be moved to a public cloud environment using a variety of approaches. The selected approach often depends on the near and long term compelling events. Replatform requires a proprietary mainframe runtime environment, while Refactor often requires a Java or C# framework to reduce the amount of generated code and provide support and integration with other systems and technologies. A Reimagine approach enables organizations to move their mainframe and midrange application code written in COBOL or other languages directly to the public cloud running as native Java or C#. This approach leverages deterministic and generative AI (GenAI) to accelerate legacy code analysis and transformation.
How is a Reimagine Approach Different from an Application Replatform or Refactor?
With a Replatform or Refactor, your mainframe COBOL, PL/I, or Assembler applications will typically move to a target infrastructure with little to no functional change. With Replatforming, the application languages and monolithic nature will often remain as part of the legacy systems. Applications moved or replatformed will often require an emulation or managed services environment to operate. Any application maintenance will require changes to the legacy COBOL or PL/I, demanding specialty subject matter skill sets to maintain and operate. Any modernization activity on the replatformed application is often considered a "phase two" initiative and is conducted after the replatforming is complete. Refactoring can retain some of the monolithic application nature, however provides the ability to transition towards a macroservices level architecture and targets a cloud-native language such as Java or C#. Over the past 20 years AveriSource has delivered many COBOL to Java or C#, as well Natural to C# Refactor projects.
A Reimagine strategy provides the ability to move away from the existing monolithic legacy codebase. The AveriSource Platform delivers a unique Reimagine approach that enables developers and analysts to accelerate application analysis, business rules extraction, and code transformation, targeting on premises environments, virtual, or cloud platform, including containers, microservices, APIs, or the public cloud.
What are the Risks of Legacy Modernization?
Modernizing legacy applications or core business systems presents many challenges for both new and existing IT leaders. For many, understanding the application estate is often the first challenge. Documenting and discovering a vast and expansive application estate can be both time-consuming and costly. In addition, this form of application analysis and understanding often requires specialty subject matter skills and knowledge to perform. Implementing change within a landscape of uncertainty, doubt, and complexity creates risk.
Over 70 percent of IT projects fail according to the Standish Group, resulting in large cost overruns and unfulfilled objectives. Managing risk requires a better understanding and perspective on the legacy application environment. New modernization platforms now deliver intuitive, and workflow-driven user experiences, tailored to the legacy application environment. De-risking the application modernization process requires a new approach to digital transformation and modernization itself.
Only after gaining a deep understanding of an application's inventory, relationships, dependencies, and data flows can IT leaders confidently make decisions on how to best modernize legacy applications. With the latest AI-driven technology, modernization moves much faster and with significantly less risk.
Can Popular GenAI Code Assist Tools Be Used for Legacy Modernization?
Legacy modernization can be achieved with a wide array of technology and tools, including (in some cases) the use of popular GenAI code assistants. These AI-powered toolsets enable developers to quickly build code to support various development projects and activities. More recent GenAI code assistant tools include AWS CodeWhisperer, Microsoft Code Pilot, and Google Dust.
As part of larger modernization projects and in collaboration with comprehensive platform solutions, these tools can be used to complete the final five-to-10 percent of the transformation process. GenAI code assistant tools are best used as a complement to a larger modernization offering and as an aid to accelerate the code transformation project and pre-deployment effort.
IT leaders are racing to adopt AI within their organizations to both accelerate IT projects, as well as create new operational efficiencies. AI-powered application modernization is a good example of this capability as an intelligent and automated approach to modernizing complex core business systems to accelerate cloud adoption.
What Market Factors are Driving Legacy Modernization?
The pressure to modernize mission-critical applications is influenced by many factors, including:
- Increased Support & Licensing Costs: The cost to maintain legacy systems continue to rise. Cost is seen as the biggest driver forcing customers to migrate. Customers report up to 70% cost savings, typically with 3rd party software ISV license costs.
- The Growing IT Skills Gap: Legacy systems traditionally rely on specialty skills which are both difficult to source and costly to retain. As the pandemic demonstrated for many IT shops with mainframe and midrange systems, there is a dire need for legacy application and language expertise.
- Automation and Efficiency: Automating the application pipeline is the first step toward driving greater application efficiency, speed, and scale. Leveraging intelligent application analysis, business rule extraction, and code transformation tools alongside agile and DevOps practices are great examples of how to drive greater efficiency within the application modernization process.
- The Desire to Eliminate Vendor Lock-In: Most application modernization or legacy transformation offerings require the use of proprietary infrastructure, libraries, or runtimes to operate which creates inflexibility and added cost for future change. IT leaders want vendor neutrality, portability, flexibility, and choice in their legacy modernization approaches.
- IT Rationalization: Reducing cost and improving efficiency has always been a hallmark of IT. Right-sizing the IT estate, reducing waste, and streamlining application portfolios are key objectives for those pursuing IT rationalization.

What is Required to Successfully Modernize Legacy Applications?
A successful application modernization strategy requires a full end-to-end vision for your application portfolio. Without that full view and roadmap into your existing application portfolio, it’s likely that point modernization strategies will need to be revisited. Project re-work and added cost are likely without a complete view and legacy modernization plan for your mainframe and midrange applications. Gaining a full 360-degree view of your application estate first begins with an understanding of what exists today, alongside a vision for where those applications are headed into the future.
Application analysis and assessment tools are the best approach to identifying, mapping, and planning your modernization strategy. In addition, planning and project management are essential to the success of complex modernization initiatives. Key tasks such as progress tracking, issue management, risk identification and prioritization, and others are vital to the longer-term success of these projects. In most cases, the stronger the planning process and application modernization roadmap, the greater the likelihood of project success.
What is Business Rules Extraction and Why is It Important to Application Modernization?
Business rules extraction is the process of identifying, isolating, and extracting valuable programs and logic from an existing application. Oftentimes, these programs represent the unique intellectual property (IP) of an organization, as well as describe how it operates within its market domain. In many cases, the business rules within an application are buried or nested deep within the application logic, making it challenging to identify and use.
BRE or business rules extraction enables developers and analysts to uncover deeply nested business rules, isolating and extracting them for transformation to a target platform. Business rules extraction is a complicated procedure, especially when mining deeply nested business rules.
The AveriSource Platform and AveriSource Analyze products offer the industry-leading solution for business rules extraction with a comprehensive set of capabilities including rule chaining, diagrams, translations, variable tracing, and more.
How Do You Get Started with Legacy Modernization?
The best path to getting started with legacy modernization is to perform an assessment. Planning the legacy application modernization journey is the first and vital step to a successful project. Reach out to AveriSource to get started with your modernization journey.
Frequently Asked Questions
The AveriSource Platform is a software product that is used to efficiently inventory, discover, analyze, and transform legacy applications into modern frameworks, making modernization faster, easier, and less risky. The AveriSource Platform is used by AveriSource as part of a services engagement, however AveriSource can also provide training and support to allow customers and partners to use the Platform.
AveriSource Transform uses AI techniques such as cluster analysis, pattern matching, templates, and programming language models to generate modernized code in a new target language.
- Cluster Analysis: Cluster Analysis is the task of grouping a set of objects in such a way that objects in the same group (called a cluster) are more like each other than to those in other groups (clusters). In AI and machine learning, clustering algorithms are often used to understand and categorize data, especially when labels are not known ahead of time.
- Pattern Matching: Pattern matching involves identifying and matching specific structures or sequences within data or code. It allows for the recognition of predefined patterns or regularities, enabling efficient searching, extraction, and processing of information. Pattern matching plays a vital role in various AI applications, such as text mining, image recognition, and data analysis.
- Templates: Templates refer to predefined structures or patterns that serve as placeholders for variable elements. They allow for the creation of reusable and customizable components in software development. Templates are commonly used in AI applications for tasks such as generating dynamic content, producing adaptive user interfaces, or creating flexible data-driven models.
- Programming Language Models: Programming language models are AI models trained specifically on programming languages. These models learn to understand and generate code, aiding tasks like code completion, code generation, and automated code analysis.
These techniques enable AveriSource Transform to perform efficient data analysis, processing, and intelligent generation of new code. Our AI powered approach provides structured standardized code that’s highly maintainable.
The AveriSource Platform can be deployed either on-premises or in the cloud, based on your organization’s needs. To ensure a smooth start, AveriSource offers Platform Jumpstart Services that provide complete installation and configuration in your chosen environment.
No supporting source code libraries are required when supporting a Reimagine modernization approach. With a Refactor or Replatform approach, the converted Java, C# or COBOL applications are supported by an AveriSource provided set of pre-built Java or C# components (framework) that leverages modern development practices and tools to support the lifecycle of a legacy application once refactored to Java or C# or Replatformed to COBOL. The framework consists of a set of online libraries to replace mainframe Online Transaction Processing (OLTP) monitors such as IBM CICS and IMS TM, in addition to batch libraries to replace a legacy batch engine such as IBM JES. The framework follows industry best practices and coding standards, ensuring a maintainable, scalable, and secure code base. It’s designed to reduce the amount of generated code, handle common scalability and performance challenges providing features such as caching, load balancing, and optimization techniques, essential in modern enterprise applications.
AveriSource has experience analyzing, migrating and modernizing the following technologies:
Platforms
- IBM z/OS, z/VSE, z/TPF, LinuxONE
- IBM i (AS/400)
- Unisys Dorado/OS2200, Libra/MCP
- Fujitsu GS21
- HPE Tandem/NonStop
- HPE OpenVMS
Languages
- COBOL
- PL/1
- Natural
- RPG
- Assembler
- Easytrieve
- Model-204
- ObjectStar
- SAS
- Job Control (JCL, CL, ECL)
- CICS BMS
- IMS MFS
- DDS
- DDL/SQL
Databases
- Db2
- Adabas
- IMS DB
- IDMS DB
- VSAM
- Sequential
Transaction Processing
- CICS
- IMS TM
Target Languages (pattern/approach)
- Java (Refactor, Reimagine)
- C# (Refactor, Reimagine)
- COBOL (Replatform)