CH21-11: Migration and Modernization
Goal
Help readers connect migration and modernization concerns to Azure solution options, useful patterns, trade-offs, and decision prompts.
The Short Version
Migration architecture maps dependencies, risk, stages, rollback, and modernization opportunities before moving workloads.
Moving a workload to Azure is not the same as moving a server. The design must explain identity, DNS, data, network paths, operational ownership, security controls, rollback, coexistence, and which parts should be modernized now versus later.
Concern
The organization must move or modernize workloads without breaking dependencies, security, operations, data integrity, or business continuity.
Typical Symptoms
Teams want to migrate servers before mapping application dependencies.
On-premises identity, DNS, data, or network dependencies are discovered late.
The migration plan has no rollback or coexistence phase.
Legacy design is copied to Azure without improving operations or security.
Modernization scope is unclear: rehost, replatform, refactor, replace, or retire.
Azure Solution Options
Azure Migrate for discovery, assessment, and migration planning.
Landing zones for governed Azure environments.
ExpressRoute or VPN Gateway for hybrid connectivity.
Azure Site Recovery where migration or disaster recovery scenarios fit.
App Service, Container Apps, AKS, Azure SQL, and managed services for modernization paths.
Monitoring, backup, identity, DNS, and governance controls before cutover.
Useful Patterns
Strangler Fig.
Anti-Corruption Layer.
Gateway Routing.
Compensating Transaction where rollback or business compensation is needed.
Deployment stamps where repeatable environments are needed.
Trade-Offs
Rehosting can be faster but may preserve operational problems.
Refactoring can improve architecture but increases delivery risk and time.
Hybrid coexistence reduces migration risk but increases dependency complexity.
Incremental migration improves control but requires careful routing and data synchronization.
Decision Prompt
What dependencies must remain during migration, and which parts should be modernized now versus later?
Common Mistakes
Migrating infrastructure without understanding application dependency flow.
Treating connectivity as the whole hybrid design.
Modernizing everything at once without business justification.
Forgetting rollback, support, monitoring, and operational ownership.
If Someone Asks You
How do you approach migration and modernization in Azure?
I start with dependency discovery and target-state foundations. Azure Migrate can help assess workloads, landing zones prepare governed environments, hybrid connectivity supports coexistence, and monitoring, backup, identity, DNS, and security should be ready before cutover. Then I choose a migration path: rehost, replatform, refactor, replace, or retire. Modernization should be staged deliberately, using patterns such as Strangler Fig or Anti-Corruption Layer when gradual replacement is safer than a big rewrite.
What You Should Remember
Migrate in stages: discover dependencies, prepare landing zones, move safely, operate clearly, and modernize deliberately.
Questions to Check Your Understanding
Why should dependency mapping come before migration?
When might the Strangler Fig pattern help?
Why is hybrid coexistence both useful and complex?