What is Application Modernization?

Application modernization—also known as legacy application modernization—is the process of updating, optimizing, or transforming an existing app or set of apps.

Share this article

Table of Contents

H2 links

Application modernization—also known as legacy application modernization—is the process of updating, optimizing, or transforming a single application or set of applications to take advantage of new platforms, practices, and modern technologies such as GenAI, Hybrid Cloud, DevOps, APIs, microservices, Java, or C#.

Understanding Application Modernization Strategy

Core 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 the mainframe, midrange, or other proprietary hardware platform, 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, app modernization leads to a broader discussion supporting modernization patterns and use cases needed to achieve this goal.

Application modernization may involve moving core business or monolithic applications written in COBOL, RPG, Assembler, PL/I, or other legacy language to a new platform or architecture such as API, microservices, Docker Containers, Kubernetes, or public cloud such as AWS, Azure, or Google Cloud.

App modernization could also involve optimizing an existing application workload running on IBM Z, Linux on Z, LinuxONE, or a midrange platform.

There are several strategies or patterns for application modernization, including re-platform or re-host, refactor, replace, rewrite, retain, and retire. Most of these modernization patterns leverage a multi-platform or hybrid cloud model. 

What are the Modernization Patterns?

There are many application modernization strategies and patterns used to modernize existing apps written in COBOL, PL/I, RPG, Assembler, or other legacy languages, including:

Accelerated Rewrite™️ (Rewrite)

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#. An Accelerated Rewrite produces highly maintainable, structured, and object-oriented code that will operate freely on any platform without proprietary libraries, run-times, or vendor lock-in. 

Re-Architecture or Re-Engineer

The process of modernizing a legacy mainframe, midrange, or distributed application by modifying its original monolithic and tightly coupled environment to a loosely coupled, microservices or API-enabled architecture. An Accelerated Rewrite is often used to enable a legacy application re-architecture or reengineering effort. 

Re-Platform

The process of moving or redeploying a mainframe application from IBM Z or a similar mainframe environment to a distributed or cloud architecture, without change. Sometimes referred to as a re-host. This process is also commonly known as a "lift-and-shift" strategy. The legacy application is re-platformed to a new operating environment with little or no change. The re-platform approach is typically an infrastructure modernization strategy. The re-platformed application will typically require modernization as part of a follow-on effort.

Refactor

The process of line-by-line code conversion of legacy applications. During this process, legacy applications are automatically converted to a target language such as Java or C# without change or modification. In this instance, the entire application is converted to the target language. This pattern often creates code maintenance challenges, post-conversion. Refactoring is typically not considered modernization, but rather a language conversion of monolithic application logic and will likely require a larger modernization effort, after the fact. Refactoring providers also typically require proprietary libraries or runtime files to operate and manage the converted code.

Application Retention (Retain)

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. 

Application Replacement (Moving to Package)

Within the application replacement pattern, IT leaders will often choose a commercial off-the-shelf (COTS) package solution in place of an existing application. 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. An Accelerated Rewrite pattern can help address fit gap analysis and rewrite valuable business logic for deployment to an off-the-shelf package solution. 

Application Retirement (Retire)

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.

The AveriSource Platform™️ can be utilized at any stage of the application modernization journey, with multiple modernization patterns.

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™️.  

What is Mainframe Modernization?

Mainframe modernization refers to the digital transformation of core business applications written in COBOL, PL/I, Assembler, and JCL and reliant on subsystem technologies such as CICS, IMS, DB2, IMS-DB, VSAM, etc. Mainframe modernization is often a subset of application modernization and can include non-IBM mainframe platforms and midrange systems such as IBM I, iSeries, Unisys, Fujitsu, ICL, Bull Mainframe, Tandem Mainframe, HP Non-Stop, and others.

Mainframe modernization includes many options supporting both a move off the mainframe platform, as well as a modernization in-place strategy. Mainframe applications can also be moved directly to the public cloud using cloud service provider platforms like AWS, Microsoft Azure, or Google Cloud. The AveriSource Platform enables a rapid transition of legacy application code to a cloud-native architecture using an AI-powered, Accelerated Rewrite pattern.

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 tools.  Mainframe re-platform or lift and shift technology requires a proprietary mainframe emulation environment (e.g., appliance) or costly run-times to achieve this goal. Through legacy code transformation, powered by artificial intelligence, an Accelerated Rewrite pattern, enables organizations to move their mainframe and midrange application code written in COBOL or RPG directly to the public cloud running as native Java or C#. This Accelerated Rewrite approach leverages AI to accelerate legacy code analysis and transformation. 

