Deploy workloads and assets (infrastructure, apps, and data)

In this phase of the journey, you use the output of the Assess phase to initiate the migration of the environment. This guide helps identify the appropriate tools to reach a completed state, including native tools, third-party tools, and project management tools.

The following sections describe the native Azure tools available to perform or assist with migration. For information on choosing the right tools to support your migration efforts, see the Cloud Adoption Framework's migration tools decision guide.

Azure Migrate

Azure Migrate delivers a unified and extensible migration experience. Azure Migrate provides a one-stop, dedicated experience to track your migration journey across the phases of assessment and migration to Azure. It provides you the option to use the tools of your choice and track the progress of migration across these tools.

Azure Migrate provides the following functionality:

  1. Enhanced assessment and migration capabilities:
    • Hyper-V assessments.
    • Improved VMware assessment.
    • Agentless migration of VMware virtual machines to Azure.
  2. Unified assessment, migration, and progress tracking.
  3. Extensible approach with ISV integration (such as Cloudamize).

To perform a migration using Azure Migrate, follow these steps:

  1. Search for Azure Migrate under All services. Select Azure Migrate to continue.
  2. Select Add a tool to start your migration project.
  3. Select the subscription, resource group, and geography to host the migration.
  4. Select Select assessment tool > Azure Migrate: Server assessment > Next.
  5. Select Review + add tools, and verify the configuration. Select Add tools to initiate the job to create the migration project and register the selected solutions.

Learn more

Azure Site Recovery

The Azure Site Recovery service can manage the migration of on-premises resources to Azure. It can also manage and orchestrate disaster recovery of on-premises machines and Azure VMs for business continuity and disaster recovery (BCDR) purposes.

The following steps outline the process to use Site Recovery to migrate:


Depending on your scenario, these steps may differ slightly. For more information, see the migrate on-premises machines to Azure article.

Prepare Azure Site Recovery service

  1. In the Azure portal, select + Create a resource > Management tools > Backup and Site Recovery.
  2. If you haven't yet created a recovery vault, complete the wizard to create a Recovery Services vault resource.
  3. In the Resource menu, select Site Recovery > Prepare infrastructure > Protection goal.
  4. In Protection goal, select what you want to migrate.
    1. VMware: Select to Azure > Yes, with VMware vSphere hypervisor.
    2. Physical machine: Select to Azure > Not virtualized/other.
    3. Hyper-V: Select to Azure > Yes, with Hyper-V. If Hyper-V VMs are managed by VMM, select Yes.

Configure migration settings

  1. Set up the source environment as appropriate.
  2. Set up the target environment.
    1. Select prepare infrastructure > Target, then select the Azure subscription you want to use.
    2. Specify the Resource Manager deployment model.
    3. Site Recovery checks that you have one or more compatible Azure Storage accounts and networks.
  3. Set up a replication policy.
  4. Enable replication.
  5. Run a test migration (test failover).

Migrate to Azure using failover

  1. In Settings > Replicated items, select the machine > Failover.
  2. In Failover, select a Recovery Point to fail over to. Select the latest recovery point.
  3. Configure any encryption key settings as required.
  4. Select Shut down machine before beginning failover. Site Recovery will attempt to shut down virtual machines before triggering the failover. Failover continues even if shutdown fails. You can follow the failover progress on the jobs page.
  5. Check that the Azure VM appears in Azure as expected.
  6. In Replicated items, select and hold (or right-click) the VM and choose Complete Migration.
  7. Perform any post-migration steps as required (see relevant information in this guide).

For more information, see:

Azure Database Migration Service

Azure Database Migration Service is a fully managed service that enables seamless migrations from multiple database sources to Azure data platforms, with minimal downtime (online migrations). Database Migration Service performs all of the required steps. You can initiate your migration projects assured that the process takes advantage of best practices recommended by Microsoft.

Create an Azure Database Migration Service instance

If this is the first time using Azure Database Migration Service, you need to register the resource provider for your Azure subscription:

  1. Select All services > Subscriptions, and choose the target subscription.
  2. Select Resource providers.
  3. Search for migration, and then to the right of Microsoft.DataMigration, select Register.

After you register the resource provider, you can create an instance of Azure Database Migration Service.

  1. Select + Create a resource and search the marketplace for Azure Database Migration Service.
  2. Complete the Create Migration Service Wizard, then select Create.

The service is now ready to migrate the supported source databases (for example, SQL Server, MySQL, PostgreSQL, or MongoDB).

Data Migration Assistant

Data Migration Assistant helps you upgrade to a modern data platform by detecting compatibility issues that can affect database functionality in your new version of SQL Server or Azure SQL Database. DMA recommends performance and reliability improvements for your target environment and allows you to move your schema, data, and uncontained objects from your source server to your target server.


For large migrations (in terms of number and size of databases), we recommend that you use Azure Database Migration Service, which can migrate databases at scale.

Start using Data Migration Assistant with these steps:

  1. Download and install Data Migration Assistant from the Microsoft download center.
  2. Create an assessment by selecting the New (+) icon, then select the Assessment project type.
  3. Set the source and target server type, then select Create.
  4. Configure the assessment options as required (recommend all defaults).
  5. Add the databases to assess.
  6. Select Next to start the assessment.
  7. View results in Data Migration Assistant.

For an enterprise, we recommend following the approach outlined in Assess an enterprise and consolidate assessment reports with DMA to assess multiple servers, combine the reports and then use provided Power BI reports to analyze the results.

For more information, including detailed usage steps, see:

SQL Server migration assistant

Microsoft SQL Server migration assistant (SSMA) is a tool designed to automate database migration to SQL Server from Microsoft access, DB2, MySQL, Oracle, and SAP ASE. The general concept is to collect, assess, and then review with these tools, however, due to the variances in the process for each of the source systems we recommend reviewing the detailed SQL Server migration assistant documentation.

For more information, see:

Database experimentation assistant

Database experimentation assistant (DEA) is a new A/B testing solution for SQL Server upgrades. It will assist in evaluating a targeted version of SQL for a given workload. Customers who are upgrading from previous SQL Server versions (SQL Server 2005 and above) to any new version of the SQL Server can use these analysis metrics.

The database experimentation assistant contains the following workflow activities:

  • Capture: The first step of SQL Server a/B testing is to capture a trace on your source server. The source server usually is the production server.
  • Replay: The second step of SQL Server a/B testing is to replay the trace file that was captured to your target servers. Then, collect extensive traces from the replays for analysis.
  • Analysis: The final step is to generate an analysis report by using the replay traces. The analysis report can help you gain insight about the performance implications of the proposed change.

For more information, see:

Azure Cosmos DB data migration tool

Azure Cosmos DB data migration tool can import data from various sources into Azure Cosmos DB collections and tables. You can import from JSON files, CSV files, SQL, MongoDB, Azure Table storage, Amazon DynamoDB, and even Azure Cosmos DB SQL API collections. The data migration tool can also be used when migrating from a single partition collection to a multipartition collection for the SQL API.

For more information, see: