Strategies for Modernizing the Mainframe Experience

You may have recently read The Benefits and Challenges of Mainframe Application Modernization here in the blog. Careful readers will note that the term I use is “mainframe application modernization” and not “mainframe modernization,” as it is commonly used.

You see, the mainframe is a modern computing platform, having been continually updated and modified by IBM over the decades of its existence. It would be difficult to find a more modern platform than today’s current IBM z16 mainframe.

The IBM z16 is built around the new IBM Telum chip, designed for AI inferencing and on-chip AI scoring logic for deep learning. The IBM z16 can process 200 billion inference requests daily within one millisecond of latency. Furthermore, the IBM z16’s quantum-safe secure boot technology protects IBM Z firmware from quantum attacks with no changes required. Not to mention the security and encryption built into the IBM z16 with Pervasive Encryption and Data Privacy Passports. And we haven’t even touched on the fact that it can be configured with up to 40 TB of addressable memory per system.

So, you see, the mainframe is modern. It even can be configured and delivered as a rack-mounted system using the same form factor as your other hardware. So, the term “mainframe modernization” should be banished, and instead, we should explicitly state what aspect is being modernized.

And that is why I frequently use the term Mainframe Application Modernization, but not everything is application modernization; you can also modernize your processes, operations, and integration capabilities, too.

With all of this in mind, let’s pivot back to the title of this piece and discuss strategies for modernizing aspects of your mainframe experience.

Migration Strategies

One approach to modernizing the mainframe experience is to migrate off the platform. Although I prefer something else to this approach, it needs to be considered. There are various approaches organizations can take when transitioning their legacy mainframe systems to modern architectures, such as the cloud.

So how can you modernize your mainframe systems? Industry analysts as Gartner outline seven approaches that can be taken to modernize legacy systems, including:

(1) Encapsulating, which means you are extending features, data, and functionality in the application and making them available as services using an application programming interface (API).

(2) Rehosting, which redeploys an application component to another physical, virtual, or cloud infrastructure without altering the code or modifying features and functions.

(3) Replatforming, which is migrating an application component to a new runtime platform. Code changes are required, but the goal is to minimize code changes to adapt to the new platform without modifying the code structure or the features and functions it provides.

(4) Refactoring, which means to restructure existing code without changing its external behavior while improving its features and structure.

(5) Rearchitecting, which requires materially altering application code to enable shifting it to a new application architecture and fully exploiting the capabilities of the application platform.

(6) Rebuilding, which is rewriting application components from scratch while preserving its scope and specifications. This requires a significant amount of work!

(7) Replacement, in which the former application component is eliminated altogether and replaced, taking new requirements and needs into account.

All these options are potentially time-consuming and costly, but the further down the list you go, the more lengthy and costly the task becomes.

DevOps on Mainframe

One popular approach to modernizing the mainframe experience is to modify the processes used to build and manage mainframe applications. Traditionally, mainframe application development used a waterfall approach to application development. Long projects over many months were required before delivering any value to the users (in the form of application functionality). DevOps marries agile development with automation to shorten the time-to-value for application delivery.

Implementing DevOps requires new technologies that automate the software development lifecycle (SDLC), but it also requires a shift in organizational mindset. That is, DevOps success requires teams cooperating and collaborating throughout the organization, from individual contributors to upper-level managers, from programmers to administrators, and from IT experts to business subject matter experts. Achieving this cooperative environment is usually more difficult than implementing technology. Every organization will have different challenges and methods of bringing disparate pieces of the company to work seamlessly together.

The key to success with automating DevOps is a well-constructed toolchain for automating both development and operational tasks in an integrated and cooperative manner. Typically, such a toolchain involves tools and processes automating orchestration, continuous integration and delivery, configuration management, source control, collaboration and tracking, testing, deployment, and monitoring. Containers are also commonly used to facilitate quicker setup and delivery.

Adopting a DevOps approach can be used to modernize the mainframe experience by enabling tasks to move faster and thereby deliver value to end users more quickly.

Modernizing Mainframe Applications

Even though the mainframe platform itself is modern, there is no doubt that many older applications could benefit from being modernized. For example, to create a modern web or GUI interface instead of the ubiquitous green screen interface familiar to older mainframe applications. Or even a mobile interface to enable applications to be accessed by the most ubiquitous device on the planet, the mobile phone. And others are looking to transform an older language, like COBOL, to a language that is supported by more programmers, such as Java.

There are many different methods that can be undertaken, depending on the requirements, skills, and timeline for each mainframe application modernization project. Some organizations may decide to completely replace applications, perhaps using a commercial off-the-shelf software package. Others may re-write some applications themselves. And then, some organizations fall anywhere between these two extremes.

Many organizations adopting the “in-between” approach can maintain the core of the application code but provide access to its functionality using APIs from a web or mobile application. And, of course, many solutions are available for refreshing the interface of online applications that use CICS screens or TSO/ISPF panels.

Finally, revitalizing mainframe applications can be undertaken by converting the underlying programming language. A language that has been in use for as long as COBOL has can benefit from a review of ways to improve and modernize it. One such option is to convert the COBOL code to a more modern language like Java. Doing so can optimize your environment, reduce cost, and make your code easier to support (because Java programmers are more readily available than COBOL programmers).

Of course, you do not want to rewrite COBOL in Java by hand. Cloudframe offers technologies to cross-compile COBOL programs into Java. This can help you move more applications to Java and either run them on the mainframe or even on another platform. And when running on the mainframe, you get the added benefit of the Java code being zIIP-eligible so that you may benefit from lower costs, too!

Summing It Up

There are many approaches to modernizing your mainframe experience, some of which we have touched upon here. But please remember, the mainframe is a modern platform. It can certainly benefit from having applications and processes modernized, but the computing platform itself, the IBM z16, is already relatively current!

FIND OUT MORE

Download cloudFrame Relocate Product Fact Sheet

Related Articles

Next Event

Recent Events