BACKGROUND IMAGE: iSTOCK/GETTY IMAGES
A legacy application (legacy app) is a software program that is outdated or obsolete. Although a legacy app still works, it may be unstable because of compatibility issues with current operating systems (OSes), browsers and information technology (IT) infrastructures.
Most enterprises use legacy applications and systems that continue to serve critical business needs. Typically, the challenge is to keep the legacy application running, while converting it to newer, more efficient code that makes use of current technology and programming languages.
Why are legacy applications still used?
Legacy software includes those that have been superseded by new versions; those built by developers who no longer maintain them, leaving the support team without the necessary depth of knowledge to do so; and those that have been patched or otherwise altered to the point of incompatibility with current standard versions.
While a business may require a legacy application for its activities, legacy apps create complications for the IT operations teams that support them. A legacy app is frequently tied to a specific version of an OS or coding language. For example, an application that runs on Windows 7 may not be able to run on Windows 10, despite middleware or glue code added by a development team or the OS being backwards compatible.
Furthermore, the older an application gets, the more difficult it becomes for the company using it to acquire support services.
When a vendor's development team no longer supports a third-party application, it can be difficult, or even impossible, for an operations team to keep the software running. Even small changes to a legacy system may result in slower performance, higher resource consumption and more frequent failures and crashes.
Because software has dependencies, it's common practice for software vendors to build applications with planned obsolescence in mind. The sale of the initial version of an application may end with the release of the subsequent version. Although customer service and support generally remain available for a certain time period, the enterprise will need to update the legacy app or add another software choice to its application portfolio to provide the necessary functionality.
For example, at the start of 2016, Microsoft ended support for all versions of Internet Explorer (IE) prior to version 11. Users still browsing with IE 6 may continue to do so, but webpages will no longer be coded to be compatible, and any bugs or errors within the program will not receive attention from Microsoft -- making all versions older than IE 11 legacy software.
There are several reasons why an enterprise must maintain a legacy or even antique application. It may be unwieldy and expensive to replace, particularly for a vertical market with specialized functionality requirements, or the operational risks of a large forklift upgrade may be too high, especially if vital data could be lost or corrupted.
Legacy application modernization and migration
Obsolete systems cannot be maintained and utilized forever; at some point, an enterprise will upgrade hardware, coding language, OS or the application in question. Modernization and migration involve refactoring, repurposing or consolidating legacy software programming to realign with current business needs. The goal of a legacy application modernization project is to create new business value from existing applications.
An enterprise conducting a legacy application migration must select a new platform for efficiency, speed, stability and more dynamic capabilities. The IT organization will stand up the new application, then migrate using a staged, cut-over or concurrent (simultaneous) method.
For example, a team may look at migrating to a software as a service (SaaS) approach with application program interfaces (APIs) to free the application from ties to a specific manufacturer's OS, and to make future updates simpler. Additionally, the enterprise can redistribute the location of its application and data between proprietary data centers and public cloud computing platforms. There is also an array of tools available that allow access to legacy data.