Skip to content

Contact sales

By filling out this form and clicking submit, you acknowledge our privacy policy.

3 ways to practice migrating workloads to the cloud

There are many ways to migrate workloads to the cloud. Here are 3 ways to get hands-on practice with rehosting, replatforming, and refactoring on AWS.

Jun 08, 2023 • 4 Minute Read

Please set an alt value for this image...

When moving workloads to the cloud, there are many paths to take. The 7 Rs (or seven common cloud migration strategies) highlight the de-facto patterns that the industry uses to assess the appropriate method for cloud migration tasks. This post will highlight three of the Rs (Rehost, Replatform, and Refactor) by explaining the tradeoffs of each approach and providing a hands-on workshop to practice each of these methods.


Accelerate your career

Get started with ACG and transform your career with courses and real hands-on labs in AWS, Microsoft Azure, Google Cloud, and beyond.


1. Rehosting

“Lift and shift” is the classical way of moving workloads to the cloud. This strategy is useful to quickly realize the benefits of migrating applications to the cloud without changes and with minimal downtime.

By leveraging virtual servers in the cloud, rehosting applications is an easy way to onboard workloads to leverage cloud technology.

before and after workloads cloud

AWS Application Migration Service (AWS MGN) provides a migration service to lift and shift applications to the cloud.

This service minimizes time-intensive, error-prone manual processes by automatically converting your source servers from physical, virtual, or cloud infrastructure to run natively on AWS. It further simplifies your migration by enabling you to use the same automated process for a wide range of applications. And by launching non-disruptive tests before migrating, you can be confident that your most critical applications such as SAP, Oracle, and SQL Server will work seamlessly on AWS.

If you want to get hands on with AWS MGN, you can try this workshop that walks through the process of migrating a simple app to the cloud.

2. Replatforming

“Lift and reshape“ provides a way to introduce some level of optimization to take advantage of cloud capabilities, while still keeping development costs low.

By using containers, replatforming applications provides a way to modularize applications so they can be in numerous ways without having to rely on servers.

before and after cloud manager server

AWS Fargate is a technology that you can use with Amazon ECS to run containers without having to manage servers or clusters of Amazon EC2 instances. With Fargate, you no longer have to provision, configure, or scale clusters of virtual machines to run containers. This removes the need to choose server types, decide when to scale your clusters, or optimize cluster packing.

If you want to get hands on with containerizing an application, you can try this workshop that walks through the process of turning an application into a deployed container.


Screenshot of Cloud Migration Patterns webinar

Watch this free on-demand webinar to learn about the costs and complexities of rehosting, replatforming, and rearchitecting applications for the cloud.


3. Refactoring

No lifting here! Refactoring is about completely rebuilding an application to take full advantage of cloud-native features to improve agility, performance, and scalability. This comes at the cost of much higher development time since a new application is being built.

To take full advantage of the cloud, serverless applications that rely on functions instead of servers or containers provide the most modular interface to deploy your code.

before and after cloud storage, functions, database screenshot

AWS Lambda is a serverless, event-driven compute service that lets you run code for virtually any type of application or backend service without provisioning or managing servers. This paradigm allows developers to focus on code and responding to events instead of managing infrastructure.

If you want to get hands on with developing a serverless application, try this workshop that walks through the process of turning an application into a serverless application.

Follow Banjo on Twitter at @banjtheman and @AWSDevelopers for more useful tips and tricks about the cloud in general and AWS.

About the Author

Banjo is a Senior Developer Advocate at AWS, where he helps builders get excited about using AWS. Banjo is passionate about operationalizing data and has started a podcast, a meetup, and open-source projects around utilizing data. When not building the next big thing, Banjo likes to relax by playing video games especially JRPGs and exploring events happening around him.