← Back to Portfolio

AVD Migration Program · Project Report

Azure Subscription Migration and AVD QA-RUN / QA-TEST Factory

Full migration of QA virtual desktop workloads to a new Azure subscription, including Shared Image Gallery transfer, dual resource-group model, and automated host recreation for AVD QA-RUN and QA-TEST publishing.

Client: MIS QA Program Scope: Subscription + Resource Migration Status: Delivered Method: Factory Migration with Runbooks
Azure Subscription Migration AVD QA-RUN QA-TEST Shared Image Gallery PowerShell Automation

Executive Summary

The existing design used two image gallery machines as the source baseline and deployed 30 QA-RUN machines and 30 QA-TEST machines from those images. Every gallery update required deleting and recreating field machines. This project migrated the full model to a new subscription with cleaner resource boundaries, stronger governance, and repeatable automation for host refresh and AVD publication.

Source Model2 gallery baselines, 60 total session hosts (30 RUN / 30 TEST)
Target ModelNew subscription with two dedicated resource groups for QA-RUN and QA-TEST
Compute StandardHigh-performance VM profiles: 8-16 vCPU and 32-64 GB RAM
OperationsImage-driven drain, delete, recreate workflow with AVD republish

Business and Technical Objectives

  • Migrate workloads from the existing Azure subscription and resource group estate into a new subscription with clean segmentation.
  • Create two destination resource groups: rg-app-qa-run and rg-app-qa-test.
  • Migrate the two Shared Image Gallery baselines and preserve image version lineage.
  • Publish two separate AVD fields for MIS QA teams: QA-RUN host pool and QA-TEST host pool.
  • Standardize high-end compute templates across both fields for reliability and test parity.

Current State (As-Is) Diagram

Existing Subscription and QA Field Layout Current Subscription Legacy Resource Groups Gallery Source 01 SIG Image Baseline Gallery Source 02 SIG Image Baseline QA-RUN Field 30 Session Hosts Published to AVD Image Refresh by Rebuild QA-TEST Field 30 Session Hosts Published to AVD Image Refresh by Rebuild MIS Testers Access QA-RUN / QA-TEST Regression and UAT Cycles Release Validation
Figure 1 - Existing environment: two source galleries and two 30-host QA fields published in AVD.

Target State (To-Be) Subscription and Resource Model

New Subscription Design with Separated QA Domains New Azure Subscription Governance, RBAC, Policy, Cost Tags Shared Image Gallery A Migrated + Versioned Golden Build Line Shared Image Gallery B Migrated + Versioned Golden Build Line rg-app-qa-run AVD Host Pool: HP-QA-RUN 30 Session Hosts VM SKU: 8-16 vCPU / 32-64 GB RAM Autoscale + Drain Mode rg-app-qa-test AVD Host Pool: HP-QA-TEST 30 Session Hosts VM SKU: 8-16 vCPU / 32-64 GB RAM Isolated Test Release Validation AVD Publishing and Access Workspace: WS-MIS-QA App Group: DAG-QA-RUN App Group: DAG-QA-TEST AAD Group Assignment MIS-TESTER-RUN / MIS-TESTER-TEST Profile + FSLogix + Monitoring Controlled Publish Windows
Figure 2 - New subscription architecture with migrated galleries, separated resource groups, and AVD publication layers.

Detailed AVD Design for QA-RUN and QA-TEST

AVD Field Design and Image Release Flow Image Release Factory Image Build + QA Validation Version Promote to SIG A/B Blue/Green Eligibility Check Maintenance Window Trigger QA-RUN Host Pool Flow Set Drain Mode on active hosts Delete old hosts after session drain Create 30 hosts from latest SIG version Republish to DAG-QA-RUN QA-TEST Host Pool Flow Set Drain Mode on active hosts Delete old hosts after session drain Create 30 hosts from latest SIG version Republish to DAG-QA-TEST MIS Access and Validation Layer User Group Routing by Environment Performance Baseline Verification Application Smoke and Regression Tests Rollback to prior image version if needed Release Sign-off for Production QA Runs Operational Handover to Support Team
Figure 3 - Image-driven host recreation workflow for QA-RUN and QA-TEST with AVD publication and MIS validation gates.

