Enterprises that want to cut costs or increase revenue can take a slow and steady, exploratory approach to modernizing applications. But if security or staffing are concerns, the time to modernize is now, according to industry experts.
Application modernization includes a range of tasks such as rewriting or repackaging legacy software to run on modern platforms and frameworks to better fit current business needs. While the concept is decades old, the growing number of data breaches and dwindling staff levels have added urgency to the task of application modernization. It also has garnered more attention over the last five to 10 years, likely because there are more options to make the transition, said Jason Bloomberg, analyst at Intellyx.
Ten years ago, enterprises had two bad options for application modernization, Bloomberg said. One option was rip and replace, but that was risky, expensive and time-consuming; the second option was to keep the old app indefinitely, laying on APIs or virtualization, he said.
"But now with the cloud and all of these different modernization techniques, there are many different ways you can improve dealing with legacy code," he said.
Application modernization challenges
Application modernization is a challenge for enterprises that must consider factors such as exceeding time or budget constraints when planning for modernization, Bloomberg said. One effect of project failure can be not choosing the right project where changing technology outpaces the project's speed; for example, a three-year-long project could result in a modernized application that no longer fits a business's needs, he said.
Miten Marfatia, CEO of application modernization company EvolveWare, suggested that when companies consider modernizing applications. "If someone came and said, 'I need this system for only two, three or four years,' I'd say, don't waste your time; run with the system and then let it retire gracefully," he said.
On the other hand, there are pressing reasons for hastening modernization efforts, he said. "If these systems are really old, and beyond that, do not have anyone to support it, I would say, 'Like it or not, either modernize or write a new system.'"
Here are some of the top reasons why enterprises should consider modernization, according to industry experts.
1. The developer shortage leads change
Enterprises often cite costs as the driving force behind modernizing applications, but the developer shortage is a much bigger issue, Marfatia said.
"Believe it or not, we've met with clients, where the youngest person who is supporting the old applications is 76 years old," he said.
Miten MarfatiaCEO, EvolveWare
Enterprises experiencing a shortage of staff with the right skills will struggle to fix or update legacy code, Bloomberg said.
While the talent shortage can drive enterprises to undergo an app modernization project, the skills gap can also hinder it, said James Falkner, director of product marketing and hybrid platforms adoption at Red Hat.
"Let's say you're a big Python shop and all your Python developers quit, or most of them quit, and you don't have a whole lot of folks left that may have understood the application in the past," he said. "It's going to be more challenging to modernize."
But app modernization projects may also help companies find new talent. Developers unwilling to stay put and work with antiquated systems are often interested in modernization efforts because they want to use the latest technologies and update their resumes, Falkner said.
2. Security concerns
Security vulnerabilities can sometimes force application modernization into uncomfortable timelines, said Julien Moutte, vice president of technology at software development company Bentley Systems.
"In some cases, because you failed to modernize regularly enough, you might end up in impossible situations, where addressing the security issue requires a modernization effort that you simply can't afford or deliver on time," he said.
To complicate the issue, enterprises can't predict when security patches will occur and, when they do, they may not patch fast enough, Intellyx's Bloomberg said.
3. Keeping up with the market
Competitive forces are also a driver of application modernization, Bloomberg said.
"The competition starts doing something new," he said. "Now a company says, 'We've got to do it as well' or 'We've got to do something else that can help us compete.'"
Increased consumer demand on business operations helps to drive the modernization trend, too, said Naveen Zutshi, CIO at Databricks. Gone are the days of separate store and online inventory: Customers want to see that inventory in one place, he said.
"They want to be able to order and ship from anywhere to anyplace and they want to be able to order online and pick up in store," he said.
This means that retailers must provide highly performant, real-time data analytics that can be collected across different stores in different geographies, something that isn't possible with legacy applications, Zutshi said.
4. Sunset of an application
Sometimes applications, or the underlying hardware system, fall out of support either because the vendor goes out of business or sunsets the technology, Bloomberg said.
"If there's no support, that means that there's no patches coming from the vendor, and no technical support if you have a problem," he said.
Even if an enterprise decides to keep the unsupported application, over time it might dull in comparison to a competing tool with new features and upgrades, according to David Strauss, CTO at WebOps vendor Pantheon. "If the vendor hasn't disappeared, these tools often enter into a legacy maintenance mode, where they might be getting modernized in the sense of being able to continue to run them, but not modernized in the sense of getting capabilities that people would expect of that software today," he said.
5. Money and time savings
Modernization may be able to help keep costs from spiraling. The older an application gets, the more likely costs such as inefficiencies, hosting costs and outages will increase, said Richard Pountney, senior .NET engineer and software developer at IT consultancy Helastel.
"IT moves at a blistering pace and, if it makes operational sense, software applications should follow suit," he said.
For example, one reason to modernize is if operating costs for the application increase year on year, he said.
Tim Panagos, CTO and co-founder of Philadelphia-based Microshare, a data governance platform for IoT, provides a simple calculation for factoring operating costs into a modernization plan.
"Applications should be modernized the day before the cost to maintain them exceeds the cost to replace them," he said.
However, the challenge is that maintenance costs are often intangible -- such as how often the business asks for changes and how quickly and accurately staff can carry out those changes, he said.
Bloomberg agrees that while it can be a challenge to calculate total cost of ownership, an estimate of the costs of the new application versus the old one, enterprises have the option to outsource application modernization to a consultant who will give a fixed price.
"Maybe it will cost more, because things always do, but at least you have a basis to go on," he said.
Enterprises can also calculate project costs with their own resources by determining who will work on the project, how many hours it will take and how much those workers make per hour, Bloomberg said.
"Take that number and double it," he said, adding that engineers tend to underestimate.
No matter which route enterprises choose, it's mostly going to involve guesswork, Bloomberg said.
"It's a seat of the pants kind of thing, no matter how you go about it," he said.