Test your migration deployment in Azure
After you replicate or stage your workloads and ensure that supporting services are available, you can begin your migration testing. Migration testing primarily focuses on two areas:
- Architecture: Test your architecture to ensure that it works with the replicated or staged resources.
- Management routines: Test your management plan for the migrated resources to ensure that it's functional.
Unlike business testing, migration testing focuses on IT activities.
As you identify problems, you can add them to your remediation plan. After you address all the problems, you can proceed to the workload release.
Perform test migrations
After you replicate resources, you can perform test migrations in isolated environments to ensure that you don't affect production workloads.
Test migrations vary depending on the tooling, but generally you create a replica of your source systems that runs in parallel to the live systems. Perform tests on these secondary systems. When you complete testing, you can clean up the replicated resources without introducing any permanent changes.
To do tests, you need:
An isolated network where you test failover. Match the network configuration to the intended migration network configuration as much as possible.
Isolated network access from a source, like a point-to-site VPN, a jump box, or Azure Bastion.
An authentication mechanism to authenticate to the test environment. The test environment is isolated, so it can't use your landing zone’s identity provider.
You might use a test-migrated domain controller that you deploy to the test environment with the test migration resources. After testing, clean up the domain controller with the resources.
Alternatively, your isolated network might have a test domain controller in it. Peer the network to allow for replication of Active Directory traffic. You can take a snapshot of the domain controller in Azure, and then delete the peer for testing purposes to isolate the network. You can seize any necessary roles, and then restore the state when you complete testing to avoid making changes to the live identity provider.
Your migration tool should have instructions for running a test migration and cleaning it up after you run your testing plan.
Tip
You can also use this testing environment for business testing.
Remediate testing problems
After you do testing, make sure that you:
- Record any discovered problems in the remediation plan.
- Triage problems based on their severity, and identify any workarounds as part of the triaging.
- Document workarounds. If you can incorporate the workaround as part of the migration, you might not need to remediate the problem.
- Start with non-workaround items. Consider remediating items without workarounds first.
Example testing plan
Here's a basic example of a testing plan output for a migration project:
Test | Successful/unsuccessful | Note |
---|---|---|
Virtual machines deploy | ✅ | |
Administrators can sign in to virtual machines | ✅ | |
Internet Information Services (IIS) web services start | ✅ | |
Service 1 starts | ✅ | |
Service 2 starts | ❌ | Service had to be manually started |
Website access | ✅ | |
SQL services start | ✅ | |
Database access | ✅ | |
Load balancing between websites works | ✅ | |
Ingress from Azure Application Gateway works | ❌ | Application Gateway has a certificate problem |
Total time for the test transaction was less than 5 ms | ✅ |