Application modernisation is increasingly on the radar of a lot of our clients who are recognising that legacy, on-premise software can (and often does) put a spanner in the works of smooth operations. If you’re one of those looking to ‘get with the times’, a common question we encounter is this:
Just how do you go about it?
The first R makes plain sense. Rehost.
This one isn’t hard to understand: it means moving your application from an existing datacentre or on-site server into the cloud; we’re big fans of Microsoft Azure, so that’s the likely target. With a cloud hosted application, you ditch the hardware and associated operating costs, eliminate capex, and take advantage of all that Azure has to offer. It’s a lot, including tools and modern techniques like BI and machine learning.
Which brings us to Refactor.
With Azure’s Platform as a service (PaaS), you can look forward to reducing operational costs and gaining endless scalability. But your application may need a slight (or even extensive) redesign or rearchitect to work well on the Azure platform. This could include refactoring code to allow for scale, portability and efficiency in the cloud. After all, a legacy app written before Azure was even a ‘thing’ isn’t necessarily going to be ideally programmed to run on Azure.
Some aging applications aren't compatible with cloud providers because of the architectural decisions made when the application was built. In these cases, the application may need to be rearchitected before transformation.
In other cases, applications that are cloud compatible, but not cloud native benefits, may produce cost efficiencies and operational efficiencies by rearchitecting the solution to be a cloud native application.
Refactor is a step on the way to the next R, Rebuild.
If your legacy app is so legacy that it just won’t work in the cloud, a complete rebuild may be necessary. That’s sometimes the case with unsupported applications, or those which aren’t fit for purpose (plenty of companies have apps they absolutely depend upon, but which are as much a help as a hindrance in terms of getting work done…you might know what I’ talking about here!) For these applications, which are something of a ‘square peg in a round hole’, a complete rebuild may be a better approach than merely refactoring.
This will include the fourth R, Rearchitecting the app so it works with modern cloud technology.
Or you might need to throw the application out altogether and Replace it.
Our application modernisation process includes a complete review of what you’re using and how. Some legacy applications – actually, quite a lot of them – can be replaced by commercially available software as a service (SaaS) at a far lower cost, with better performance and support. If we find you have an application which was custom developed to meet a need at the time, but for which better ‘off the shelf’ options have since emerged, we might suggest simply replacing the old app with a new one. Avoiding redevelopment, refactoring and rebuilding can be far faster, cost less and deliver rapid benefits.
When we’re looking at modernising your applications, we’ll use all 5 of these ‘Rs’ to determine the length of your particular piece of string. It’s part of our toolbox to identify the best approach to meet your budget and your business’ strategic needs today and into the future.