Actions

Legacy Systems

Revision as of 21:21, 30 November 2021 by User (talk | contribs)

A legacy system, in the context of computing, refers to outdated computer systems, programming languages or application software that are used instead of available upgraded versions. Legacy systems also may be associated with terminology or processes that are no longer applicable to current contexts or content, thus creating confusion. In theory, it would be great to be able to have immediate access to use the most advanced technology. But in reality, most organizations have legacy systems - to some extent. A legacy system may be problematic, due to compatibility issues, obsoletion or lack of security support. A legacy system is also known as a legacy platform.[1]

Gartner defines legacy system as, "An information system that may be based on outdated technologies, but is critical to day-to-day operations. Replacing legacy applications and systems with systems based on new and different technologies is one of the information systems (IS) professional’s most significant challenges. As enterprises upgrade or change their technologies, they must ensure compatibility with old systems and data formats that are still in use."[2]


Why Businesses Continue to Use Legacy Systems[3]

Despite their inefficiency and high costs of maintenance, many corporations and governmental systems around the world still use outdated software. In fact, countries that use these systems admit that the software has even exceeded its end-of-life date. Recently, the inability of state unemployment servers to keep up with application demands highlighted the difficulties of maintaining legacy platforms. Compounding the problem was the lack of COBOL programmers to maintain the legacy on-premise infrastructure. In addition, a June 2019 report by the U.S. General Accountability Office revealed ten critical legacy systems in need of modernization. Meanwhile, many retail, ecommerce, and manufacturing companies still rely on legacy systems. Common reasons for not modernizing include:

  • The lack of financial resources to support the transition
  • The fear of major disruption to the business during the modernization
  • A lack of ability to retrain staff and prevent service delays
  • The overwhelming prospect of upgrading an unwieldy system


Updating Legacy Systems[4]

The most important thing about updating a legacy system is to protect the data that already exists. This can only be done through a successful data migration. Imagine a hospital that has tens of thousands of historical patient records in a legacy system. It would be devastating to lose that information because of an insecure legacy system. It would be equally as devastating to lose that information due to a poor data migration. A successful data migration includes:

  • Extracting the existing data. Data in existing legacy systems might be siloed, splintered, duplicated, or incomplete. It may exist in a variety of data stores and in a variety of formats. Migrating data out of a legacy system starts with making sure it can all be extracted safely.
  • Transforming data so it matches the new formats. The data is transformed to the new system’s requirements through data mapping. Rarely does data from legacy systems do an exact mapping to the new system. This step is vital to ensure that the new system understands the data from the legacy system.
  • Cleansing the data to address any quality issues. During the migration process is a good time to clean data by getting rid of duplications, incomplete data, and data that is not properly formatted. A legacy system with phone numbers that contains dashes won’t work with a new system that doesn’t allow for them.
  • Validating the data to make sure the move goes as planned. Once data is extracted, transformed, and cleaned, a sample set of data is imported to test for problems and errors. This weeds out potential issues before the new system goes live.
  • Loading the data into the new system. The final step to a successful data migration is loading all the data into the new system so it is ready for use.


Challenges of Legacy Systems[5]

Legacy systems are considered to be potentially problematic by some software engineers for several reasons.

  • If legacy software runs on only antiquated hardware, the cost of maintaining the system may eventually outweigh the cost of replacing both the software and hardware unless some form of emulation or backward compatibility allows the software to run on new hardware.
  • These systems can be hard to maintain, improve, and expand because there is a general lack of understanding of the system; the staff who were experts on it have retired or forgotten what they knew about it, and staff who entered the field after it became "legacy" never learned about it in the first place. This can be worsened by lack or loss of documentation. Comair airline company fired its CEO in 2004 due to the failure of an antiquated legacy crew scheduling system that ran into a limitation not known to anyone in the company.
  • Legacy systems may have vulnerabilities in older operating systems or applications due to lack of security patches being available or applied. There can also be production configurations that cause security problems. These issues can put the legacy system at risk of being compromised by attackers or knowledgeable insiders.
  • Integration with newer systems may also be difficult because new software may use completely different technologies. Integration across technology is quite common in computing, but integration between newer technologies and substantially older ones is not common. There may simply not be sufficient demand for integration technology to be developed. Some of this "glue" code is occasionally developed by vendors and enthusiasts of particular legacy technologies.
  • Budgetary constraints often lead corporations to not address the need of replacement or migration of a legacy system. However, companies often don't consider the increasing supportability costs (people, software and hardware, all mentioned above) and do not take into consideration the enormous loss of capability or business continuity if the legacy system were to fail. Once these considerations are well understood, then based on the proven ROI of a new, more secure, updated technology stack platform is not as costly as the alternative—and the budget is found.
  • Due to the fact that most legacy programmers are entering retirement age and the number of young engineers replacing them is very small, there is an alarming shortage of available workforce. This in turn results in difficulty in maintaining legacy systems, as well as an increase in costs of procuring experienced programmers.


Risks and Issues with Keeping Legal Systems[6]

If legacy systems are critical for an organization, it is important to conduct security and performance audits once in a while. Because despite the numerous reasons to maintain a legacy system, there are also diverse potential risks and issues to consider.

  • Compatibility. As it uses outdated technologies, the legacy system can become incompatible with new systems or technologies that are also essential to the business. As a result, departments using legacy systems may not benefit from all the features offered by new systems.
  • Support. If the vendor is no longer selling the system or software your company is using, nor offering support for it, it is not likely that he will be able to help when a problem arises.
  • Data silos. Legacy systems are not usually built to be integrated with newer systems; isolating data from other systems.
  • Security. The lack of support, updates or maintenance, as well as the fact of using old security protocols and standards, leads to creating patches that can end up causing security breaches. This can also make meeting regulatory compliance more difficult.
  • Performance and productivity. Legacy systems become slower and slower over time, which means performance, efficiency and productivity can also decrease.
  • Maintenance costs and competitiveness. Maintaining a legacy system means investing money on an IT resource that will need to be replaced sooner or later.
  1. Definition - What does Legacy System Mean? Techopedia
  2. What is a Legacy System? Gartner
  3. Why Do Businesses Continue to Use Legacy Systems? Entrance Consulting
  4. The key to updating legacy systems: successful data migration Talend
  5. Problems posed by legacy computing Wikipedia
  6. Which are the main risks and issues of keeping a legacy system? Stacksale