While many new startups emphasize being on the cutting edge of technologies and technological innovation, the reality for most companies that have been in business a while is that they are dealing with some form of digital transformation of legacy systems.
What are Legacy Systems?
Legacy systems usually refer to mission-critical technology, that were developed some years ago and have become outdated. This could refer to hardware (e.g. on-premise servers or localized technology stack instead of cloud computing), software (e.g. monolithic instead of microservices architectures), or very often a combination of both.
A study by Avanade found that modernizing your legacy software could lead to 14% increase in revenue. Outside of missing out on potential opportunities, opting to maintain legacy systems can drain your resources.
Here are three primary reasons legacy applications may be costing you.
1. The Time and Resources Needed
Legacy systems require a significant maintenance investment and increase annual costs. According to a report by the US Government Accountability Office (GOA), the US federal government allocated a budget of over $90 billion for IT in 2019. About 80% of this amount was dedicated to operating and maintaining existing critical software components and legacy code, including costly older systems.
There are multiple factors that contribute to this. On the one hand, older code tends to be lengthier and heavier – understanding the code used in old legacy systems requires a heavy burden of ongoing support
On the other, old technologies are often incompatible with newer ones, creating integration, development, and maintenance issues, and potentially creating vulnerabilities.
As opposed to older systems, newer technologies are designed for continuous improvement and easier maintenance. Continuous improvement increases the speed and flexibility of the development process. Cloud computing has become immensely popular in the past years, as it decreases the need for maintenance required for on-premise servers. Microservices allow for faster (and easier) development and testing than its monolithic predecessors, which is widely seen in legacy systems. SaaS (Software-as-a-Service) solutions offer multiple benefits in terms of real cost, effort and flexibility to both the end-user and the business behind it, compared to traditional software installation models.
2. The Security Risks of Legacy Systems
Legacy systems come with a lot of security risks, and security breaches can be costly.
Technology incompatibility and operational efficiencies play a big role in security gaps. As new technologies come in, older versions are no longer supported and maintained by the providers. This often leads to technology incompatibility and leaves critical components vulnerable to cyberattacks. At the start of 2020, Windows urged its users to migrate to Windows 10, since Windows 7 is no longer supported and vulnerable to cyberattacks. Yet, in July 2020, Windows 7 still has a market share of over 23%.
The above GAO report outlines that out of the 10 most critical legacy systems used by the US government, several use outdated languages, have unsupported hardware/software, and are operating with known security vulnerabilities. For more than half, the security risks were rated as moderately high to high.
And while the technology platforms are constantly evolving, so are the regulations. When it comes to securing data, and cloud computing requirements on companies are becoming stricter. One most notable example is GDPR, which regulates the way personal data is stored, processed, and shared. Building a system which natively addresses these regulations and business processes can be easier than updating existing systems or heavy and complex legacy infrastructure.
3. The Lack of Talent
The recent global economic crisis caused by Covid had an unexpected consequence—it exposed the shortage of COBOL developers. In the US, the unemployment agency’s legacy systems could not cope with the sudden increase in usage and more COBOL developers were needed to help. And yet, systems integrators and software engineers with COBOL experience are scarce.
While this is a rather specific example, it highlights a significant issue with maintaining legacy systems—finding talent with the right employee experience to maintain them is difficult.
Finding software engineers, who not only have the expertise, but will work with outdated systems, can be an enormous challenge, if not (in some cases) an impossible task.
Many engineers don’t have recent experience, and sometimes no developer hours, working with older technology platforms. But even more so—with the abundance of other opportunities, many simply choose not to. They know that working on an old tech stack can hinder their future competitiveness in the job market.
Choosing to maintain your legacy systems could not only hinder your product growth but become costly if you lose your development team. This reduces your competitive advantage in hiring more talent. While many engineers are not interested in maintaining legacy systems, the idea of working for a company with a modernization approach to legacy technology is an appealing challenge for many software engineers.
On a More Technical Note
When talking about modernizing legacy systems, often the first step is migrating on-premise servers to the cloud. A step further to consider is Serverless Architecture. Check out our webinar recording ‘Reducing Cost in DevOps with Serverless Architecture’ for more details on leveraging a cloud architecture properly.
One common form of legacy systems architecture is using a monolith instead of microservices. To explore the world of microservices and migrating your system, check out the recording of our webinar “Breaking the Monolith”.
To Maintain Or Modernize?
Maintaining legacy systems can seem like the cheaper, easier approach. You don’t need to change anything, just maintain the existing legacy infrastructure, and just hope that you won’t suffer security breaches or system downtime because of aging software.
But deciding against a modernization approach and choosing to maintain legacy tech comes with significant costs and risks. Modern companies must be open to an honest cost-benefit analysis of maintaining legacy code or modernizing your technology. Undertaking a massive Restructuring is a massive undertaking and, without the correct plan in place, could cause more harm than good.
That’s where we come in. At Zartis, we are a software services company with extensive experience in modernizing legacy systems. We provide both the architectural expertise and the developers to deliver on your project. For a discussion around your specific challenges, reach out to us!