Usually, the word “legacy” evokes feelings of tradition, pride, and achievement. But when it comes to today’s business world, it’s not so simple. Legacy technology — computer systems and software from a previous era that are still in use — presents significant challenges to companies.
As technologies and marketplaces evolve, CIOs find it increasingly difficult to integrate new and old tech, yet legacy technology persists for various reasons. Many businesses subscribe to a “don’t fix what’s not broken” line of thinking. Others fear the complexity and cost of upgrading to a more modern offering, as this may involve migrating between architectures (e.g., from a legacy monolithic architecture to one based on microservices).
The result is that some of our most critical systems in industries such as travel, banking, brokerage, and even retail are running largely on legacy technology. If outdated systems aren’t updated, they have the potential to result in real harm.
Legacy technology faces particularly serious issues with efficiency and security when forced to operate under modern-day constraints. For example, CAST Software found that more than half of IT teams use convoluted legacy technology in 25% of their applications. Similarly, nearly 800 airlines use the computer reservation system Amadeus to process the reservations of hundreds of millions of travellers each year. But Amadeus contained a vulnerability that could easily give hackers access to flight booking data as well as personal information.
Part of the problem was that the legacy system operated outside of its original design. TechCrunch observed that “these outdated and archaic passenger records systems needed to share travellers’ data internationally never considered security on the scale that’s needed today.”
When legacy systems operate outside of their original design, they become susceptible to security breaches and other issues that their designers couldn’t have anticipated. Given the severity of some of the problems inherent to legacy tech, the costs and complexities of modernising might be necessary evils for a business to thrive in today’s marketplace.
The problems inherent to legacy systems
Legacy systems come with a multitude of issues. Some legacy systems are no longer fully supported, and others are no longer supported at all, meaning the companies that cling to them must invest in training their developers and IT staff to work with, fix, and even amend the systems. Some legacy software also requires older hardware, and that presents its own problems. The hardware may be difficult to procure and very expensive to service or replace. It also may be prone to possible outages, as when a router failure delayed hundreds of thousands of Southwest Airlines fliers in 2016. The Wall Street Journal concluded that “Glitches that can ground hundreds of flights are becoming routine as U.S. airlines battle the vast, aging information technology that keeps them aloft.”
Outages are a problematic side effect of legacy systems because service interruptions are particularly harmful to a brand’s reputation. When Paris’ Orly Airport suspended flights for more
than half an hour because of a weather data management system outage in 2015, it was embarrassed to reveal that the system ran on Windows NT 3.1 (which had become obsolete in 2001).
Old operating systems and hardware aren’t the only reason for legacy tech outages, though. Some outages are due to legacy software’s tendency to use a monolithic architecture, meaning the backend logic and presentation layer are tied together. Monolithic stacks can scale only vertically (i.e., by increasing the CPU speed or memory of the machine the software runs on), whereas modern microservice-based architectures can scale horizontally (i.e., by adding more servers). There’s a limit to the vertical scaling (eventually you can’t buy a faster machine anymore), whereas with horizontal you can, in theory, just keep adding machines. As a result, monolithic architectures cannot scale as well, so any strain on the system — from high server traffic to attempted hacks — can disrupt the entire stack, resulting in outages.
In addition to brand reputation damage, outages can cause serious revenue losses. In 2018, e-commerce website outages plagued major retailers such as Best Buy, Lowe’s, and Amazon on the major discount shopping days (Black Friday, Cyber Monday, and Prime Day). Amazon’s one-hour website downtime on Prime Day, for example, might have cost the company up to $100 million in sales. Although these specific outages were likely due to a number of other unrelated factors, legacy systems are often a pain point for large retailers. Walmart Canada upgraded to a microservices architecture in 2015 in order to scale and avoid downtime after two straight outages during Black Friday and Cyber Monday. The site hasn’t experienced an outage on those shopping days since.
Legacy tech also has the disadvantage of being less agile than modern solutions, which can more easily adjust and pivot operations to take advantage of emerging business opportunities. In monolithic systems, code updates often have unintended effects on other parts of the code. In a microservice architecture, you have smaller and more easily changeable pieces of code to update and iterate on. Home Depot, ASOS, Walmart Canada, and many other retailers saw issues with scaling and iterating on a monolithic stack.
Because vendors often limit or cease support of their old technology, they do not continue to incorporate now-common practice standards like APIs and/or new ways of interacting with customers like voice interaction capabilities. Instead, this work is left to the user’s development team. This can hinder a company’s agility as it must continuously develop and troubleshoot new code and fix the bugs its customers find.
Four ways to deal with legacy systems
Considering all these concerns, it’s natural to ask how CIOs can help overcome the difficulties inherent to the continued use of legacy systems. Let’s take a look at several steps you can take to mitigate these issues:
Start thinking in terms of microservices
The best way to slay the giant of legacy systems issues is to start small and stay small. You don’t want to create another monolithic system fated to become tomorrow’s unwieldy legacy system. Instead, a microservice-based approach is a great organising principle in this effort. That’s because it will allow you to evolve and upgrade each service independently. Instead of taking on the entire behemoth, you can attack the legacy system a little at a time.
Small, incremental changes through the use of microservices are less overwhelming and let you take an ROI approach to legacy tech: Tackle first the areas that are likely to yield the greatest returns for the work you put in. This way, you can augment or even replace parts of the legacy stack without throwing away the entire structure. Eventually, a combination of legacy and modern will be the natural end point. This gets you to market faster and makes use of well-tested legacy tech that is working.
Decoupling your monolith’s frontend and replacing it with a modern, API-driven one (i.e., going headless) is a great place to start, especially for business-to-consumer applications. This lets you preserve your existing business logic and makes sure your user interface development can iterate to support future changes. However, it’s hard to get a budget for just architecture changes. Launching a progressive web app can be a great way to achieve this while also making major improvements to the website speed and customer experience. It’s the perfect project for aligning stakeholders across departments: User experience improvements will make the marketing department happy, and better architecture will make the IT department happy.
Uncouple UX from the backend
In many legacy systems, the user experience and the business logic are so tightly integrated that there is really only one entity. In a monolithic system, the UI layer can make direct calls to the database, whereas in a service-based approach, it would talk to a microservice or an API. If your IT team can begin to break down this monolithic structure, then it will provide ample opportunity to enhance your systems to match market trends without risking the collapse of your entire sales channel.
Consider payment systems. These typically require less agility and can function with a significant degree of feature stability for a long time. However, what might need to vary is the UX layer: You’ll want to support the constantly evolving native application or browser landscape. If you can decouple the UX from the backend payment system, then you can gradually introduce enhancements to the overall system. This little-by-little approach has been likened to how fig vines slowly strangle massive trees. It’s not something that happens all at once, and that’s good: You don’t need the massive upheaval and chaos.
Use legacy systems appropriately
Not all legacy systems are dangerous. Simply put, you should resist the temptation to jettison legacy systems prematurely; a system shouldn’t be discarded simply because of age. Remember, the systems are old because they actually worked — for many years. They’ve stood the test of time, which is more than many technologies can claim.
Legacy systems also represent impressive amounts of investment and refinement. These systems weren’t built over summer break by a few college students. They are impressive achievements, and CIOs should continue to advocate for and use legacy systems to maximise ROI. Just make sure to use the systems appropriately. To do so, you need to realise how this might affect your organisation’s agility, reliability, or other key goals.
In the eCommerce domain, judiciously evaluating your legacy systems means that you should first optimise your path to purchase: your homepage, product listing pages, product description pages, and cart. Your inventory database can remain legacy, but you’ll want the quickly changing aspects of your digital presence to use microservices for enhanced agility.
Consider cloud service alternatives
The major disruptors to legacy systems are cloud service models: function as a service, platform as a service, and infrastructure as a service. Cloud services are an effective way to lighten the management load of your IT department and safely augment or replace old legacy systems. There are established options for FaaS, PaaS, and IaaS, so it’s possible to find a customised option that replaces a particular legacy system at the right level of abstraction that balances the level of control you need yet minimises maintenance.
At some point in the future, today’s legacy systems may be considered completely outmoded tech compared to FaaS, PaaS, and IaaS. Savvy leaders and IT department members will be keeping an eye on this space. Look for opportunities to test out cloud service solutions and consider the possibility of swapping out your legacy systems. ASOS used its microservice migration as a two for one to also move to the cloud. It may not be easy to switch if your company works on a massive scale, but eventually momentum in the cloud services sector will make headway into the enterprise.
A time for change
Legacy systems have served us well for decades, but all good things must come to an end. Simply accepting the shortcomings of legacy systems is untenable when organisations are pressured to fiercely protect customer privacy, provide a smooth and modern UX, and experience zero outages.
Fortunately, many good paths lie ahead. Using microservices that work with legacy tech is one great approach, and uncoupling UX from the backend is another. Additionally, offloading some — or, eventually, all — of the work to cloud services may be the ultimate winner.
Whichever approach you take, it’s essential to take it now. Companies that do will be positioned to delight customers, safeguard robust revenue streams, and zoom into profitable futures.
Interested in hearing industry leaders discuss subjects like this and sharing their use-cases? Attend the co-located IoT Tech Expo, Blockchain Expo, AI & Big Data Expo, Cyber Security & Cloud Expo and 5G Expo World Series with upcoming events in Silicon Valley, London and Amsterdam and explore the future of enterprise technology.