How is an Accelerated Rewrite Different from an Application Re-Platform? 

As compared to an AI-powered accelerated rewrite, an application re-platform will not modernize your mainframe applications. Your mainframe COBOL, PL/I, or Assembler applications will typically move to a target infrastructure with little to no change. The application languages will often remain as part of the legacy systems. Applications moved or re-platformed will often require an emulation or managed services environment to operate. Any application maintenance will require changes to the legacy COBOL, PL/I, or Assembler code demanding specialty subject matter skill sets to maintain and operate.  Any modernization activity on the re-platformed application is often considered a "phase two" initiative and is conducted after the re-platforming is complete.

An Accelerated Rewrite strategy, powered by AI, delivers an intelligent and automated approach to code transformation and digitization. The AveriSource Platform delivers a unique Accelerated Rewrite 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.

The AveriSource Accelerated Rewrite approach doesn’t require proprietary server infrastructure, libraries, or runtimes and delivers a true vendor-neutral strategy while reducing technical debt. In situations where specialty skills are difficult to source, an Accelerated Rewrite allows you to target today’s technology profile and hire top Java or C# talent to support your app modernization project. 

What are the Risks of Application 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 Application Modernization?

Application 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. 

What Market Factors are Driving Application Modernization?

The pressure to modernize mission-critical applications is influenced by many factors, including:

AI Adoption and the Cloud:

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. 

  • 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.
Graphic describing market drivers for application modernization, including the growing IT skills gap, automation and efficiency, eliminating vendor lock-in, and IT rationalization.
Market drivers for application modernization, including the growing IT skills gap, automation and efficiency, eliminating vendor lock-in, and 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 Application Modernization?

The best path to getting started with application modernization is to perform an application assessment. Planning the application modernization journey is the first and vital step to a successful project.

Application analysis and risk assessment tools—such as AveriSource Scan—are available for free download and their capabilities can help accelerate the initial phases of modernization planning. AveriSource Scan can be downloaded from the AveriSource website or via the AWS Marketplace

Not sure what you need? Use AveriSource Scan to gain insights into your application and determine next steps.

Frequently Asked Questions

The AveriSource Platform is a software product that is designed to change the way organizations handle application modernization. With its data-driven, AI-powered approach, the AveriSource Platform offers an adaptable and modular product for organizations to efficiently inventory, discover, analyze, and transform their existing applications into modern frameworks, making modernization faster, easier, and less risky.

The AveriSource Platform can be used standalone or in conjunction with a modernization services engagement. The AveriSource Platform can also be used to help determine if a services engagement is needed, what type of services would work best, and the scope of the services project.

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 installed on-premises or in the cloud, depending on the preference and requirements of the organization.

For on-premises installation, the AveriSource Platform is typically deployed within the organization's own infrastructure. This involves installing the necessary software components on dedicated servers or virtual machines within the organization's data center or private cloud environment. The platform's installation then involves following the setup instructions provided by AveriSource, including system requirements and configuration steps.

Alternatively, the AveriSource Platform can be installed in the cloud. In this scenario, organizations can choose a cloud service provider compatible with AveriSource's requirements and deploy the platform on virtual instances or containers provided by the cloud provider. This cloud-based installation allows for scalability, flexibility, and reduced infrastructure management responsibilities.

Regardless of the installation location, the AveriSource Platform requires access to the legacy code to be analyzed and modernized. It is important to consult AveriSource's documentation, guidelines, or support resources for specific installation instructions and best practices tailored to the organization's unique needs and requirements.

The generated code produced by the AveriSource Platform is independent and does not depend on any specific JAR files or other libraries owned by AveriSource. This ensures that there is no "vendor lock," meaning organizations are not tied to AveriSource nor are they required to rely on and pay AveriSource for use of the proprietary JAR files for the functioning of the generated code. The AveriSource Platform's code generation functionality aims to provide flexibility and portability, allowing organizations to freely use and maintain the generated code without being dependent on AveriSource or its specific libraries.

The AveriSource Platform supports the following technologies:

Platforms

  • IBM z/OS, MVS, z/VSE, z/TPF, LinuxONE
  • ​IBM AS/400, Power, iSeries​
  • Unisys Dorado/OS2200, Libra/MCP​
  • Fujitsu GS21HPE 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
  • IDMS
  • VSAM
  • Sequential

Transaction Processing

  • CICS
  • IMS

Target Languages (if using AveriSource Transform)

  • Java
  • C#