There are multiple modernisation and migration routes available to organisations. Here we will explore the 5 R’s of migration: rehost, refactor, rearchitect, rebuild and replace. And a bonus of two non-migration routes: retain and retire.
There is no one answer for the best approach as it depends on the individual workload and business situation. Your budget, complexity of workload, current environment, timescales and objectives will determine the most suitable route.
No matter what stage of the migration journey you are on, an organisation will benefit from a long-term cloud strategy focusing on migrating, optimising and modernising. That way the cloud platform becomes a part of the strategy truly aiding in innovation, growth and profit.
Let’s explore the options available.
The most basic migration approach is simply rehosting your app in the cloud. This is also known as lift it and shift. It is done by moving the workloads to virtual machines in the cloud with no or minimal change to the architecture.
If your organisation wants to migrate away from the constraints of traditionally hosted services in a data centre and leverage the benefits of the cloud such as reducing costs, increasing resilience and auto-scaling then this is a good first step.
However, things to consider are the VM size, and what level of CPU, memory, and storage are required.
An Azure infrastructure team can help you here as no developers are required.
Next up in the scale is refactoring, the step in between rehosting and rearchitecting. It involves implementing some changes to optimize for the cloud environment but no wholesale change to the code itself.
You get the same benefits as rehosting, but you will get better cloud efficiency in cost, speed and resources. If you are looking for code portability and/or faster updates, this is a particularly good migration route.
Again, an Azure infrastructure team can help you here as they are the experts in optimizing cloud environments.
At this point, your application is rearchitected to take advantage of cloud-native features. The process of app modernisation identifies and redesigns the architecture to adopt these features which may result in software changes.
The resulting rearchitected application will be optimised to reduce costs, scale, have high availability and grow as your business grows.
If you are already invested in your app but looking to the future and use of cloud capabilities, this migration route may be the most suitable.
For this level, you need an Azure development team with expert knowledge of infrastructure and software engineering best practices. As architecture and code changes are being made, your app needs to be in the hands of knowledgeable engineers.
Here an app is totally rebuilt from scratch using cloud-native technologies. At first, this can seem like an expensive move to the cloud, however as you dive straight into cloud-native technology, your application is able to utilise cloud features from the start and adopt best practices. Indeed, many apps which migrate to the cloud are later rebuilt anyway.
To truly have a business case for something this wholesale, you will usually find this migration route used when an app has declining end-user satisfaction and/or business processes are limited by functionality.
However, the other compelling business case for rebuilding is when the cost or complexity of using one of the previous three R’s actually outweighs the cost to rebuild. A situation one of our clients found themselves in: the legacy software was so convoluted and complex to unravel that in fact, the easier and more cost-effective option was to rebuild the app from scratch in the cloud – a project we are now undertaking.
If a company is strongly investing in digital transformation, then the potential cost, experience and revenue gains are also strong drivers.
Again, for this migration approach, you need an Azure development team who are strong in cloud-native technologies and who will rebuild your app to make the most of all relevant cloud functionalities available.
The final migration route is a little different. With the growth of SaaS products, you may find you no longer need a custom product and instead of migrating your app to the cloud, can leverage an existing service that provides all necessary functionality.
If your app is providing something standardly needed within an industry it is quite possible it exits as a SaaS solution. That means rather than focussing on modernising this app, your investment can go into other apps that give you a competitive advantage.
Here the SaaS company would most likely have a team or process in place to help migrate your data over to their product and you are unlikely to need to hire an Azure team for any work.
OTHER R’S OF MIGRATION – NON-MIGRATION ROUTES
When looking at the 5 migration approaches or R’s of migration, there are two more that can be included. These are retain and retire. These are not approaches to migration but in fact, choices to not migrate.
Retain is unlikely to be a cost or business-effective strategy with the huge shift to the cloud, but at times, when looking at budget or functionality it may be the case that temporarily retaining an app in its current state is the best option available.
Occasions such as when an organisation can treat a legacy system as read-only. Possibly due to the fact data migration to a new system doesn’t warrant the cost involved. Or the system can be retained with a view to retiring it when the system data is obsolete
Retiring is worth considering if in fact an app no longer provides enough use and there is no need to replace or rebuild it as it could simply be decommissioned. As times change and business processes shift, what was once vital perhaps no longer has the business case it used to. If that is the case, both budget and effort can be redirected onto more necessary migration and modernisation targets.
MODERNISATION AND MIGRATION WITH TRANSPARITY
As development experts, we are on hand for rearchitecting and rebuilding. As development and modernisation experts, and users of the Microsoft platform for decades, our Azure developers are ideally suited to helping you rearchitect or rebuild your app to make the most of cloud-native features.
However, if that is not the right migration route for you at this point, there is also the Transparity Azure infrastructure team, perfectly placed to help you rehost or refactor your workloads in the Azure cloud.
For replacement, our experts will point you in the direction of an off-the-shelf product, if familiar with one, that would be more cost-effective than a custom build. We always want to be doing the best for you, your goals and your budget.