Jul 21 2021
Cloud

Legacy Application Modernization: Rehosting vs. Refactoring vs. Rewriting

There are many paths to application modernization for state and local governments. Which is best for your agency?

As state and local governments work to modernize their IT systems, technology decision-makers are simultaneously laboring to create more modern applications. They want to leverage current technologies to make applications more responsive to mission requirements and citizen needs.

There are multiple ways to approach application modernization. How an agency proceeds will vary based on a range of factors, and much depends on what resources are available and what goals the agency seeks to achieve.

There are four main pathways to application modernization, and there are a variety of tools available to help state and local governments chart the most effective path forward.

What Is a Rehosting Modernization Strategy?

In rehosting, states do away with their outdated mainframes by transferring procedural code bases and primary functions unchanged into a new computing environment.

“That is the most common scenario, also known as ‘lift and shift’: You pick up the application and move it,” says Greg Schulz, founder and senior analyst with the IT infrastructure analyst and consulting firm StorageIO.

Schulz notes that agencies may shift applications to a public cloud or into a container. The basic premise, he adds, is that agencies are moving from the legacy host platform to a new host platform.

Agencies can turn to this as a quick and inexpensive means of relocating their resources. This approach makes most the sense “when you need something that can be quickly stood up,” says Peter Marston, research director of worldwide intelligent application services at IDC.

“It can give the organization a way to test these more modern types of environments, to pilot something and build some lessons learned,” Marston adds. “For example, you can take a copy of an existing system and run it in parallel, just to experiment. That way, you’re not risking any data loss or data security.”

If the imperative is to move everything to the cloud, “then you may end up with some lift and shift,” says Lee Sustar, a principal analyst at Forrester. “Rehosting is especially good for anything that’s more customer-facing, those applications that already tend to have a certain affinity for modern web applications.”

RELATED: How should you approach legacy system modernization?

What Is an Automated Code Refactoring Modernization Strategy?

As the name suggests, automated refactoring involves the use of automated tools to migrate a system’s procedural code bases to modern, object-oriented languages. This tends to be the most effective strategy for rapid migration to the cloud and cloud-ready application stacks.

In this scenario, “you’re changing the code, you’re refactoring it, you’re cleaning it up,” Schulz says. “You’re making it such that it’s easier to work with, easier to maintain, easier to support, easier to find bugs.”

This method applies when an agency is looking to keep an application running while also bringing down maintenance costs. “You want to reduce the time and the expense needed for adding features, making changes, fixing bugs,” he says.

Refactoring lends itself especially well to certain types of processes, for example applications that process transactions.

“When transactions are involved, there are more controls on security, more controls on data. In that case, refactoring may be worth it as a way to move toward rapid application modernization,” Sustar says.

Overall, refactoring also makes sense “if you want to achieve faster time to market, if you want to ease the developer experience and reduce the level of dependencies between the application developers and the underlying infrastructure,” Sustar adds.

What Is a Rewriting Application Modernization Strategy?

In the rewriting process, professional developers manually recreate the existing legacy application within a newer, more optimal environment. It’s a way of keeping alive applications that might otherwise be on their last legs.

“You do this when you’ve gotten to the point where it’s no longer cost-effective, it’s no longer practical to maintain the application. This is somebody biting the bullet and saying, ‘You know what? Let’s just start to rewrite it,’” Schulz says. “You would do this in order to offload technical debt. Rather than holding that existing system together, struggling to maintain it, you just go and rewrite it.”

This approach requires a degree of caution. “The caveat there is that in the course of rewriting it, you are also rearchitecting it, redesigning it. Are you doing that with the same scope, maintaining basic form, functionality, capability?” Schulz says.

It can be worth pursuing this approach if the information in the application is of sufficient organizational value.

“This becomes important when the data contained within that application is something that the organization has spent a lot of time and money creating. Maybe that data is on a mainframe, but you still need to leverage those data systems to help execute your business processes,” Marston says.

In that scenario, “you’ve made tremendous investments into those systems and you want to continue to leverage them. But you also want to take advantage of benefits that a more modern environment may offer from security, performance and resiliency standpoints,” he says.

In order to make this path effective, it makes sense to engage all relevant stakeholders.

“You’re going to need to have a dialogue between the various architects and the various application developers,” Sustar says. “And there’s always going to be some kind of creative tension there because the developers are tasked with getting things out the door very quickly, and the architects are meant to have a more strategic view about what’s going to be supportable and sustainable over time. In rewriting, they need to have that conversation together.”

DIVE DEEPER: How have agencies deployed modern digital government services?

What Is a System Replacement Modernization Strategy?

A system replacement strategy is often viewed as an emergency exit. The legacy system and its applications are taken offline and replaced with software solutions from third-party vendors.

“Maybe you just need something better,” Schulz says. “Is there something that you can buy off the shelf — a service, a cloud capability, an Office 365, a Salesforce or other Software as a Service? Maybe there’s an entirely new or existing system that you can leverage.”

This approach may require some thoughtful financial parsing. “With that SaaS offering, maybe even if it’s X percent more expensive over the long run, it still makes sense because of the budgeting, the flexibility, the compliance,” Sustar says. “If it makes the government entity more strategic, it can be worth it.”

Determining the Best Application Modernization Strategy

No two systems are alike, and depending on how an application was built and updated, as well as on the organizational knowledge base supporting that application, different avenues to modernization may be more or less appealing to agencies.

Outside organizations can help to drive decision-making. CDW, for example, offers assessment services to help agencies chart the most effective course forward. Experts say such services can be a boon to IT leadership seeking a path to modernization.

“Having that outside view is crucial,” Schulz says. “You need to do that — to get that technical validation, that business assessment validation — just to cover your own backside. If you don’t have anybody else’s fingerprints on the decision, guess who’s stuck holding the bag?”

He encourages state and local IT to seek out partners with the right base of experience to help drive this effort.

“You want an outside vendor who brings expertise in working with different entities across different states, across different business groups within the state,” he says. “You want somebody who will listen to you and validate what you’re doing, but who will also challenge you, get you thinking outside the box, thinking of things in different ways and exploring different options. They can also help you to navigate the options. It’s all part of doing your due diligence.”

Overall, the best way forward will depend on an agency’s particular mix of ambitions and capabilities.

“Is there something that they’re trying to do faster, better or more efficiently? Are there regulatory requirements that are they’re trying to meet?” Marston says. “From there, you move to evaluating what the existing systems are and where their shortfalls may exist. Then you can start to assess and set up that roadmap of what needs to be done next.”

EXPLORE: How can the cloud enable modern digital government?

monstArrr_/Getty Images
Close

Become an Insider

Unlock white papers, personalized recommendations and other premium content for an in-depth look at evolving IT