os cloud gurus

Software Cloud Consulting

Your software development, cloud, consulting & shoring company

7 R's - Cloud Migration strategies


By Wolfgang Unger

Lets have a look on the 7 R's, the 7 cloud migration strategies.
If you plan to migrate your On Premise workloads to the cloud, it is essential to know the options and choose the best one for your use case.

The 7 R's are:
1. Retire

2. Retain

3. Relocate

4. Rehost

5. Repurchase

6. Replatform

7. Refactor

1. Retire

Turn it off
The first one is also the most easy to handle.
If you have a redundant or no longer needed legacy app, you don't have to migrate to the cloud, you will simply turn it off in the moment you switch to the cloud.
Of course this will be only possible in a few use cases, where the application or service is indeed no longer required.
This means a minimal effort in time and money.

2. Retain

Don't migrate the application and revisit later
Sometimes it will just not be possible ( at least at reasonable time and effort) to migrate a application to the cloud. Just think of mainframe applications.
In this case you keep your On Premise application until it will be finally shut down.
This also means a minimal effort in time and money. But will not allow you to completly turn off your On Premise physical resources.

3. Relocate

Switching locations.
This is often done on hypervisor level, running a VM in the cloud instead of your OnPremise servers.
Advantage : Minimal downtime. No Code changes required. No functionality changes . Functional tests not neccessary. Almost no training for your staff required.
This also means a minimal effort in time and money.

4. Rehost

Lift and shift.
Lifting the application as it is from on-premises to cloud environment. It’s required to scale quickly to meet business requirement servers.
On AWS you can use the Server Migration Service (SMS) for this approach.
Example : Migrate a Postgres DB On Premise to a Postgres DB on EC2 on AWS.
This also means a minimal effort in time and money.

5. Repurchase

Choose a different solution or version of your application
For example if a software vendor now offers a cloud ready SaaS platform and you don't have no longer to run this software on your own servers.
Or you choose a different solution, but when bringing it live, you set it up in your cloud environment.
This might bring some efforts on testing the new solution

6. Replatform

Lift and reshape. Small adaptions on your software
Optimizing and adapting an application while migrating it to a cloud in order to take full advantage of its features to improve performance or reduce costs.
Examples: Migrating a On Premise DB to RDS ( Managed Relational Database Service) on AWS. Migrating VM's into Containers and run it on Fargate or EKS, K8.
Advantage: Less code changes required as for refactor.

7. Refactor

Refactor your application.
The re-architecture of applications in order to gain cloud-native capabilities that allow for greater performance, agility, and scalability. Medium adaptions on your software
The functional code will probably not change too much, but non-functional code.
This can also mean moving from a monolith application to microservices or move from an application to smaller Lambda functions.
This is the most expensive and time consuming approach but it will be neccessary for some use cases.
You might save a lot of money on hardware costs if you refactore your application into smaller serverless functions or resources which don't have to run 24/7 ( like AWS Batch or Fargate).

  • Back to Blog Overview
  • Autor


    Wolfgang Unger

    AWS Architect & Developer

    6 x AWS Certified

    1 x Azure Certified

    A Cloud Guru Instructor

    Certified Oracle JEE Architect

    Certified Scrum Master

    Certified Java Programmer

    Passionate surfer & guitar player