One of the greatest misconceptions in software development is that a software project is a one-off undertaking. As we're about to discuss in greater detail, the industry is very similar to many others. You wouldn't expect a house built in the 1700's to still be standing without proper maintenance. Software is similar in many ways, except the industry changes at a much faster rate. This article will focus on end of life software and the risks that it poses to your business and your custom software application.
What is end of life software?
For example AngularJS 1 stopped active development as of June 30, 2018. It is now in long term support mode until the end of 2021. This doesn’t necessarily mean AngularJS 1 wasn’t a popular framework. In fact, they have since developed a further 10 versions of Angular (at the time of writing Angular 11 is currently in development). It just means that the framework has evolved and Angular chose to create a new framework over adding complexity to an existing one.
Technology that has gone end of life should not be taken lightly. There are a few key risks that we'll break down in further detail before assessing what the options are for people using end of life software.
What are the risks of end of life software?
The key reason to update software that has gone end of life is to mitigate security risks. Once something has transitioned to EOL, the vendor is no longer releasing security fixes for it. This presents a serious risk that hackers could breach your application through an unpatched vulnerability.
Outdated skills base
Developers are generally interested in leveraging the newest and greatest technology. Once something has gone end of life, it has long passed this state. This may mean there is a reluctance for existing personnel to learn the technology or for those that know it, to continue to use it.
By remaining on ageing technology there is a strong likelihood that is impacting the performance of your software or hardware. Consider the old dial up internet modem (circa 2008). How long did it take to connect to the internet? I still remember the tune it would play as it connected. Now we've become accustomed to instant access to the internet. This is the same for software frameworks. Applications built using a modern .NET Core 3.0 framework perform better than the significantly older .NET 2.0 framework.
If you're using an end of life operating system, the chances are you won't be able to access the most recent applications. This circle of incompatibility can spiral until you're left using a suite of EOL systems.
What to do if you're using software that is end of life
Option 1: Keep using it
You may be tempted to continue to use the software - after all, it still works. But this is ultimately a short sighted approach. As the software gets older, you'll face more and more performance issues, with a growing list of security vulnerabilities.
Option 2: Bring in line with most recent version
In many cases there will be a migration path to the latest version of the software. For example, Angular 7 has a migration path to Angular 8 to allow businesses to leverage the most recent tech stack without rebuilding an entire application. In many cases, this will be the simplest and most effective solution. Some migrations may take longer than others as the complexity ultimately depends on the technology that you're migrating to and from.
Option 3: Rebuild and modernise
This bring us to the third and final option, rebuild and modernise. As mentioned above, you may have identified a new or better framework capable of taking your application to the next level. This may provide a number of significant advantages to the application including speed, quality, expertise or a combination of all three.
The trade off when it comes to option 3 is cost and time. To switch entirely from one framework to another means you're effectively having to rebuild the application. For example, switching from using PHP as a server side language to something more modern like Spring boot. There may be an array of features and libraries you can leverage with the new framework that will make it more beneficial down the track. However, there will be a time and cost investment to enable this.
Both option 2 and 3 are valid ways to progress forward. At WorkingMouse we assess every situation uniquely to recommend the best path out of end of life. There are far too many risks and pitfalls when it comes to running end of life software. If you have discovered your custom software application is end of life, or want to understand what options there are for modernising it then we'd recommend booking a free consultation.