Skip to main content

Choosing a Cloud migration strategy for applications

A workload assessment is an essential tool to structure and communicate your application transformation roadmap. It allows informed decisions on how each application in the scope of a transformation will eventually touch the cloud.

Cloud Centre of Excellence - NHS Cloud strategy

Let us know what you think about the Cloud Centre of Excellence (CCOE) strategy.  

Using a workload assessment as part of each cloud migration strategy

Inadequately migrating applications from on-premises to the cloud can completely waste the financial and practical benefits cloud offerings – both in the short and long run. That is why every cloud migration roadmap needs to define a clear migration strategy for every application that is based on a holistic application assessment. This assessment should not only take into account technical aspects but also business, organization, security, and compliance. The selected strategy fundamentally affects the expected migration effort, the potential amount of benefit of using the cloud, and possible long-term cost savings of the new operations model.


What is a workload assessment

Essentially, you can think of each “R” as an available migration strategy for your applications. Each strategy indicates a clear outcome for a transformed application, but not necessarily the actual migration steps to take. The concept was first mentioned by the Gartner analyst Richard Watson in 2011. The 5 original strategies – namely the rehost, refactor, revise, rebuild and replace were revived and adapted by AWS in 2016. AWS kept some of Gartner’s strategies, renamed some and added a new one. The approach has been made public and became popular. Thus, the 5 R’s became the 6 R’s. Today, the 6 R’s are used as a fundamental guideline for almost any cloud transformation. Although there are still disputes about whether further strategies should be added, in this document we are just going to cover rehosting, replatforming, repurchasing, rearchitecting, retire and revisit.

Rehosting

This strategy, commonly known as lift-and-shift, is a widely chosen strategy due to the relatively low migration effort. The virtual machine and the application that runs in are simply copied as-is to a cloud provider. The most important benefit of this strategy is migration speed because no architectural refactoring needs to be done. Moreover, the migration can often be done automatically using a variety of lift-and-shift or so-called workload mobility tools.

However, the rehosting strategy has a major drawback. Using this approach it is not possible to exploit the cloud's entire potential since the applications are not built in a cloud-native fashion. Simply rehosted applications are, compared to cloud-native applications, not decoupled from the operating system and are usually much more difficult to scale. Experience shows that from a cost perspective rehosting usually does not lead to any major advantage.

Rehosting example

A virtual machine currently running on your local VMware cluster is copied to your VMware cluster instances running on a cloud provider or is started as an equivalent cloud hosted virtual machine, or a compute instance of some other cloud provider.

We recommend using the re-hosting strategy only if speed is the most important factor. For example, if you are forced out of your data centre due to the end of lease or a carve-out. If you want to make use of the cloud’s full potential with regards to agility, scalability and long-term cost reduction you should choose a different strategy.

Replatforming

In contrast to rehosting, replatforming leads to cloud optimisation due to some cloud platform adoption, while keeping the application core architecture the same. Replatforming requires deeper insights into the application or the virtual machines to be migrated than rehosting but does not lead to the complexity and effort typically associated with Rearchitecting. replatformed applications show some cloud-native characteristics like horizontal scaling and portability. Often, replatforming is used when replacing database backends of applications with a corresponding PaaS database solution of a cloud provider.

We recommend using the replatforming strategy if you want to take advantage of cloud with improved scalability, elasticity, cost and performance, but cannot invest the required resources and effort to re-architect the application. But be aware of potential vendor lock-in, particularly for databases and middleware technologies.

Replatforming example

An application currently runs on a VM and uses a NoSQL database running on a different VM. When re-platforming to for example Cloud Managed Database service may constitute a proper replacement for your on-premises database. This way you do not have to manage the underlying compute resources of the database yourself anymore. Similarly, this can be discussed for the application software itself too, given that its runtime environment is supported by a cloud providers' application platform. Otherwise, a plain Rehosting strategy can be applied.


Rearchitecting or refactoring

For highly critical applications that require cloud-native characteristics or applications that need thorough modernisation due to outdatedness or performance issues a higher migration effort is typically profitable and hence should be part of cloud considerations. Re-architecting (also called Refactoring or Rebuild) is the strategy that usually leads to the highest transformation cost. However, it allows optimised use of the cloud, leading to cloud-native benefits and making the application future-proof. In doing so, the affected application is refactored using an alternative application architecture. Typically this involves breaking down the application’s components into smaller building blocks, microservices and wrapping them into (Docker) containers for deployment on a container platform.

