Why Modernize Legacy Applications?

Bob Quillin

June 16, 2022

Why modernize legacy applications? At a time when many enterprises are still dependent on decades-old monolithic software to run their businesses, that question has become critically important for IT and business leaders in companies around the world. That’s because of the unprecedented pace of technological advancement we’re experiencing today.

New marketplace opportunities—and threats—appear and disappear with bewildering speed. Business organizations must respond swiftly with upgrades of their own internal expertise and capabilities if they are to keep pace with the demands of customers and the challenges of competitors. As Tad Simons of the Thomson Reuters Institute observes:

“It has become axiomatic that we are in a period of rapidly accelerating technological change, and that technology itself has become a force of both disruption and innovation.”

The result of this trend is that modern companies face an imperative of continual innovation in their own IT systems and software applications that they cannot avoid. “Application modernization” and “digital transformation” are no longer just technological buzzwords—they are now indispensable survival strategies.

Why Modernize Legacy Applications? To Remain Competitive!

In today’s atmosphere of technology-driven marketplace disruption, companies should expect their competitors, including a continual influx of new, tech-savvy startups, to be quick to take advantage of advancements in technology to better serve customers.

To remain competitive, established enterprises must have the agility to rapidly adapt and upgrade their own internal and customer-facing processes to meet quickly changing marketplace requirements.

Yet, many organizations are still running their businesses using software applications that are decades old. For example, nearly 90% of global credit card transactions are currently handled by mainframes running software that was first introduced in the pre-internet age.

These legacy applications are still in use because they continue to perform their original functions well. The problem is that survival in today’s marketplace calls for new capabilities these applications were never designed to provide.

For example, most market-leading companies are now committed to the cloud. They use it to implement sophisticated, modern applications that provide new levels of personalized service that customers have come to not only expect, but demand. Yet, mission-critical applications that first went into production a generation ago may be entirely unaware that such a thing as the cloud exists.

If companies are to remain competitive in their markets, they must prioritize adapting such applications to the demands of the modern era. The Gartner research firm puts it this way:

“Digital transformation has made it imperative for application leaders to find effective ways to modernize legacy systems.”

But what, exactly, is a legacy application?

For many people, the term “legacy application” describes old, out-of-date, and almost useless software running on a mainframe in an all but forgotten on-premises data center. But that’s far from the case. This definition from Gartner provides insight into what the term means in actual practice:

A legacy application or system is “an information system that may be based on outdated technologies, but is critical to day-to-day operations.”

The key phrase is “critical to day-to-day operations.” For many of today’s most prominent global enterprises, as well as a wide range of smaller companies, that’s exactly what their legacy applications are—vital assets those organizations literally cannot do without.

Note also that although a legacy application may be based on outdated technologies, that doesn’t necessarily mean the software itself is particularly old. With the current pace of technological change, even applications written just a few years ago might be considered as legacy by developers working on it.

Why modernize legacy applications? They’re holding you back!

Legacy applications were simply not designed with today’s technological environment in mind. For example, their architecture is often monolithic, meaning that the codebase is, in essence, a single unit, with various functions and dependencies interwoven throughout.

That makes it extremely difficult to upgrade or adapt specific capabilities without possibly triggering a cascade of unintended changes throughout the entire body of the code. And that raises the terrifying possibility that a single change to any portion of the code might introduce hidden bugs that could potentially bring down the entire system.

Another serious issue with older applications is that by now most of the people who wrote and understand them are no longer in place. Documentation is often inadequate or entirely lacking, and even the languages used (such as COBOL) may be unfamiliar to newer developers.

These systems often don’t scale well because the code was designed to handle a certain level of activity, and when that level is exceeded, it’s difficult to upgrade the application to handle greater volumes.

A good example is the impact of the COVID-19 pandemic on the unemployment claims processing systems in several states. With claims suddenly accelerating far beyond normal levels, applications that first went into service in the 1970s simply couldn’t keep up. And with the original programmers long gone, some state governors resorted to putting out emergency calls for volunteers with COBOL experience to come and help upgrade the system.

