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 namePlatformApp tiersDetails
SmartHotel360

(manages Contoso travel requirements)
Runs on Windows with a SQL Server databaseTwo-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.

TechnologyDescriptionCost
Data Migration AssistantContoso 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 MigrateContoso 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 MapAzure 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 (WEBVM and SQLVM).
  • 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.

ConsiderationDetails
ProsBoth 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.
ConsWEBVM 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 WEBVM machine from the vCenter inventory.
  • Remove the SQLVM machine from the vCenter inventory.
  • Remove WEBVM and SQLVM from 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

3 thoughts on “App modernization- re-host scenario”

Leave a Reply

Discover more from Rajeev Singh | Coder, Blogger, YouTuber

Subscribe now to keep reading and get access to the full archive.

Continue reading