Re-architecting an application often comes along with the opportunity to even break down the supported business processes into fragments, which greatly improves the simplicity and makes a business process more agile.

Rearchitecting or refactoring example

You target a cloud solution for your inhouse developed “Production Planning Manager”. Your application is hosted on your physical server. Since you are operating in a highly specialized business area, an off-the-shelf application is not readily available for you. As this application provides some of your crucial business capabilities you commission the development of a new version of the application based on a cloud-native architecture. During the development of your solution blueprint you identify for example common data domains, shared service functions as well as expected capacity and load demands. Accordingly, you implement a microservice landscape and service façade (typically a proper web-based GUI) which you can pack into containers and deploy in a Kubernetes cluster

Retire

The retire strategy means that an application is explicitly phased out. This makes sense when the business capabilities this application provides are not needed anymore or are offered redundantly. We see this often in those cases where organisations recently went through mergers and acquisitions. You should take the cloud transformation project as a welcome opportunity to screen your application portfolio and reduce obsolete applications on the go.

Retire example

While reviewing your application portfolio you discover an application that only has a handful of users but incurs significant license cost. The capabilities that these application offers are provided by a more modern application that was implemented recently and with great user acceptance. This is why you retire the old application as soon as possible and advise the remaining users to switch to the new standard application.


Revisit

Revisit (also known as retain) means that you do not migrate the application at this point since you are lacking important information or are hindered by other factors. For some applications, a move to the cloud just does not make any sense. For example, due to latency requirements, compliance reasons, or simply because the benefits of a migration won't outweigh the cost and effort to be invested. You should, however, always set yourself a reminder to “Revisit” the application because the technical or compliance landscape might have changed.

Revisit example

The application in scope has real-time latency requirements as it is essentially running your production line. Also, it involves secret information to be stored and hence the use of filesystem encryption, demanding the sole control of yours. It is unlikely (still not impossible) that a public cloud data centre is the right candidate for your application. This is why you decide to keep the application as-is for now or for longer.


Repurchasing

Repurchasing (also called replacing) is the strategy where the legacy application is fully replaced by a SaaS-solution that provides the same or similar capabilities.

The migration effort heavily depends on the requirements and options of migrating (live) data. Some SaaS-replacements for on-premise products from the same vendor offer an option to quickly migrate data with little effort or even automatically. Some providers offer analysis tools to assess the to-be-expected migration effort. However, this might not be the case when switching to a product of a different vendor or if the migration path has been interrupted due to neglected maintenance of the on-premise application.

Repurchasing example

A typical example of repurchasing is replacing the outdated on-premise word processing software with a SaaS-solution like office365. Another important example that is currently shaking up many healthcare organisations, is the migration from on-premises EPR deployments to cloud base offerings.


Summary

Categorising your workload to identify the approach to migration on a per-application basis is an essential tool for migration planning and brings structure into a data lead decision process. There are a number of challenges associated with categorising workload including the implications to dependent applications. As the assessment process is something that individual organisations will have limited experience of, we recommend engaging with an organisation who have experience in this area. We also recommend putting in the necessary effort. Good decisions made at this stage will reduce the effort at migration time and allow you to get the most out of your cloud transformation.


Further information

internal NHS Cloud strategy primer

This primer provides an overview of public clouds and focuses on specific areas of importance for public NHS and healthcare organisations.

internal Benefits of Cloud

This guidance is designed to highlight the many benefits cloud services can bring to the NHS or healthcare provider, and how using the cloud can support your digital transformation.

internal NHS Cloud Strategy adoption plan

To help NHS and healthcare organisations get started with understanding how to adopt cloud and what the impact will be on their server, infrastructure, and applications we have provided information on public cloud adoption best practice. 

internal Choosing a Cloud migration strategy for applications

A workload assessment is an essential tool to structure and communicate your application transformation roadmap. It allows informed decisions on how each application in the scope of a transformation will eventually touch the cloud.

internal Role guidance on Cloud

To provide guidance in your organisations cloud adoption when you have created 6 guides focusing on key areas of your organisations and the NHS Cloud Strategy, principles, policies and guidance is relevant to your role.

internal NHS Cloud policies and guidance

Share our Cloud policies to establish a baseline understanding and adopt best practices of cloud and internet first across your organisation.

Last edited: 5 July 2023 5:00 pm