Typical Migration Scenarios

Start course
star star star star star-half


With the push to the cloud accelerating, it’s critical to understand how to migrate on-prem servers to Microsoft Azure. As an IT professional, you are likely to encounter situations where you need to plan and execute such migrations.

In this course, you will learn how to evaluate migration scenarios by using Azure Migrate. We’ll cover the discovery and assessment of on-prem VMware environments and how to identify workloads that can and cannot be deployed.  You’ll also learn about Azure Migrate port requirements and how to determine if the target environment is supported for a migration.

Later in the course, you will learn how to deploy and configure Azure Site Recovery (ASR) and how to use it to migrate an on-prem server to Microsoft Azure. You’ll also learn how to configure storage, create a backup vault, and how to prepare the source and target environments ahead of a migration.

The topics covered in this Azure course map very closely to learning objectives covered in the Microsoft Azure certification exams.  By mastering the topics covered in this course, the student not only learns skills necessary for assessing environments for migration suitability and for performing those migrations, but the student also learns skills necessary to prepare for certification exams.

Learning Objectives

Azure Migrate

  • Discover and Assess On-Prem VMware Environment
  • identify Workloads that Can and Cannot be Deployed
  • Identify Port Requirements
  • Identify Necessary Changes to Networks
  • Account Setup

Migrate Servers to Azure

  • Migrate with Azure Site Recovery (ASR)
  • Configure Storage and Create a Backup Vault
  • Prepare Source and Target Environments
  • Deploy Azure Site Recovery (ASR) Agent
  • Network Preparation

Intended Audience

  • IT Professionals interested in becoming Azure cloud architects
  • IT Professionals preparing for Microsoft’s Azure certification exams


  • General knowledge of IT infrastructure
  • General knowledge of the Azure environment


Strategies for migration to Microsoft Azure generally fall into four broad categories, rehost, refactor, rearchitect, and rebuild. The strategy to adopt will depend upon business drivers and migration goals. In some cases, multiple strategies may be necessary. For example, an organization might choose to rehost simple applications while deciding to completely rearchitect those apps that are more complex. Let's discuss the various migration strategies. First, let's talk a little bit about the rehost option. Often referred to as lift-and-shift, the rehost option doesn't require any code changes and allows migration of existing applications to Azure quickly. During a rehost migration, each application is migrated as is. Such a migration offers the ability to reap the benefits of Microsoft Azure without the risk and cost associated with code changes to the application being migrated. This type of migration is best when applications need to be quickly moved to Azure or when the apps need to move without modifying code. 

Applications that are architected so that they can leverage IaaS scalability post-migration are also good candidates for rehost migrations. The second strategy, refactor, is often referred to as repackaging. As such, refactor migrations typically require minimal changes to apps so that they can connect to Azure and use cloud offerings. An example of a refactor migration would be refactoring relational or non-relational databases into an offering such as Azure SQL Database Managed Instance, Azure Database for MySQL, Azure Database for PostgreSQL, or Azure Cosmos DB. 

If an application can easily be repackaged to work in Azure, a refactor migration would be a viable option. However, when considering refactoring, consideration must be also given to the portability of the existing code base, along with the availability of development skills. The third migration consideration is a complete rearchitect. Rearchitecting an application for migration requires modifying and extending app functionality, along with the code base to optimize the app architecture for cloud scalability. An example of a rearchitect migration would be breaking down a larger, more complex application into a group of smaller apps that work together and scale more easily. If an application needs major revisions to incorporate new capabilities or to work effectively in Azure, a rearchitect solution should be considered. The last migration strategy I wanted to talk about was the rebuild strategy. Rebuilding an application takes things a step further than rearchitecting. Following this approach requires a complete rebuild of an application from scratch, using Azure cloud technologies. For example, greenfield applications can be built with cloud-native technologies like Azure Functions, Azure AI, et cetera. Leveraging such cloud-native technologies offers rapid development capabilities.

About the Author

Learning paths4

Tom is a 25+ year veteran of the IT industry, having worked in environments as large as 40k seats and as small as 50 seats. Throughout the course of a long an interesting career, he has built an in-depth skillset that spans numerous IT disciplines. Tom has designed and architected small, large, and global IT solutions.

In addition to the Cloud Platform and Infrastructure MCSE certification, Tom also carries several other Microsoft certifications. His ability to see things from a strategic perspective allows Tom to architect solutions that closely align with business needs.

In his spare time, Tom enjoys camping, fishing, and playing poker.