There’s more than one way to modernise an application. If your business is looking to transition its applications to the cloud, there are a number of routes you can take – but which is right for you? Already modernising? Convinced you are on the right path? Read on – in this blog we’ll take you through the six Rs of application modernisation, and help you determine the right direction.
So, you’re convinced your applications should be delivered through a software as a service (SaaS) model. And if you aren’t, you should be – check out our recent blog on five reasons to transition to a SaaS model using the cloud to learn why.
Now it’s time to dive straight in, right? Well, not quite. There are actually a number of different approaches you can take to transition your application to the cloud. Each one has its own unique advantages and disadvantages, and discovering which one is best for you is a little more complex than you may think.
At Six Degrees we believe there are, conveniently enough, six Rs of application modernisation: retain, replace, rebuild, rehost, replatform, and refactor. Which of these six Rs of application modernisation methods have you elected to run with – if you’ve elected to run with one at all? And how confident are you that the route you’ve chosen will deliver the benefits you’re hoping for?
We are an expert partner for software providers – check out our dedicated software provider home page, which takes you through some of the great work we have carried out to support many software providers in their application modernisation journeys, enabling them to make optimised choices.
In this blog we’ll take you through each of the six Rs of application modernisation and provide insights, based on our own experience, into which approach is best for you.
Approach One: Retain
Before you choose to take a scorched earth approach to your application estate, it’s important to remember that you can always choose to do nothing – just because you can, doesn’t mean you should. If your application is not suitable for the cloud, this could be the best approach for you.
However, it has its disadvantages: the on-premises equipment you use to host your application can be costly to maintain; cyber security can be an issue as your hosting servers may not be compatible with the latest security tools; support lifecycles may be expensive and unable to deliver the SLAs you and your customers need; and you will have no access to the many advantages that come with migrating to the cloud.
Who It’s Best For
The retain approach is best for software providers with no pressing business requirements for transitioning their application to the cloud. Perhaps it only has a small (and dwindling) customer base, perhaps it’s going end of life… whatever the reason, the cloud investment needed to drive application modernisation isn’t right for every application.
Approach Two: Replace
Perhaps components of your application don’t need to be entirely recoded, and it could be that a commercial off the shelf (COTS) module is available that delivers the core functionality that you need, even if it’s not quite as elegant a solution as a bespoke solution. There are certainly advantages to the replace approach: there is less administrative overhead involved in deploying and managing a COTS product; COTS products often come with enhanced mobility, flexibility and features; and COTS products often come regulatory compliance-ready when you’re dealing with compliance-heavy verticals like public sector and finance.
However, COTS products have limited customisation – the features you need may simply not be available. They also – obviously – deliver zero commercial differentiation for your business, as you simply white label another business’ product.
Who It’s Best For
The replace approach is ideal if time is of the essence, as it reduces coding required. It can also be great if your application requires generic functions that aren’t central to the specialist functions of your offering – enabling you to focus on these specialist functions in turn.
Approach Three: Rebuild
The rebuild approach is a relatively drastic one: you create an entirely new solution from scratch on a new platform. The rebuild approach enables you to modernise your application, achieving full cloud benefits, build the application from the ground up to be in-line with requirements and SLAs, and gives users the ability to create workflows themselves – check out our blog on low code to learn more – which allows you to focus on what you do best, unburdening work from non-essential stakeholders.
Rebuilding your application does come with its disadvantages, though. It can be a burden on your customers when it comes to switching applications; speed to market is inevitably slow; and development burden is significant – especially for software providers who deliver applications to compliance-heavy verticals.
Who It’s Best For
If your application has a clear place in the market, but it’s a long way from where it needs to be, rebuild may be the best approach for you. The rebuild approach is also ideal if you need an opportunity to evolve your application to meet new regulations in, say, the finance sector.
Approach Four: Rehost
Commonly known as ‘lift and shift’, the rehost approach uses migration tools to replicate your application in a cloud environment without redesign. The rehost approach enables you to achieve cost savings by moving away from physical infrastructure, move from a CAPEX to an OPEX model, and achieve some limited cloud benefits.
However, your applications may not be truly cloud-scalable, and you certainly won’t reap the full cloud benefits of other application modernisation approaches.
Who It’s Best For
Do you have an urgent business requirement like a data centre shutdown, an out of support platform, or an imminent cyber security risk? Do COTS products not offer the functionality you need? Rehosting may be the best approach for you – especially as it is more time-efficient and less resource hungry than replacing your application.
Approach Five: Replatform
Replatform is sometimes known colloquially as ‘tinker, lift and shift’. And it does exactly that – a minimal rework of your application to work in a cloud environment, while leaving the core architecture unchanged. Replatforming your application will deliver infrastructure and software cost savings, and – like rehosting – will enable you to transition to an OPEX model.
However, replatforming is costlier than rehosting, and can require complex application and infrastructure testing. It may also require application code changes to leverage cloud benefits.
Who It’s Best For
The replatform story is very similar to rehosting, with the difference being that your application is less cloud-ready and therefore in need of some re-engineering. So, if time is of the essence but your application needs work to become cloud-ready, this may be the approach for you.
Approach Six: Refactor
Here’s where we do the big sell, because truly we believe refactoring is the optimal application modernisation approach for many software providers. The refactor approach involves reworking cloud components to leverage cloud capabilities, re-writing and decoupling to take an application in its entirety and break it down into smaller pieces. Each piece is then entirely modular and easier to evolve and support, while posing less risk of breaking the whole application.
Refactoring is scalable and resilient; it’s agile and reduces time to market; it leverages the full scope of cloud-native capabilities; and it allows you to demonstrate developments in your application capabilities clearly to your customers and target markets. For balance, it can also be more time and cost-intensive than other approaches.
Who It’s Best For
If you’re a software provider who is really committed to future application development – and that’s not a rhetorical statement – then truly refactoring may be the best approach for you. Refactoring also enables you to lock in your market by using the cloud to understand exactly how customers are using your products, and focusing development resources in those areas. We have supported many software providers in analysing their development direction, and frankly the vast majority conclude that this is the ideal approach.
The Six Rs of Application Modernisation
So, have you decided yet? Choosing the best application modernisation route for your business requires careful consideration of a wide variety of factors: the application, the market, your objectives, and the future you see for your application development. That’s a lot to consider.
At Six Degrees we enable software providers to transition their applications to the cloud in the most appropriate manner for them. Cloud transformation is a complex undertaking, and we have the experience and expertise to guide software providers throughout their cloud journeys.
So, what’s the first step? We recommend kickstarting your application modernisation with an Application Modernisation Advisory. Through our Application Modernisation Advisory, we will review your current applications and your existing application architecture, and provide an advisory report to transform and modernise your applications securely into the cloud.
Want to learn more? In our new eBook we make the business case for SaaS, taking you through how SaaS evolves your products into services; the cyber security and compliance considerations you will need to make; the journey that Six Degrees can take you on from on-premises to cloud; and how you can develop a service model that’s right for you.