5 ways to modernize mainframe applications

Racks of servers inside a data center.
(Image credit: Future)

With cloud computing rising in popularity, companies across industries are now being faced with the question of how they can modernize their mainframe applications to keep up with intense competition from cloud technologies offering fast innovation cycles and low costs. This is particularly evident in the banking and insurance sectors, where mainframes have long been a benchmark for security and reliability.

About the author

Armin M. Warda is FSI EMEA Chief Technologist at Red Hat.

Mainframe use is still widespread. A 2020 report by Deloitte and Forrester found that mainframes are considered ‘mission critical’ and remain entrenched in the long-term strategic plans of the 261 businesses and IT decision-makers surveyed. A 2021 IBM report on mainframe application modernization found similar results. 71% of the 200 IT executives surveyed said mainframe applications were central to their business strategy.

Rather than setting cloud and mainframes against each other and looking at it as an ‘either / or’ situation, there are several options that can bridge mainframe and cloud-native scenarios. Let’s take a look at five ways for an organization to modernize applications running on a mainframe.

1. Replacement

Not strictly modernization, but one option is to retire and replace the applications.

In some cases, the process can be a little involved - it will require research into your replacement options and a clear view of your long-term IT strategy before you make a choice. Moreover, it will require some changes at the organizational level because you are replacing the previous application with an application that has to be implemented from scratch. It is usually additionally necessary for old and new applications to exist in parallel during the migration while data is migrated to the new application and until integrations, customizations and adoption are completed.

Nonetheless, modernization via abolition is a sure-fire way to ensure that new technologies are compatible with your mainframe structure.

2. Re-hosting / emulation

Some businesses - particularly those in the finance and insurance sectors - value legacy data servers' high reliability and computing power too much to replace their existing systems. An option for these organizations is to re-host their applications.

To re-host, many organizations opt to move their applications from the mainframe to lower-cost deployment platforms. For instance, you can move an existing application onto a cloud-based emulator, or recompile COBOL code for x86 and run it in Linux containers. However, this typically entails IT teams migrating their current database to a cloud-based database. This means that this process is not so much a long-term modernization solution, but is more of a temporary measure before a system is retired, if it can be expected that the system’s functionality will not have to be extended or modified anymore. Again, this is not truly ‘modernization’.

3. Translation

The third option for IT leaders to consider is translation. This approach focuses on the application code. Programmers can rewrite their application code in new modern programming languages. This way, companies can eliminate older, cumbersome languages (that have a shrinking skills pool) and benefit from new compilers and runtime environments, which also help attract tech talent.

The choice of a programming language is paramount. For instance, if looking to run a cloud-native environment, you should look at which programming language offers the greatest flexibility. The application should be able to run both on a public and private cloud, and a server or mainframe.

4. Refactoring

In contrast to translation, refactoring code restructures the original code. The original functionality remains unchanged as the refactor approach only restructures certain application components. The goal is to retain the code's outcomes whilst also opening the door for technologies such as containers and microservices.

Refactoring can be preferable to translation for a few reasons. Most notably, refactoring allows you to introduce more modern or up-to-date technologies and can be a less risky option than rewriting your code entirely.

The network or call latency becomes a potential risk here, if the refactored components are run off-mainframe but have many interactions (e.g. service calls or message exchanges) with unchanged components on the mainframe. To manage this risk, it can make sense to introduce an intermediate step: first run the refactored code on the mainframe and measure and optimize the interactions between the old and new code, before moving the new code off-mainframe.

5. Rearchitect / rebuild

Finally, companies can choose to redesign and develop the entire application completely. This can be an involved process, however, for some, it is worth the effort and investment.

In practice, the IT landscapes at banks and insurance companies consist of many applications. These different applications may require more individualized approaches to modernization – what works for one application is not necessarily the best way for another. And with application modernization taking time, each will additionally need to be maintained and managed on an ongoing basis, so using different deployment models can add complexity.

However, the barriers are coming down as technology and methodologies advance. Now, companies have the option to look at a hybrid cloud approach along with implementation partners. That is, organizations are able to use a unified platform to securely manage integration, orchestration and scaling between environments, meaning greater portability and interoperability of datacenters and mainframes with private and public clouds. This is all part of a general push by IT departments across the industry towards cloud agnosticism and cloud-native application development, which can help to standardize deployment models and abstract away complexity.

When looking to modernize your mainframe applications, there is no one-size-fits-all approach. Ambiguity and complexity certainly play a part in the process, particularly for larger organizations with sprawling architectures. However, any organization does not need to go it alone. Strength will come from building an ecosystem of trusted partners, as well as exploring the skills of existing employees, and leaning on open source communities. There is a wealth of information and technology available to help organizations define the right strategy for their needs.

We've tested the best cloud document storage.

Armin M. Warda is FSI EMEA Chief Technologist at Red Hat.