Mainframes have been with us for decades, and despite advances in cloud computing and enterprise architectures, mainframes will be with us for some time to come. Most of today’s mainframes still run business-critical applications written in COBOL or Fortran that have been customized and refined over the years. These computing behemoths continue to do the heavy lifting for data processing in many industries.
Still, businesses continue to look for ways to migrate to new computing platforms that offer microservices and containerization for greater agility, scalability, flexibility, and lower operational costs. The challenge is that mainframe migration isn’t simple, so more businesses are turning to mainframe modernization.
Mainframe modernization isn’t about mainframe; it’s about understanding the business logic embedded in mainframe applications
The concept of modernization isn’t about migrating COBOL applications to x86 platforms. Instead, it’s about understanding the business logic embedded in mainframe applications and devising the best strategies to allow legacy systems to use efficient computing architectures while preserving the business logic of the original COBOL applications.
Mainframe modernization is about creating a balance between legacy applications and the capabilities of new architectures, such as cloud computing, prioritizing what needs to be updated, and identifying the best way to do it.
The State of the Mainframe Market
Companies continue to invest in mainframe maintenance because mainframes are still vital to business operations. Some companies are even investing in new mainframes, such as the IBM z15, which can handle 2.5 billion daily transactions. IBM mainframes are used by:
- 45 of the top banks
- Eight of the top 10 insurance companies
- Eight of the top 10 telecommunications companies
- Seven of the top 10 retailers
- Four of the top five airlines
Additionally, at least 71% of Fortune 500 companies still rely on mainframe computers. And government agencies such as the IRS and the National Weather Service continue to rely on mainframes.
Mainframes offer several advantages, such as vast data storage capacity and secure data access. Mainframes can also support containerized apps for DevOps processes and support blockchain network hosting and processing.
The challenge of continuing to use mainframes is the legacy predicament. Many mainframe vertical applications are complex and highly customized, and they have been refined and maintained by COBOL and DB2 developers for decades. While plenty of vendors offer mainframe technology, only 0.1% of R&D budgets are dedicated to mainframe or COBOL, so there is little or no innovation. If IBM is the only company providing mainframe computers, there is vendor lock-in.
Implementing a rip-and-replace strategy to move legacy applications to a new architecture isn’t practical. Redeveloping a legacy COBOL application in Java means converting millions of lines of code and refactoring the average COBOL application, which could require 600 person-years. Redeveloping COBOL software is also high-risk and has a high failure rate.
Instead, Gartner recommends a continuous modernization approach, “identifying, prioritizing, and removing the most severe friction points.” The concept is to focus on business obstacles caused by legacy applications rather than looking at the applications themselves as the problem.
The Modernization Challenge — Which Applications?
Modernization starts with a stable, legacy-free architecture, such as an open cloud infrastructure that offers scalability without vendor lock-in. Then, it’s a matter of assessing the legacy applications to identify friction points, inventory the resources available to eliminate them, and devise the best transformation strategy.
A successful modernization project will assess the current business needs and then analyze the legacy applications, determining which parts need to be refactored to provide support in the future. It’s not simply a matter of lifting and shifting. Some legacy applications must be refactored, some retired, and some left alone.
Start by determining the reason for application modernization. The most common reasons include:
- Enhancing the user experience.
- Improving performance and scalability.
- Refactoring for a public or private cloud environment, which means breaking a monolith application into microservices, frameworks, database engines, etc.
- Integrating with new systems and technologies.
- Reducing maintenance, operating and support costs.
- Eliminating vulnerabilities and improving security and compliance.
- Streamlining workflows and business processes.
- Future-proofing applications and enabling greater agility.
You may need to modernize applications for one or more of these or other reasons. The place to start is understanding and prioritizing the reasons for replacing or refactoring mainframe applications.
Having a business case for refactoring applications is the first step/ The refactoring process itself can migrate the problems with the application or create a new set of problems. The best approach is to validate a series of immediate benefits from application migration, identify the added value, and then determine the best transformation approach.
Mainframe Transformation Options
Organizations have different mainframe transformation options:
- Retire – discard applications that are no longer worth maintaining.
- Retain – wrap existing systems, e.g., replicated data to the cloud for business intelligence, etc.
- Replace – custom applications no longer provide added value and can be replaced by commercial software or SaaS.
- Rehost or refactor – custom applications meet the need but are expensive to run, so they must be moved to a Windows/Linux host or refactored to Java or some programming language.
- Re-envision – develop a new custom application to meet the need.
Maintaining continuity is crucial. The refactored application must have the same functions, inputs, and outputs as the legacy mainframe application designed for a new architecture. Using software intelligence technology like CAST Imaging maps the business logic to preserve functionality.
Unfortunately, legacy applications may include custom code that is decades old with little or no documentation, and COBOL developers are becoming scarce. The solution is to have the mainframe subject matter experts work with programmers who understand the newer languages and architectures to implement the transformation strategy. Once you determine which applications to modernize, developers can collaborate on the best approach to retain, replace, or refactor.
Undertaking mainframe modernization is more a matter of application prioritization than lift and shift. Mainframes will continue to support critical business systems, but not all legacy applications will provide the necessary resources and flexibility as the organization changes. Modernization is about creating a balance between business needs and legacy applications, extracting the business logic from those legacy applications where required, and developing new data processing solutions on open platforms that can grow with your business.
Luc Perard is Vice President of CAST Imaging.CAST Imaging automatically provides everything software teams need to know about the custom-built applications they create, maintain, or modernize.www.castsoftware.com