In this post, we will thoroughly explore the step-by-step process of planning and migrating your on-premises workload to the cloud, specifically focusing on the Re-host scenario.
Overview:
Lift and shift: A strategy for migrating a workload to the cloud without redesigning the application or making code changes. It’s also called rehosting.
Business drivers for Lift and Shift:
Below are the business drivers for re-host scenarios.
Address business growth. Contoso is growing, so there’s pressure on the company’s on-premises systems and infrastructure.
Limit risk. The SmartHotel360 application is critical for the Contoso business. The company wants to move the application to Azure with zero risk.
Extend. Contoso doesn’t want to modify the application, but it does want to ensure that the application is stable.
Choose an Azure Compute service:
Azure offers many ways to host your application code. The term compute refers to the hosting model for the resources that your application runs on.
Choose the right candidate for your service, here we take an example of a Virtual Machine.

Use Case:
In this post, we will take an example of the fictional company Contoso rehosts a two-tier Windows .NET front-end application running on VMware virtual machines (VMs) by migrating application VMs to Azure VMs.
If the Infrastructure is known and we know the compute details, we can skip the assessment below and start work on Solution design and migrate the apps to Azure.
If the application lists are huge and unknown, we need to run the steps below with the assessment.
Assess on-premises workloads for migration to Azure.
The first steps are to assess the application VMs using the Azure Migrate service, and the SQL Server application database using Data Migration Assistant.
| App name | Platform | App tiers | Details |
| SmartHotel360 (manages Contoso travel requirements) | Runs on Windows with a SQL Server database | Two-tiered app. The front-end ASP.NET website runs on one VM (WEBVM) and the SQL Server runs on another VM (SQLVM). | VMs run on a VMware ESXi host managed by vCenter Server. |
| osTicket (Contoso service desk app) | Runs on a LAMP stack. | Two-tiered app. A front-end PHP website runs on one VM (OSTICKETWEB) and the MySQL database runs on another VM (OSTICKETMYSQL). | The app is used by customer service apps to track issues for internal employees and external customers. |
Current architecture
This diagram shows the current Contoso on-premises infrastructure:

Assessment tools
You can plan to use Microsoft tools for its migration assessment. The tools align with the company’s goals and should provide Contoso with all the information it needs.
| Technology | Description | Cost |
| Data Migration Assistant | Contoso uses Data Migration Assistant to assess and detect compatibility issues that might affect its database functionality in Azure. Data Migration Assistant assesses feature parity between SQL sources and targets. It recommends performance and reliability improvements. | Data Migration Assistant is a free downloadable tool. |
| Azure Migrate | Contoso uses the Azure Migrate service to assess its VMware VMs. Azure Migrate assesses the migration suitability of the machines. It provides sizing and cost estimates for running in Azure. | Azure Migrate is available at no additional charge. However, you may incur charges depending on the tools (first-party or ISV) you decide to use for assessment and migration. Learn more about Azure Migrate pricing. |
| Service Map | Azure Migrate uses Service Map to show dependencies between machines that the company wants to migrate. | Service Map is part of Azure Monitor logs. Currently, Contoso can use Service Map for 180 days without incurring charges. |
The use of these tools to access on-premises SQL Server databases, Access Web Applications, and create dependency mappings for the apps will be covered in another post.
Assessment overview
Here’s how we need to perform the assessment:
- Step 1: Download and install Data Migration Assistant. Contoso prepares Data Migration Assistant for assessment of the on-premises SQL Server database.
- Step 2: Assess the database by using Data Migration Assistant. Contoso runs and analyzes the database assessment.
- Step 3: Prepare for VM assessment by using Azure Migrate. Contoso sets up on-premises accounts and adjusts VMware settings.
- Step 4: Discover on-premises VMs by using Azure Migrate. Contoso creates an Azure Migrate collector VM. Then, Contoso runs the collector to discover VMs for assessment.
- Step 5: Prepare for dependency analysis by using Azure Migrate. Contoso installs Azure Migrate agents on the VMs, so the company can see dependency mapping between VMs.
- Step 6: Assess the VMs by using Azure Migrate. Contoso checks dependencies, groups the VMs, and runs the assessment. When the assessment is ready, Contoso analyzes the assessment in preparation for migration.
In this scenario, We will assess Constoso’s SmartHotel360 app database by using the Data Migration Assistant tool. It assesses the on-premises VMs by using the Azure Migrate service.
Contoso reviews the assessments to make sure that on-premises resources are ready for migration to Azure.
Once the review is completed, we can begin preparing its on-premises infrastructure and its Azure infrastructure for migration.
Solution design:
After establishing goals and requirements, and assessment, it’s time to design and review a deployment solution.
Current application
- The application is tiered across two VMs (
WEBVMandSQLVM). - The VMs are located on VMware ESXi host
contosohost1.contoso.com(version 6.5). - The VMware environment is managed by vCenter Server 6.5 (
vcenter.contoso.com) running on a VM. - Contoso has an on-premises data center (
contoso-datacenter) with an on-premises domain controller (contosodc1).
Proposed architecture
It’s time to design the proposed architecture, below are the details.
- Because the application is a production workload, the application VMs in Azure will reside in the production resource group
ContosoRG. - The application VMs will be migrated to the primary Azure region (East US 2) and placed in the production network (
VNET-PROD-EUS2). - The web front-end VM will reside in the front-end subnet (
PROD-FE-EUS2) in the production network. - The database VM will reside in the database subnet (
PROD-DB-EUS2) in the production network. - The on-premises VMs in the Contoso data center will be decommissioned after the migration is done.

