Application modernisation is a huge topic. It can mean a lot of things to many people and we want to simplify it. If you’re faced with a legacy challenge, the best approach depends on the problem you’re trying to solve. Replacement isn’t the only option!
Let’s be clear on what app modernisation means
We think of it as redeveloping old applications to take advantage of the cloud-native capabilities that come with platforms such as AWS and Microsoft Azure.
Why modernise an app
If you have an old legacy app, it’s probably slowing you down and holding your business back. Old apps were built before cloud computing and all of the benefits that come with it. Think; reduced costs, scalability, elasticity, business continuity, improved security etc. If you go back 10 or even five years ago, the approach to building apps was often very different. Apps were big monolith programmes with one executable file and a lot of DLLs. They would take a lot of time to make and even more time to maintain, let alone improve.
Signs your app needs modernising
There are loads of signs we see from the businesses we work with:
- Platform obsolescence is a big one. This is where an app is running on a platform that’s no longer being supported. Microsoft no longer support Windows Server 2008 and SQL Server 2008 yet there are lots of apps still running on these platforms.
- The next sign could be when a longstanding member of your development team is looking to retire or move on and you suddenly lose touch with the code base.
- The app could also have outgrown your business needs. 10 years ago you used to do things in a certain way and built an app to provide a useful service. Now you no longer do things in that way.
- Integration's are also a common driver. You've got this old monolithic app but you will also be working with more modern apps. You might want to integrate the old apps data with the new tools you're using but that be a step too far for the old app. It could just be too hard.
How to approach application modernisation
There are different approaches you can take but we like to break it down like this:
- Retire. Do you need the app any longer? If not, great. Plan for retiring the app - buy it a cake and wish it well!
- Replace. Can you replace the app with something off-the-shelf? This would likely involve using a cloud native solution that just involves paying a licence fee.
- Refactor. This is essentially keeping the solution the same but taking some components of the app and looking to use a PaaS version of them. If you’re running a SQL server, you could replace it with an AWS or Azure database
- Re-architecture. This is breaking the app down into its core components, and then attempting to move it into more of a microservices architecture. The benefit is that it allows the independent parts of the app to scale by themselves.
- Rebuild. This is essentially throwing the app away and starting again. This involves the most effort but stand to get the biggest benefit.
When approaching app modernisation, the key is to understand what’s causing the problem you’re facing. Is it technology, architecture, functionality or people? After conducting a thorough assessment, the best choice will depend on your skills, timelines and budget.
If you need an expert partner to talk to about modernising your legacy app click the button below to find out more about how we can help.