New life for old apps: Cloud drives enterprises to modernize software
Last year Mutualink Inc. completed a major overhaul of the software application at the heart of its business of connecting public safety and private organizations to share information during emergencies. It was the fourth major restructuring of the application in the company’s 12-year history, but this time Mutualink is rebuilding for the long term.
“The initial demand was to scale for the next 10-times to 100-times growth,” said Paul Kurmas, director of strategic product development at Mutualink. “But because the cost of creating an architecture is so high, we wanted to have a concept that goes beyond that.”
The rebuilt application the company eventually rolled out uses microservices, which are collections of loosely coupled software services that fire up independently as needed. Applications based on microservices are more scalable, easier to extend and faster than those that use a single integrated code base.
But getting there was no easy feat. The application needed to be rebuilt from the ground up without disrupting existing operations. “It was more complex than I expected it would be in people and time,” Kurmas said. “You’re trying to match the behavior of another living thing, which is the existing system. It has its own behaviors and it doesn’t stop just because you’ve decided to evolve.”
By decomposing the project into pieces and modernizing each independently, Mutualink was able to switch on functionality incrementally without disrupting the user experience. Kurmas estimated the project required between 50 and 100 staff-years of effort, but the result will meet the company’s needs almost indefinitely. Initially deployed to support 100,000 concurrent users, it’s expected to scale reliably to tens of millions through the selective addition of microservices and instances of its Redis Labs Inc. database.
“Our ability to scale, increase speed of deployment and handle new problems as they arise more than paid for the investment,” he said.
Application modernization is hot. Research and Markets Ltd. expects the global market to more than double, to $24.8 billion, by 2025 for an annual growth rate of nearly 17%.
Thomas Klinect, the lead Gartner Inc. analyst covering the market, says his phone hasn’t stopped ringing recently. “A typical analyst covers 300 calls a year,” he said. “I’m covering around 600 related just to application modernization and rationalization.”
Modernization is about ushering old applications into a new world defined by cloud principles such as extreme scalability, platform independence and functional improvements enabled by an ecosystem of extensions. “Building stuff in the cloud now makes sense, so the majority of applications are moving there,” said Stu Miniman, senior analyst at Wikibon, a sister market research company of SiliconANGLE.
Although the concept isn’t new, it has caught fire recently thanks to a convergence of technology and business forces.
For one thing, senior executives have looked on enviously as the market value of software-defined businesses has soared during a brutal recession. By all accounts the pandemic has accelerated digital transformation initiatives, which are undergirded by cloud platforms. “My read is that business executives have seen how a surge such as COVID can disrupt organizations and they’re now looking at how their businesses are wired together and realizing that they’ve overbuilt, which increases complexity,” Klinect said.
Improved technology is making modernization less disruptive than it used to be, and the maturity of cloud native software and development techniques make the prospect of nearly infinite scalability, integration with external services and modular adaptability more achievable that was possible in the past.
“Application modernization is about taking advantage of the cost structure of the cloud,” Miniman said.
Containers, which are portable software environments that encapsulate applications and their dependent software, are now in widespread use and IT organizations have grown comfortable with using them. “Running containers on-prem, in hybrid and multicloud is the single biggest driver of modernization because it’s giving you flexibility to run wherever it makes sense,” said Vishal Gupta, global chief technology officer at Unisys Corp.
Many software vendors have built tools to extend legacy applications — even decades-old ones running on mainframes – through application programming interfaces, permitting such features as graphical front ends to replace green screens. “Three years ago, that would have been pure magic,” Klinect said. “Now there are companies that do this as a matter of rote.”
Code conversion has also matured, enabling applications written even in 1960s vintage languages such as Cobol and Fortran to be reverse-engineered into something more modern. “You can take something that works, convert it into another language and it still works,” said Simon Latouche, senior director of data and analytics engineering at SSQ Life Insurance Company Inc. and a veteran of four major modernization projects.
The flourishing open-source ecosystem also presents attractive modernization possibilities at low cost without the concern about technology dead ends. “The level of complexity of problems that can be solved with open source has matured enormously,” said Mutualink’s Kurmas.
Taken together, the technology argument for modernization is now formidable, but the decision shouldn’t be taken lightly, nor should the outcome be assumed. In a recent report, Klinect estimated that 90% of application modernization projects through 2025 will fail to deliver all the expected business results. More than half never reach their first milestone.
“The number of organizations that have successfully completed all their goals with modernization we could probably count on both our hands because most look at it from an IT rather than a business perspective,” Klinect said.
Although information technology organizations are critical to the modernization process, they shouldn’t drive the strategic thinking, Klinect said. “IT sees bright, shiny objects floating in the sky and they convince businesses that without them, they will fail,” he said. Which is how they got into this mess in the first place.
Cost of complexity
Complexity is both a major driver of modernization and its biggest enemy. Big companies have accumulated large portfolios of software over the years and few have a formal process for cataloging it or mapping interdependencies.
“Everybody buys software, but nobody tracks it,” Klinect said. “Once an application is turned on it is rarely turned off.”
Old applications cost money in license fees and maintenance costs. With maintenance often consuming more than half of IT budgets, chief information officers are eager to clean house. It’s like owning a car, Latouche said: “At some point maintaining the old one is more expensive than buying a new one.”
But modernization is a continuum. Gartner counts seven different approaches:
- Encapsulation makes services selectively available via APIs but doesn’t touch the underlying code.
- Rehosting “lifts and shifts” the program unchanged to new infrastructure.
- “Replatforming” make some code changes to adapt the application to the new platform but doesn’t alter functions or structure.
- Refactoring modernizes code to remove inefficiencies without altering the application’s behavior.
- Rearchitecting alters the application code fundamentally to take advantage of new platforms.
- Rebuilding overhauls from scratch, maintaining original scope and specifications.
- Replacement throws out the old in favor of something completely new.
Each step adds a level of complexity and cost but also corresponding reward. Though having a bounty of choice gives organizations a lot of options, it also increases the risk of making the wrong decision.
Unisys learned the consequences of making the wrong choice a few years back when it undertook a project to move a complex legacy application to a modern microservices architecture. Developers thought the mission was to improve the software’s stability, but “we realized about halfway through the project that the problem was not that the system wasn’t stable; it was that people wanted a compelling user experience that cut processes that took 30 minutes to five minutes,” said Unisys’ Gupta. “We were on the wrong path for two years.”
Unisys also discovered what companies find only after they’ve started a big overhaul. “There was so much logic in the system that it would have taken 100 man-years to recode it all,” Gupta said. Service-enabling the application through encapsulation was not only faster but also enabled portability to the cloud.
A promising crop of software tools that Gartner has dubbed “enterprise complexity analysis” can untangle the spaghetti bowl of dependencies by mapping them to a common database. But the tools can’t see inside commercial off-the-shelf applications and they can cost a quarter-million dollars to implement.
Still, that’s cheaper than throwing person-years of development at a project only to discover that any code changes will bring a half-dozen other applications down. A bonus is that many companies find that 20% of their software portfolio isn’t being used at all, Klinect said.
Modernization should never be done in a vacuum — and sometimes it shouldn’t be done at all. Organizations should focus on business value rather than technical debt and IT should never lead the project, experts advise.
“You modernize for new capabilities,” said Latouche, who recently worked on a major software overhaul that unified multiple product-specific applications to create a single customer view using data integration software from Talend SA. “It should be something that changes the business.”
“You need to do a full evaluation of your portfolio,” Miniman said. “It’s not about what is critical to the business as much as about what is differentiated.”
A complete overhaul is often unnecessary. Encapsulating an application in a software container is straightforward and can deliver much of the scalability benefits of cloud platforms. Many tools are now available that can outfit aging applications with APIs, enabling them to be modernized, piece by piece. In many cases, all that’s needed is a fresh user interface.
Experts caution against “big bang” approaches that attempt to deliver a completely restructured application all at once, an approach Latouche described as “pretty painful. There’s a lot of complexity you won’t see at first,” he said. “It can be never-ending because you discover more the further you get into the project. You won’t find every detail in one year.”
A better approach was one his company used for an earlier project that treated the rearchitected application like a spinoff company. “All the new stuff went to the new application and over time we migrated everything,” he said. Although that meant paying two license fees and managing two applications for time, the risk was lower because the company could always fall back to the old application.
The encapsulation method offers the low-risk option of staged migration. “You encapsulate the monolith, then expose APIs to the existing users,” Klinect said. As IT unravels dependencies and separates code from data, “you can then replace the API you created during encapsulation with real APIs,” he said. Gartner advocates a “continuous modernization” approach with frequent delivery of new services via APIs and gradual isolation of the legacy application until it can be safely turned off.
Managing customer expectations during the migration is crucial and one of the best arguments for letting business considerations drive the process. Retraining will almost certainly be required, and service levels may drop temporarily while the project proceeds. But, like a home renovation, the results are usually worth it.
“People have to accept that maybe the service levels or capabilities will go down a bit at first,” Latouche said. “Think of it like a pit stop in an auto race: Your competitors gain on you, but you’ll be ahead in the long run.”
Vodafone Group plc’s Greek subsidiary used a drip method of functional delivery to ease users into an overhaul of its customer-facing Digital Experience Layer based on the Kubernetes container orchestrator, Quarkus Java framework and more than 100 microservices. Developers delivered small parts of the modernization to the company’s customers to keep them in the loop constantly so they could understand the improvements we have made, Christos Sotiriou, DXL chapter lead, and Evangelos Gongolidis, tech lead at Vodafone, said in an e-mail interview.
Modernization has the collateral benefit of making applications more extensible as organizations can take advantage of microservices and APIs to tap into additional functions. That was the case at Vodafone, which added a cloud-based microservices layer to an existing application to reduce the number of steps customers needed to satisfy requests.
The move was initially conceived as a way to provide speedy data retrieval and hide complexity behind a friendly front end and a flexible API, Sotiriou and Gongolidis said. But the result was a semi-independent layer with microservice domains for very fast handling of functions such as payments and customer profiling.
Making modernization routine
Another reward of modernizing around cloud principles is that the modernization process itself becomes routine. “Once you’ve modernized, putting it a continuous modernization program is simple because it’s only a 10- to 15- minute conversation to determine if the app is still meeting the needs of the business,” Klinect said.
In fact, Gartner recommends that modernization become part of doing business and that applications be treated as products rather than technologies. “If you’re no longer using the application for the business, you can divest it,” he said.
When fully modernizing for the cloud, companies should be ready to adopt cloud development styles as well, experts urge. Containers, microservices and APIs enable rapid ingestion of new functionality and the pace of delivery should match. Nearly everything is software-defined.
“You need to think about infrastructure as code, policy as code, security, drift and remediation as code,” said Unisys’ Gupta. “The same people doing development will be doing deployment. Your traditional process won’t work.”
Modernization is also an opportunity to look at open-source and packaged solutions that can replace hand-coded ones. Using Redis, which is available in both open-source and enterprise versions, saved Mutualink “at least eight to 10 developer years of effort by finding a solution that already worked as opposed to building it,” Kurmas said.
That’s the kind of modern thinking in application deployment that’s likely to pay off for a long time to come.
A message from John Furrier, co-founder of SiliconANGLE:
Show your support for our mission by joining our Cube Club and Cube Event Community of experts. Join the community that includes Amazon Web Services and Amazon.com CEO Andy Jassy, Dell Technologies founder and CEO Michael Dell, Intel CEO Pat Gelsinger and many more luminaries and experts.
We really want to hear from you, and we’re looking forward to seeing you at the event and in theCUBE Club.