Microsoft AZ-305: Migration and Modernization — Study Guide
Part of the Microsoft Azure Solutions Architect Expert AZ-305 — Study Guide. Practice with verified answers in the Microsoft exam hub, or take timed practice tests on ExamRoll.io.
Overview
Migration and modernization on Azure combine discovery-driven planning with the right data movement tools, workload-specific migration services, hybrid management, and cost optimization. The goal is to meet time-to-value constraints without compromising reliability, security, or operations. Start with a factual inventory and dependency map, build performance-based sizing and TCO, select the least-disruptive migration strategy that still advances cloud-native capabilities, and protect the business case with licensing and reservation optimizations. Azure provides an integrated suite—Azure Migrate for discovery, assessment, and orchestration; Azure Database Migration Service and App Service Migration Assistant for workload moves; Azure Data Box and Import/Export for offline bulk transfer; Azure Arc for hybrid governance; and modernization pathways such as containers, serverless, and API-first refactoring.
Discovery, Assessment, and Workload Migration
Azure Migrate is the control plane for migration projects. Deploy the Azure Migrate appliance to discover VMware, Hyper-V, and physical servers agentlessly, or use agents when deeper metadata (processes, ports) is needed. Discovery collects hardware, OS, performance counters, and dependency data to build accurate assessments. Dependency visualization is critical to group workloads and plan migration waves that preserve east–west traffic locality and app tiers.
Server assessments output readiness (OS support, drivers, agents), performance-based sizing (vCPU/RAM/IOPS/throughput), and monthly cost estimates aligned to VM series, disks, and reservations. Azure Migrate can target either Azure VMs or Azure VMware Solution. For web workloads, Azure Migrate includes a web app assessment to evaluate IIS sites for migration to Azure App Service, flagging unsupported features such as ISAPI filters, GAC dependencies, or legacy .NET frameworks. For databases, Azure Migrate federates assessments to Azure Database Migration Service (DMS), which tests SKU compatibility and required remediation (data types, T-SQL surface area, collation, feature parity).
Migration orchestration for servers uses Azure Migrate: Server Migration to continuously replicate VMware, Hyper-V, or physical servers to Azure with recovery points and planned cutover. You can run test migrations to isolated VNets to validate boot, app startup, and connectivity prior to final switch. For web applications hosted on IIS, the Azure App Service Migration Assistant performs a readiness assessment and can package and deploy ASP.NET or PHP sites to App Service, rewrite configuration as needed, and surface dependency gaps (Windows-specific COM, machine-level drivers, GAC assemblies). It is best suited to Windows IIS workloads moving to App Service on Windows.
Azure Database Migration Service provides online (minimal-downtime) and offline (one-time) migrations:
- Online migrations establish continuous change data capture from source to target, allow you to validate and remediate in parallel, and cut over during a short outage window. Use for mission-critical databases that cannot afford long downtime.
- Offline migrations perform a one-time bulk load (backup/restore, BACPAC, or export/import) with a longer outage, minimizing complexity and cost.
Supported source/target patterns include SQL Server to Azure SQL Database or Azure SQL Managed Instance, SQL Server to SQL Server on Azure VMs, MySQL to Azure Database for MySQL, PostgreSQL to Azure Database for PostgreSQL, and MongoDB to Azure Cosmos DB (MongoDB API). DMS assesses compatibility, orchestrates schema and data movement, and can automate post-migration validation tasks.
Bulk Data Transfer Options
When network bandwidth, data gravity, or compliance block online copy, leverage Azure’s offline transfer offerings.
Azure Data Box family:
- Data Box Disk: solid-state encrypted disks shipped to you; suitable up to roughly 35 TB per order for branch office or lab-scale seedings where portability matters.
- Data Box: a rugged, encrypted appliance with approximately 100 TB usable capacity; designed for data center moves or initial large seeding before ongoing sync.
- Data Box Heavy: a palletized appliance providing about 1 PB usable; ideal for multi-hundred-terabyte to petabyte migrations such as archives, media libraries, or file shares.
All devices use hardware encryption, chain-of-custody logistics, and automatic ingestion into selected Azure Storage accounts upon return. They are typically used for initial seeding (followed by ongoing delta replication via AzCopy, Storage Mover preview, or vendor tools), one-time archives, or region-to-region moves where egress constraints apply.
Azure Import/Export service uses your own BitLocker-encrypted SATA HDD/SSD media. The WAImportExport tool prepares drives, generates journal and manifest files, validates data and folder mappings, and writes encryption keys. The shipping workflow is:
- Create an Import (or Export) job in the portal and specify the destination (or source) storage accounts and containers.
- Use WAImportExport to prepare and encrypt the drives and generate the drive set CSV.
- Ship the media to the Microsoft datacenter indicated in the job using an approved carrier and provide tracking details.
- Microsoft ingests (or exports) the data directly to (or from) your Storage account, updates job status, and ships media back.
Import/Export is optimal when you already have drives on hand, need precise control over the device chain, or the volume is modest compared to Data Box appliances.
Strategy, Licensing, and Cost Optimization
Select migration strategies based on time, risk, and modernization goals:
- Lift-and-shift (rehost): fastest route, minimal code change. Use for stable, low-risk VMs or as a bridge before optimization. Combine with Azure Migrate replication and apply governance guardrails immediately.
- Re-platform (lift-and-optimize): move to managed services with small changes—Windows IIS to App Service, SQL Server to Azure SQL Managed Instance. Reduces ops overhead and gains PaaS reliability without a full redesign.
- Re-architect (refactor): decompose monoliths, adopt microservices on AKS, event-driven pipelines, or domain-driven bounded contexts. Higher effort, but aligns with cloud-native resiliency and scale.
- Replace: adopt SaaS to retire custom workloads that aren’t differentiators (CRM, HRIS), shrinking attack surface and TCO.
Defend the business case with licensing and reservations:
- Azure Hybrid Benefit (AHB) lets you bring existing licenses with Software Assurance. For Windows Server on Azure VMs or Azure Dedicated Host, AHB removes the Windows license cost so you pay base compute rates. For SQL Server, apply AHB to Azure SQL Database, Azure SQL Managed Instance, or SQL on Azure VMs to reduce SQL licensing charges. For Linux, AHB supports eligible Red Hat Enterprise Linux and SUSE Linux Enterprise subscriptions to remove OS software charges when running approved BYOS images. Always validate license mobility and core counts.
- Azure Reserved Instances (RI) and Reserved Capacity align steady-state compute with 1-year or 3-year commitments. Three-year terms yield larger discounts; one-year offers flexibility. Scope reservations to either a single subscription (tight alignment of benefit) or shared scope (applied across subscriptions in the billing context to maximize utilization). You can exchange reservations at any time to alter region, VM family, or term; cancellations are allowed subject to an early termination fee, and refunds are limited by Azure’s annual cap. Use instance size flexibility within a VM family to absorb demand variance. Together, AHB plus reservations often deliver 50–80% savings over pay-as-you-go, enabling reinvestment into modernization.
Hybrid Management and Modernization Patterns
Azure Arc extends Azure governance to on-premises and multicloud. Arc-enabled servers onboard Windows and Linux machines with an agent that projects them as Azure resources, enabling Azure Policy guest configuration, Update Management, Defender for Cloud, and extension-based tooling (Key Vault certificates, Dependency agent). Arc-enabled Kubernetes attaches CNCF-conformant clusters to Azure for GitOps-based configuration (Flux), Azure Policy for Kubernetes, and extension lifecycle (Open Service Mesh, Azure Monitor for containers). Arc-enabled SQL Server inventories instances anywhere, surfaces end-of-support and SKU recommendations, enforces security baselines, and integrates with Defender for SQL. For edge or disconnected environments, Arc brings a consistent control plane for governance while workloads stay where they are.
Modernization patterns should be layered onto migration plans:
- Containerization: Package existing .NET/Java apps into containers and run on Azure Kubernetes Service (AKS) or App Service for Containers. Azure Migrate: App Containerization can analyze IIS or Java apps, create Dockerfiles, and publish to Azure Container Registry, accelerating modernization without rewriting code. Use AKS for complex, scalable microservices with service mesh and CI/CD; use App Service for Containers for simpler web workloads.
- Serverless migration: Offload schedulers, batch tasks, and integration glue into Azure Functions and Logic Apps to eliminate server management. Durable Functions adds workflow and state; Event Grid and Service Bus provide eventing and decoupling to reduce backpressure and improve failure isolation.
- API-first transformation: Expose internal capabilities through Azure API Management with products, versioning, throttling, and OAuth2/OpenID Connect offload. This separates API contracts from backends, enables partner and mobile channels, and enforces centralized security policies. Combine with Backend for Frontend patterns and DevSecOps to standardize governance and testing. Use blue/green or canary cutovers and feature flags to reduce risk during modernization. Telemetry from Azure Monitor and Application Insights should drive iterative tuning of performance, capacity, and scaling rules.
Practical Problem Scenario
Adobe Inc. must migrate a portfolio of on-premises IIS web apps, SQL Server databases, and 600 TB of media assets to Azure while minimizing downtime and preparing for a container-first future.
Step-by-step approach:
Discover and assess with Azure Migrate
Deploy the Azure Migrate appliance to inventory VMware VMs and IIS sites. Use dependency mapping to group app tiers and identify shared databases. Run performance-based VM sizing and an App Service readiness assessment. Chosen because it centralizes discovery, cost estimation, dependency insights, and migration orchestration in a single plane.Classify migration strategy per workload
Rehost stateful app tiers to Azure VMs initially to de-risk timelines, re-platform stateless web tiers to Azure App Service where the Migration Assistant shows high readiness, and plan re-architect workstreams for high-traffic portals to AKS. This hybrid strategy balances speed (lift-and-shift) with operational gains (App Service) and long-term scalability (AKS).Migrate databases with Azure Database Migration Service
Use online migrations for the customer-facing SQL Server backends to Azure SQL Managed Instance to preserve SQL Agent jobs, cross-database queries, and near-zero downtime. Use offline migrations for internal line-of-business databases during a scheduled weekend window. DMS was selected for its CDC-based minimal-downtime path, schema validation, and orchestrated cutover.Move media assets using Azure Data Box and Import/Export
Order multiple Azure Data Box appliances (100 TB each) for the initial 600 TB seed to Blob Storage, followed by delta sync over ExpressRoute. For two remote studios with smaller archives, use Azure Import/Export with existing encrypted SSDs and the WAImportExport tool. Data Box addresses the bulk transfer quickly and securely; Import/Export leverages already-procured disks at the edge.Cut over web workloads with App Service Migration Assistant and test migrations
For IIS sites flagged as compatible, use the Migration Assistant to package, convert configuration, and deploy to App Service. Execute test migrations into staging slots and perform swap on success. The tool reduces manual remediation and accelerates deployment consistency.Introduce modernization patterns
Containerize selected services with Azure Migrate: App Containerization, push images to Azure Container Registry, and deploy to AKS with GitOps via Azure Arc-enabled Kubernetes for consistent configuration across dev/test/prod. Front all public APIs with Azure API Management to standardize throttling, OAuth2, and partner onboarding. This sets the foundation for microservices and API-first channels while maintaining governance.Enable hybrid governance with Azure Arc
Onboard remaining on-prem servers and non-AKS Kubernetes clusters with Azure Arc to apply Azure Policy, collect inventory, and standardize security baselines before, during, and after migration. Arc brings a single control plane across hybrid, ensuring drift detection and compliance.Optimize costs with Azure Hybrid Benefit and reservations
Apply Azure Hybrid Benefit to Windows Server and SQL Server to reduce software costs. Purchase 3-year Reserved Instances for steady-state VM and Managed Instance SKUs; use shared scope to maximize coverage across subscriptions and exchange reservations if usage patterns change. This preserves the business case and funds modernization sprints.
Why these services: Azure Migrate and DMS minimize risk with data-driven planning and low-downtime execution; the App Service Migration Assistant accelerates proven IIS moves; Data Box and Import/Export address data gravity; Azure Arc provides consistent governance across hybrid and multicloud; AKS, Functions, and API Management enable future-proof, cloud-native evolution without blocking immediate migration goals.
← Monitoring · All domains · Well-Architected Framework and Design Principles →
Practice these questions → · Timed practice on ExamRoll.io →
Pass the whole exam — not just this question
You found this answer. Get every verified question and explanation in one place, and save hours of prep. Free to start.
Pass your exam →