On the Spectrum of Application Modernization
October 19, 2022 Alex Woodie
What is application modernization? If you ask 10 people in the IT world, you’re likely to get 10 different answers. For organizations looking to keep their IBM i assets relevant in an increasingly digital world, being aware of the spectrum of options available will help them make the best choice for their particular situation.
Every organization is unique when it comes to its IT journey. Some may have large in-house development teams and would never think of running packaged business applications, while others have no developers and lean on their vendors and partners to keep things running. Some organizations may take a “if it ain’t broke, don’t fix it” approach to adopting new functionality, while others are happy to be on the bleeding edge of innovation.
While differences are the norm, there are some patterns that appear when looking at the situation from a macro view. In the IBM i world, there is a sizable population of organizations that are running older RPG-based applications that were either entirely developed in-house or are heavily modified versions of packaged software from vendors, many of which likely no longer exist.
These organizations are left to wonder what they should do with their applications, if anything. The organizations have relied on these RPG applications for decades, in some cases, and they have served the organizations well, for the most part. However, there is uncertainty about the future of many of these applications, which is bringing the topic of application modernization to the forefront.
An aging workforce is one of the top threats to the RPG status quo. In many organizations, the folks who originally developed or implemented the application are gone or soon will be retired, and finding replacements knowledgeable in IBM i technologies is proving tough. For these organizations, migrating the codebase to a language and platform that’s easier to hire for, or moving to a packaged application, may be enticing.
The ease of adding new functionality is another driver of application modernization efforts. The rise of the Web in the late 1990s and mobile interfaces in the 2000s may have kicked off modernization efforts at the client level. But the range of technological capabilities available today, from predictive analytics powered by big data and AI to new user experiences powered by 5G, the IoT, and (eventually) the metaverse, threaten to give digital-first companies a permanent leg up on their brick-and-mortar counterparts.
The COVID-19 pandemic provided a firsthand look at how technology can help companies compete and win in the real world. Companies that had a mature Web presence and digital strategy flourished, while those that didn’t went out of business or struggled during the lockdowns.
According to a new study from GHD Digital, the world’s companies got seven years’ worth of transformation in just 18 months. “Executives became comfortable using new tools and technologies, and this gave them a belief that they are further ahead in their innovation journey than their peers,” said Kumar Parakala, president of GHD Digital, in a press release.
However, they need to be mindful of the risks, Parakala said. “I’ve seen examples from many other industries of the perils of failing to develop the right business models for our changing world,” he added.
IBM i shops would do well to take Parakala’s words to heart. The IBM i server and the applications that run on it aren’t necessarily excluded from participating in that digital transformation. They can help organizations execute their digital strategies. In fact, thanks to the server’s qualities around security, reliability, and efficiency, it may be better at it than other platforms.
However, the IBM i server and the real-world applications that run on it often present unique barriers to organizations’ digital transformation strategies, particularly if the application is exceptionally old, out of date, or difficult to change. Combined with the personnel question, these are the toughest hurdles to overcome in an application modernization journey.
Once you’ve opened the kimono and accepted that application modernization is in your future, the next step is figuring out what to do. That’s not necessarily an easy task, according to Richard Baird, a longtime IBM executive who now works at Kyndryl, which was spun out of IBM Global Technology Services last year.
“Everybody talks about modernizing i,” says Baird, who holds the titles of VP, CTO & Engineering Lead, Core Enterprise and zCloud at Kyndryl. “But modernization is a heavily overloaded term.”
In Kyndryl’s world, IBM i modernization typically falls into one of three broad categories. You’re either an investor in the platform, a maintainer of the status quo, or you’re in the process of divesting assets off the platform.
“By investor, you’re going to be on Power10, be on v7.5, using the latest and greatest that’s come out,” he tells IT Jungle. “Or I can be a maintainer. I’m not quite sure I’m going to stick on Power8 or Power9, maybe just on Power7. I’m going to continue the investment. But I’m here for the medium term. The divestor, as the name suggests, they’re going to move one or more or all applications and data off the platform to somewhere else.”
Kyndryl, which recently formed a partnership with Microsoft to help IBM i and System z customers integrate their host applications with other applications running in the Azure cloud, runs into IBM i customers with all three architectural investment profiles, Baird says.
The investor might look to open up their RPG applications and bring them fully up to speed with modern requirements. The maintainer might seek to pull data from their existing RPG programs and load it into cloud applications. The divestor might do one of several things, including lifting the source code off the IBM i and recompiling it for an X86 platform; converting the code to Java or C#; or completely ditching it and rewriting it from scratch to be cloud native.
Gartner has a slightly more granular take on the modernization of “legacy” applications, or those that are failing to keep up with business needs. The analyst group has identified six drivers for modernization. The first three are the issues, concerns, or impediments created as a result of its technology, architecture, or functionality. The second three are the cost, complexity, and risk involved with running either the original application or the modernized one.
When the business has weighed the drivers and crunched the numbers, it will be ready to make a decision on whether to modernize. But wait – there’re more decisions to be made! Because according to Gartner, there are seven different forms of modernization, each with its own balance of risk and potential reward.
Gartner’s list, starting with the least risky (and least potential reward) and moving toward the most risk (and most potential reward), reads as follows:
- Encapsulate. Leverage and extend the application features by encapsulating its data and functions, making them available as services via an API.
- Rehost. Redeploy the application component to other infrastructure (physical, virtual or cloud) without modifying its code, features or functions.
- Replatform. Migrate to a new runtime platform, making minimal changes to the code, but not the code structure, features or functions.
- Refactor. Restructure and optimize the existing code (although not its external behavior) to remove technical debt and improve nonfunctional attributes.
- Rearchitect. Materially alter the code to shift it to a new application architecture and exploit new and better capabilities.
- Rebuild. Redesign or rewrite the application component from scratch while preserving its scope and specifications.
- Replace. Eliminate the former application component altogether and replace it, considering new requirements and needs at the same time.
While there are undoubtedly nuances to how these actions might apply to IBM i, Gartner’s list of modernization options seems to map pretty to the midrange situation. In any event, it shows that, while we often speak of application modernization, it can often mean many different things. As it turns out, the range of possible options for improving older apps is quite broad, which should help IT execs make the best decision at the end of the day.