Pre-migration groundwork
Success starts with solid foundations. Your Azure environment needs to be ready before you move a single workload. This means setting up your Azure tenant properly, not just creating a subscription and diving in.
Start with governance. Establish your management groups, subscriptions, and resource groups structure. This might seem like bureaucracy, but getting it right now saves massive headaches later. Create naming conventions that make sense for your organisation. Set up cost management boundaries and define your tagging strategy.
Security can’t be an afterthought. Configure Entra ID (formerly Azure AD) with proper conditional access policies. Set up privileged identity management for admin access. Enable Azure Security Centre (now Microsoft Defender for Cloud) from day one. These aren’t things you can easily retrofit once workloads are running.
Setting up your Azure landing zone
Your landing zone is essentially your Azure foundation: the environment where all your migrated workloads will live. Microsoft provides landing zone templates, but don’t just deploy them blindly. Customise them for your needs.
Network architecture needs careful thought. Hub-and-spoke, full mesh, or virtual WAN? The choice affects everything from performance to costs. Plan for hybrid connectivity if you’re keeping anything on-prem or maintaining multi-cloud setups. ExpressRoute might seem expensive, but it could be essential for large-scale data migration and ongoing operations.
If you’re comfortable with Infrastructure as Code (IaC), consider using Deployment Stack to standardise deployments. Create templates for common scenarios: web applications, databases, backend services. This brings consistency and compliance across all your migrated workloads.
Identity and access management transition
Moving from AWS IAM to Azure Entra ID isn’t just a terminology change. The whole philosophy is different. AWS thinks in terms of roles and policies attached to resources. Azure thinks about identities and their permissions across the entire platform.
So, start by mapping your AWS IAM roles to Azure RBAC roles. You’ll probably find Azure’s built-in roles cover most scenarios, but don’t hesitate to create custom roles for specific needs. Remember that Azure has management groups above subscriptions, giving you another layer of access control that AWS lacks.
Network architecture considerations
AWS VPCs and Azure Virtual Networks look similar on the surface but behave differently underneath. Azure VNets are regional constructs that can span availability zones automatically. No more managing multiple VPCs across availability zones.
Security groups work differently too. Azure Network Security Groups are separate resources that you attach to subnets or network interfaces. They’re more flexible than AWS security groups but require different thinking about traffic flow and rule management.
Don’t forget about DNS. Route 53 doesn’t exist in Azure, but Azure DNS and Private DNS zones provide similar functionality. If you’re using Route 53 for complex routing policies, you might need Azure Traffic Manager or Front Door as well.
Security and compliance setup
Azure’s security model builds on the Microsoft security stack you might already know. Microsoft Defender for Cloud provides unified security management across Azure, on-premises, and even other clouds (yes, including AWS).
You’ll also want to enable Azure Policy from the start. Unlike AWS Config, Azure Policy can actually enforce compliance, not just report on it. Create policies for your organisation’s requirements: approved VM sizes, required tags, allowed regions, encryption standards.
Set up Azure Monitor and Log Analytics workspaces. You’ll want everything logging to a central location from day one. The logs are invaluable for troubleshooting migration issues and establishing baselines for normal operation.