Modernizing Mainframe Applications
Migrating Off COBOL and Adding AI
For decades, mainframes have anchored industries such as banking, insurance, healthcare, retail, as well as the public sector. All of these industries require heavy-duty low latency transaction processing. Mainframes are designed to provide mission-critical applications with high availability, where downtime would be extremely costly or simply unacceptable.
But mainframe applications are being left behind as businesses strive to transform using distributed computing and public clouds. In large part, this is due to the perception that it’s overwhelming, even impossible, to modernize a mainframe application.
This perception is misguided. New technologies have lowered the barriers to mainframe modernization and deliver several key benefits, including cost reduction, business agility, and unlocking new AI application capabilities. Let’s investigate each of these gains.
Modernizing mainframe-powered applications to use inexpensive commodity hardware significantly lowers upfront mainframe capital expenditures as well as ongoing licensing and maintenance costs. Migrating to the cloud definitely provides unique benefits, but many customers with mainframe workloads also happen to have underutilized on-premises clusters that can be utilized to house modernized mainframe workloads. Mainframe application modernization that results in a containerized solution can often provide the best of both worlds. A Kubernetes approach, for example, can provide a pathway for abstracting away the underlying infrastructure and deploying it on-premises or in the cloud, acting as a bridge between the two options with little or no modification.
Migrating mainframe workloads to the Cloud results in greater business agility. Containerization makes applications significantly more agile because it allows applications to be deployed quickly and resized to accommodate changing infrastructure needs on-demand. It can be exploited both in the cloud or on-premises. Containerizing on-premises apps enables customers to amortize their existing infrastructure investments while providing a fast path to the cloud. The cloud offers pay-as-you-go pricing and easy access to a wide variety of computing infrastructure without the need for IT teams to support a vast number of potential hardware configurations.
Migrating off mainframes also provides a path to a more modern database that enables applications to horizontally scale out to accommodate a more substantial amount of data. It also enhances performance and concurrency by spreading existing data and workloads across unlimited commodity servers. Splice Machine (where I’m a co-founder and CEO) is an example of such a scale-out SQL RDBMS and its powering insurance applications for some of the world’s largest insurers.
Additionally, mainframe developer and operator skills are in scarce supply. It can be easier to find qualified staff for mission-critical applications on more modern programming languages and infrastructure.
Containerization, scale-out databases, and a larger talent pool all lead to much better agility when modernizing mainframe applications.
Third — and the most important reason to migrate applications off the mainframe — is that it unlocks entirely new business outcomes thanks to AI. Modern environments can support this AI. Mainframe-based environments cannot.
Mission-critical applications that have served businesses well for years are being radically modernized through data and new software capabilities. For example, insurance systems no longer simply manage policies and claims. They need to use new data sources to power artificial intelligence and machine learning techniques that score risk, detect fraud or money laundering, and understand what additional options a policyholder might be interested in. And they have to do it all within milliseconds.
Mainframe migration enables established enterprises to keep up with, and even leapfrog, their venture-backed upstart competition, who have used data and AI since they were born. Applications need high performance and scalable, consistent, flexible access to data to do their jobs. When companies swap out their mainframe infrastructure to a converged platform (like Splice Machine), they instantly turbocharge their legacy applications. They instantly give them the ability to handle operational system-of-record workloads, analytical reporting requirements, and automated actions based on in-database machine learning. They instantly make them smart and able to act on predictions.
This data platform is infrastructure agnostic. It can be deployed directly or in containers orchestrated by Kubernetes. It can be provisioned on commodity clusters on-premises or on the cloud. Its unique ability to handle an extremely broad database workload without specialized data schemas and data movement makes it an ideal database for mainframe application migrations. Most importantly, it provides a path forward with machine learning that was not previously available to the application.
Approaches for Migrating Applications Off the Mainframe
Due to system complexity and many options, there is no single migration path that will work for every company. This results in a very complex, lengthy migration planning and execution process.
We propose simplifying this process by asking yourself just two questions:
- Which business outcomes are you hoping to achieve with your mainframe modernization?
- How much time, money, and risk are you comfortable with for the migration process?
Time and cost effectively measure the effort that migration will require. Sometimes, time and cost can be traded off against each other. For example, if manual work is required for the migration, you can deploy more people to solve the problem, or you might automate the work by licensing the right software.
Options to Migrate Mainframe Applications
Compiler Assisted Re-platforming and Extracting Data Are Promising Over Rewrites
A Complete Application Rewrite
One approach for mainframe migration is rewriting an existing application from scratch. In this case, the development team uses the functionality of an existing mainframe application to define its minimally viable requirements. Then, the team re-writes the application in another language.
For example, a company may re-write a 30 year-old transactional COBOL application in Java, with a microservices design pattern, and using a scale-out NoSQL document database. This delivers immediate agility, the ability to scale-out, access to a larger talent pool, and other benefits. It also gives them complete flexibility in programming languages, design patterns, infrastructure, and data management implementations that can be used in a modern context. It’s as if the application is brand new.
The obvious disadvantage (and the reason this approach is seldom deployed) is that this flexibility comes at a great cost. From scratch application migration processes (specification, implementation, business logic testing, and the like) require extensive effort and are often error-prone. Large developer teams have to re-write the application, adapt data schemas, build new ETL, perform functional and performance testing, and more.
Tool-Assisted Requirements Gathering and Rewrite
Another approach to accelerating requirements gathering and implementation is to employ commercial software tools that analyze the existing mainframe application and generate business rules and programming language stubs. Some examples of this approach include EvolveWare, AveriSource, and UniqueSoft.
These tools can sometimes reduce the time and cost of a migration, but often at the expense of flexibility and business outcomes. The tools might assume target languages and infrastructure options that would not be chosen if the dev team were starting from scratch with best-of-breed software and infrastructure.
Additionally, the code that is automatically generated by the software tool often requires extensive rework. Business rules embedded in mainframe applications may not be extracted in full fidelity, and subtle problems might be difficult to detect and expensive to fix.
Pull Data Out of the Mainframe
Instead of rewriting a mainframe application from scratch, some development teams are modernizing their mainframe applications by pulling data out of the mainframe and into a modern database. A major benefit of this approach is that it is often possible to identify and offload resource intense mainframe tasks. As an example, mainframes often have reporting responsibilities for business operations. If these reporting responsibilities require a significant amount of the total infrastructure resources, savvy development teams can migrate the reporting function to commodity infrastructure on premises or in the cloud and save a ton of money.
There is an obvious tradeoff with this technique. Although it’s often a step in the right direction, this approach does not result in a complete migration away from the mainframe. As a result, the company still has to shoulder the licensing costs, maintenance time, and opportunity cost of maintaining the mainframe — only for even less functional business use.
Compiler-Assisted Mainframe Migration
The last option for mainframe application migration is a complete migration of the mainframe application through a compiler that understands the language and data management implementation of the mainframe application. The compiler generates an intermediate language source that can be compiled into a target language and data management implementation.
This approach can often result in a quick implementation that simultaneously is significantly less costly than a complete rewrite and provides significant business outcomes. The cost and time to implement is low because the actual conversion is highly (but not completely) automated. The compiler software is not trying to understand and extract complex business rules: it’s working at a lower level that is creating an intermediate representation of the application logic itself. Companies that implement this approach as part of their solutions include Heirloom Computing and Micro Focus.
Most implementations of mainframe application compilation will preserve an existing RDBMS (almost always DB2 or Oracle). But now there is an opportunity to leapfrog the legacy database and modernize the application on a scale-out, HTAP database that incorporates native AI. If you use this compilation method and make Splice Machine your target DB, you can easily add ML/AI to your mainframe application in a few months.
Splice Machine recently worked with a leading insurance company to migrate its global claim, client, & policy application from a legacy on-premise DB2 architecture to a distributed SQL platform deployed on multiple clouds. The 35-year old PL-I application (which remains the backbone of the Company’s core business processes) has been converted to Java and is now able to take advantage of OLAP and OLTP capabilities on a converged platform. Now, the company’s predictive models that previously were not in operation because of ETL latency can be injected directly into the real-time claims workflow. This is because the OLTP RDBMS and AI models are co-resident on Splice Machine’s converged architecture.
Generally, we recommend the “pull data out” or “compiler assisted” mainframe migration techniques, with a slight preference for the latter.
The “pull data out” approach can be a quick implementation and significantly reduce mainframe utilization, allowing for a reduction in future mainframe hardware and license costs while enabling completely new capabilities. The “compiler-assisted application migration” is a more comprehensive solution that makes sense with the benefit of the right partner tools.
The right approach is dependent on a number of factors but we believe that the foundational element of such a solution is a scale out SQL database with ACID and ML capabilities. Such a platform not only enables companies to modernize their mainframe applications to be agile, data-rich, and intelligent but do so without rewriting from scratch. Migrating the legacy apps to a unified platform reduces database licensing costs, empowers the applications to add new data sources at a massive scale, unifies analytics and, and turbocharges them with machine learning to make them smarter than they ever have been.
To learn more about how to modernize your mainframe applications, check out our webinar to see a demonstration of compiler-assisted mainframe migration.