Migration Plan and Work Breakdown

  • Phase 1 - Discovery and Baseline: Capture current subscription assets, host inventory, image versions, role assignments, and dependency map.
  • Phase 2 - Foundation Build: Create new subscription landing zone, networking, identity assignments, key vault references, and monitoring.
  • Phase 3 - Image Gallery Migration: Replicate two gallery definitions and image versions into target subscription with validation checkpoints.
  • Phase 4 - Field Buildout: Provision QA-RUN and QA-TEST resource groups, host pools, app groups, and autoscale policies.
  • Phase 5 - Controlled Migration: Build pilot hosts, validate performance and application stack, then execute full 30/30 host rollout.
  • Phase 6 - Parallel Stability Window (1 Week): Keep legacy and new environments active in parallel for seven days while MIS users validate access, performance, and functional test coverage on the new AVD fields.
  • Phase 7 - Decommission and Handover: Decommission the old environment only after confirmed user success criteria, then finalize runbooks, support model, dashboards, and rollback closure.

Runbook (Operational Procedure)

  1. Pre-Change Gate: Confirm approved maintenance window, backup checkpoints, and image version readiness.
  2. Drain Existing Hosts: Set host pool drain mode for targeted environment (QA-RUN or QA-TEST), wait for active sessions to close.
  3. Snapshot and Export: Capture configuration snapshots and export host metadata for rollback references.
  4. Delete Old Hosts: Remove prior-generation session hosts and clean stale registrations.
  5. Create New Hosts: Deploy from latest Shared Image Gallery version using standardized high-end SKU profile.
  6. Join and Register: Complete domain join, extension bootstrap, AVD agent registration, and health checks.
  7. Publish Field: Attach hosts to proper app group (DAG-QA-RUN or DAG-QA-TEST) and validate user assignments.
  8. Validation Test: Execute MIS smoke tests, performance checks, app compatibility validation, and user access confirmation on the new AVD fields.
  9. Parallel Run Period: Keep both old and new environments active for one full week while tracking successful user logins and production-like test execution in QA-RUN and QA-TEST.
  10. Decommission Gate: Approve legacy shutdown only after all users are confirmed to be successfully reaching the new environment with no blocking issues.
  11. Close Change: Decommission legacy resources, remove drain mode restrictions, monitor telemetry, and record release evidence in change logs.
  12. Rollback (if required): During the one-week window, repoint users to prior host sets or redeploy the previous image version from gallery history.

Sizing Standard for QA Fields

CPU Range8 to 16 vCPU based on workload class and concurrency target
Memory Range32 to 64 GB RAM for test execution, app packaging, and parallel sessions
Field Scale30 hosts in QA-RUN and 30 hosts in QA-TEST
Refresh PatternImage update triggers host rebuild cycle for both fields

Deliverables

  • As-is and to-be architecture diagrams for subscription, resource groups, and AVD publication model.
  • Image gallery migration documentation for two baseline galleries with version promotion controls.
  • Production-ready runbook for host rebuild and AVD publishing in QA-RUN and QA-TEST.
  • Operational handover package including monitoring, rollback, and support responsibilities.

Outcome

  • Successfully migrated QA desktop services into a new subscription with clean resource boundaries.
  • Delivered isolated QA-RUN and QA-TEST AVD fields with high-performance, standardized VM sizing.
  • Executed a one-week parallel operation period to verify successful user adoption before legacy decommission.
  • Established repeatable host recreation automation for every image update, reducing drift and manual effort.
  • Improved MIS testing reliability through structured publication, validation, and rollback controls.