Other issues that often impact legacy software include siloed data (many older applications were designed as stand-alone and lack facilities for data sharing), lack of vendor support (original vendors may no longer even be in business), growing costs for maintaining all-but-obsolete technologies, and security vulnerabilities (the data security landscape has changed radically over the decades).

Perhaps the most important issue of all is the inability of older applications to integrate with the newer technologies, such as the cloud, that dominate today’s technological landscape. Gartner estimates that by 2025, 95% of new digital workloads will be cloud-native. Applications that cannot interoperate in that environment will be significantly less useful than they may have been in the past.

Why modernize legacy applications? It’s critical in today’s world.

Industry analyst David Weldon defines application modernization this way:

Application modernization is the process of taking old applications and the platforms they run on and making them “new” again by replacing or updating each with modern features and capabilities that better align with current business needs.

That process is becoming indispensable for companies that depend on legacy applications for their business-critical functions. Such organizations typically devote –often without realizing it–more of their management attention and IT budgets to keeping legacy systems running than to creating the innovative new applications they need if they are to keep pace in a rapidly changing operational environment.

For example, in 2019 the US Federal Government spent about 80% of its IT budget on operating and maintaining legacy systems. And in a survey of corporate CIOs (Chief Information Officers) a majority of respondents said they were spending 40-60% of their time just managing legacy IT.

Legacy application modernization allows companies to redirect their energies and spending from supporting the past to innovating the future. As Stefan Van Der Zijden, VP Analyst at Gartner puts it:

“For many organizations, legacy systems are seen as holding back the business initiatives and business processes that rely on them… application leaders must look to application modernization to help remove the obstacles.”

By bringing venerable but still useful systems into the modern technological world, application modernization enables organizations to take full advantage of the new technologies, languages, tools, and infrastructure that are at the core of today’s information society. And that, in turn, can yield major improvements in availability, performance, scalability, security, compliance, and user experience.

Why Companies Don’t Modernize

If legacy application modernization is so necessary for success in today’s marketplace, why haven’t more companies committed to it? Here are some of the more common reasons:

1. Complacency

Some CIOs live by the rule, “if it ain’t broke, don’t fix it.” Since their current systems are still successfully performing their designed functions, such leaders see no reason to rock the boat by initiating potentially disruptive changes. But if an application can’t perform the functions that are needed in today’s environment, it is “broke” and needs to be modernized.

2. Risk

There is some risk attached to modernization efforts, especially if adequate planning is not done up front. A proper planning process will involve assessing the business, financial, security, and operational risks that might be encountered, and determining how they can be mitigated. With the right leadership, the right plan, the right tools, and the right partners, all these risks can be managed.

3. Cost

There’s a definite up-front cost for initiating a modernization effort. But the potential ROI can be substantial, while the cost of doing nothing will increase with every passing month. Once implemented, modernization should yield reduced operational costs due to factors such as the cloud’s pay-per-use pricing model, and the lower maintenance costs that result from cloud providers being responsible for infrastructure management.

4. Time

Some leaders are concerned about the time a modernization effort will take, and its impact on the business while it is ongoing. The time required depends mostly on the number, size, and complexity of the monolithic applications that must be modernized. Use of an automated platform rather than manual efforts can reduce the time required—and the costs—substantially.

Related: How Long Does a Cloud Migration Take?

5. Fear of Change

In most cases, when legacy applications are modernized, the associated workflows will also change to some degree. That’s usually by design, to make them more effective and efficient in the modern context. Such change is, in fact, a valuable result of the process of digital transformation all organizations must sooner or later undergo if they are to survive and thrive in today’s marketplace.

6. Lack of Expertise

Successfully completing a substantial application modernization project is a complex process that requires a level of expertise many companies don’t have in-house. That’s why working with a skilled and experienced partner organization is crucial.

Why Modernize Legacy Applications?

The fundamental answer to that question is that there is no other choice for companies that want to preserve their investment in software that has served them well for years, while moving confidently into a future where constant technological change is an unavoidable fact of life.

Getting Started with Modernization

If you’re convinced your company needs to commit itself to modernizing its legacy applications, where do you start? Gartner recommends a three-step process:

1. Evaluate Your Legacy Systems

