1. Define the business reason for moving
A migration is easier to govern when its purpose is explicit. A data-center exit, a resilience requirement, and an application modernization initiative can lead to very different sequencing and architecture decisions. Write down the business constraint, the desired change, and the evidence that will demonstrate success.
Separate non-negotiable requirements from preferences. If a contract expiry drives the timeline, make that visible. If an application cannot tolerate a particular outage window, establish that early. These constraints should shape scope before a target architecture is treated as settled.
2. Understand the workload as a dependency network
An application inventory is not enough. Review identity, DNS, network paths, certificates, integrations, scheduled jobs, data flows, and operational dependencies. A small supporting service can be more critical to a cutover than the largest server in the estate.
Ask application owners to validate the dependency map. Record unknowns and assign an investigation owner. Use the resulting map to group workloads into migration waves, with explicit reasons for what moves together and what must remain connected during transition.
3. Agree on the Azure foundation
Microsoft’s Azure landing-zone guidance identifies design areas including identity, resource organization, networking, security, management, and governance. These are useful prompts for a design conversation, not a substitute for understanding the organization’s constraints.
Before the first production workload moves, agree on subscription boundaries, naming and tagging, access responsibilities, connectivity, logging, and policy ownership. Document cost allocation and who can authorize changes. A foundation should make expected behavior easier to maintain as the environment expands.
4. Define acceptance and rollback before cutover
A server being available does not prove that the business process works. Define tests with application owners: transaction flows, integrations, permissions, performance expectations, backup behavior, and monitoring visibility. Assign a person who can accept the result and a way to record evidence.
Plan the conditions that trigger a pause or rollback. Identify data changes that could make reversal difficult, the decision window, and communication responsibilities. A representative pilot should test both the technical procedure and the organization’s ability to coordinate it.
5. Design the day after
Migration completion changes who operates what. Confirm how incidents are routed, who reviews costs, how privileged access is granted, and which team maintains recovery procedures. Separate responsibilities retained internally from work explicitly included in an advisory engagement.
A useful migration plan ends with a handover checklist and a backlog of deferred decisions. Review the first wave before scaling the next one. The best next step may be a smaller adjustment to the foundation rather than a faster migration schedule.