Database considerations
As part of the solution design process, we need to do a feature comparison between Azure SQL Database and SQL Server.
The following considerations helped the company to decide to use SQL Server running on an Azure IaaS VM:
- Using an Azure VM running SQL Server seems to be an optimal solution if Contoso needs to customize the operating system and the database, or co-locate and run partner applications on the same VM.
- With Software Assurance, Contoso can later exchange existing licenses for discounted rates on Azure SQL Managed Instance by using the Azure Hybrid Benefit for SQL Server. This can save up to 30 percent on SQL Managed Instance.
Solution review
Contoso evaluates the proposed design by putting together a list of pros and cons.
| Consideration | Details |
| Pros | Both the application VMs will be moved to Azure without changes, making the migration simple. Because Contoso is using a lift-and-shift approach for both application VMs, it doesn’t need any special configuration or migration tools for the application database. Contoso can take advantage of its investment in Software Assurance by using the Azure Hybrid Benefit. Contoso will retain full control of the application VMs in Azure. |
| Cons | WEBVM and SQLVM are running Windows Server 2008 R2. Azure supports the operating system for specific roles.The web and data tiers of the application remain as single points of failure. SQLVM is running on SQL Server 2008 R2. SQL Server 2008 R2 is no longer in mainstream support, but it’s supported for Azure VMs. Contoso must continue supporting the application on Azure VMs rather than moving to a managed service such as Azure App Service or Azure SQL Database. |
Migration process
Once the solution design is approved, it is time for the implementation. Below are the details for migration.
As mentioned above in the Assessment Tools section, we leverage the tools for migration.
We will migrate the application front-end and database VMs to Azure VMs by using the agentless method in the Azure Migrate: Server Migration tool.
- As a first step, Contoso prepares and sets up Azure components for Azure Migrate: Server Migration, and prepares the on-premises VMware infrastructure.
- The Azure infrastructure is in place, so Contoso just needs to configure the replication of the VMs through the Azure Migrate: Server Migration tool.
- With everything prepared, Contoso can start replicating the VMs.
- After replication is enabled and working, Contoso will migrate the VM by testing the migration and failing it over to Azure, if successful.

Scenario steps
Below are the migration steps:
- Step 1: Prepare Azure for Azure Migrate: Server Migration. add the server migration tool to Azure Migrate project.
- Step 2: Replicate on-premises VMs. Set up replication and start replicating VMs to Azure Storage.
- Step 3: Migrate the VMs with Azure Migrate: Server Migration. Run a test migration to make sure everything’s working, and then run a full migration to move the VMs to Azure.
Clean up after migration.
With migration complete, the SmartHotel360 application tiers will be now running on Azure VMs. Keep an eye on and plan to clean up the resources:
- After the migration is complete, stop replication.
- Remove the
WEBVMmachine from the vCenter inventory. - Remove the
SQLVMmachine from the vCenter inventory. - Remove
WEBVMandSQLVMfrom local backup jobs. - Update internal documentation to show the new location and IP addresses for the VMs.
- Review any resources that interact with the VMs, and update any relevant settings or documentation to reflect the new configuration.
Review the deployment
Now that the application is running, It must be fully operationalized and secured in Azure.
Security
We need to plan and review Azure VM security.
- To control access, review the network security groups (NSGs) for the VMs. NSGs are used to ensure that only traffic allowed to the application can reach it.
- Considers securing the data on the disk by using Azure Disk Encryption and Key Vault.
Business continuity and disaster recovery
For business continuity and disaster recovery, Contoso takes the following actions:
- Keep data safe: Use Azure Backup to backup data on the VM.
- Keep applications up and running: Replicates the application VMs in Azure to a secondary region by using Azure Site Recovery.
Licensing and cost optimization
If Contoso has existing licensing for its VMs, it can take advantage of the Azure Hybrid Benefit.
Recommend Contoso to take advantage of this pricing.
Conclusion
In this article, we saw re-host scenario and how to choose the right compute, plan, execute an assessment, migrate, and rehost the SmartHotel360 application in Azure.
In conclusion, migrating your on-premises workload to the cloud, specifically in the Re-host scenario, requires careful planning and execution. By following the step-by-step process outlined above, you can ensure a successful migration and reap the benefits of the cloud, including scalability, flexibility, and cost savings.
References:
Choose an Azure compute service – Azure Architecture Center | Microsoft Learn
Overview of application migration examples for Azure – Cloud Adoption Framework | Microsoft Learn
Assess on-premises workloads for Azure migration – Cloud Adoption Framework | Microsoft Learn

[…] This post is continuation of previous article of Re-host scenario where we covered App re-host in details. App modernization- re-host scenario – Rajeev Singh | Coder, Blogger, YouTuber (wpcomstaging.com) […]
[…] We explored to select the right Azure Compute in Re-Host scenario: App modernization- re-host scenario – Rajeev Singh | Coder, Blogger, YouTuber (wpcomstaging.com) […]
[…] App modernization- re-host scenario – Rajeev Singh | Coder, Blogger, YouTuber (wpcomstaging.com) […]