According to Gartner, legacy systems should be evaluated against such drivers as:

  • How well does the system fit the business needs of the organization? Does it align with current business goals, provide positive business value, and enable the agility required for competitiveness in an ever-changing technological and marketplace environment?
  • How well does the system meet current IT requirements in terms of factors such as cost, complexity, risk, scalability, upgradability, security, compliance, and support?

2. Evaluate Modernization Options

Gartner identifies seven options for modernizing legacy systems. Ranked by ease of implementation, they are:

  1. Encapsulate: Enable the application to interoperate with newer systems by providing API access to its existing data and functions without changing its internal operations. This is a low-risk option, but also low reward since the application continues to run as-is, with no new features, in its original environment.
  2. Rehost (“Lift and Shift”): Move the application to a different host, usually the cloud, without significantly modifying its code. This approach is the easiest to implement since it involves only minimal recoding. Its benefits, however, are also minimal. It essentially transfers the existing monolithic architecture, with all of its defects, to the cloud, while failing to take advantage of the extended capabilities available to cloud-native applications.
  3. Replatform: Migrate the code to a different runtime platform with minimal changes, and without changing the existing architecture or functionality. Monolithic applications remain monolithic, but in a new execution environment.
  4. Refactor: Restructure and optimize the existing code without changing its external behavior. This involves moving entirely away from the application’s monolithic roots and toward a cloud-native, microservices architecture.
  5. Rearchitect: Create a new application architecture that enables improved performance and new capabilities.
  6. Rebuild: Rewrite the application from scratch, retaining its scope and specifications. This is often called the greenfield approach. It has the advantage of allowing you to totally redesign the application architecture for a modern stack and runtime environment. On the other hand, it can be costly, time-consuming, and risky. Because of these factors, building greenfield applications on AWS, Azure, or Google Cloud may not be an attractive option for established enterprises.
  7. Replace: Eliminate the current application, replacing it with a new one—perhaps an off-the-shelf solution—that meets current requirements. This is considered the most extreme option in terms of time, cost, and risk.

3: Choose the Modernization Approach with the Highest Payoff for Your Organization

Of the seven options Gartner lists, refactoring may well be the most attractive starting point for many companies, since it allows transitioning to a cloud-native microservices architecture without incurring the costs and risks of creating what are essentially entirely new applications.

Related: What Are the Benefits of Microservices Architecture?

Refactoring can significantly reduce technical debt and improve nonfunctional characteristics such as performance, usability, security, and upgradeability. It also provides an opportunity to modify current features or add new ones to take advantage of the extended capabilities available to cloud-native applications.

To Be Successful, You Need Automated Tools Empowered by Data Science

The most risky, time-consuming, and costly way to implement an application modernization project is to do it manually. It’s simply too complex, takes too long, and requires too many highly skilled experts.

What’s needed instead are AI-driven automated tools that can analyze a company’s monolithic applications and automatically transform them into microservices.

vFunction provides just such a tool. The vFunction Assessment Hub analyzes your current system and delivers a data-driven assessment of the levels of complexity, risk, and technical debt a modernization effort will encounter. The quantified results of that process will allow you to identify and prioritize the applications that must be modernized, and create a roadmap for doing so.

The vFunction Modernization Hub automatically transforms complex monolithic applications into microservices, detecting and unraveling the hidden dependencies in large codebases that, in a manual process, would be extremely difficult to identify.

If you’d like to know more about how vFunction can empower legacy application modernization at your company, please schedule a demo today.

Bob Quillin

Bob Quillin is the Chief Ecosystem Officer for vFunction, responsible for developer advocacy, marketing, and cloud ecosystem engagement. Bob was previously Vice President of Developer Relations for Oracle Cloud Infrastructure (OCI). Bob joined Oracle as part of the StackEngine acquisition by Oracle in December 2015, where he was co-founder and CEO. StackEngine was an early cloud native pioneer with a platform for developers and devops teams to build, orchestrate, and scale enterprise-grade container apps. Bob is a serial entrepreneur and was previously CEO of Austin-based cloud monitoring SaaS startup CopperEgg (acquired by IDERA in 2013) and held executive and startup leadership roles at Hyper9, nLayers, EMC, and VMware.

Get started with vFunction

See how vFunction can accelerate engineering velocity and increase application resiliency and scalability at your organization.