BACK

Consolidating a Fragmented Multi-Region Azure Estate onto a Governed AWS Landing Zone for an AI-Native SaaS Company

The client's Azure estate spanned six regions and ten business units under one subscription, with no account isolation, no org-wide security monitoring, and 48 overlapping VNets. This blocked consistent security controls and left customer-facing engagements exposed to uneven risk.
The client is an AI-native technology company building autonomous, agentic AI products across multiple business units. Aivar Innovations designed and executed the consolidation of the client's six-region Azure estate onto a single, governed AWS multi-account Landing Zone — delivering consistent security guardrails, organisation-wide threat detection, and a structured migration of over 70 Azure workloads within a six-week programme.
partner-aws

Proposed Solution

Aivar designed and delivered an AWS Control Tower Landing Zone, executed a structured six-week three-wave migration of the full in-scope Azure estate, and established organisation-wide security and observability controls across every account and region.

Governance and Account Structure

AWS Control Tower governs a multi-account Landing Zone with a defined OU structure separating Security, Infrastructure, Workloads, Sandbox, and Suspended accounts. Service Control Policies enforce baseline guardrails across every account — preventing disabling of security services, restricting resource creation to allowed regions, and enforcing MFA. AWS Budgets and billing alarms are configured per account.

Identity and Access

AWS IAM Identity Center is federated with the client's existing Microsoft Entra ID tenant through SAML 2.0 and SCIM-based lifecycle provisioning, replacing local IAM users across the entire Landing Zone. Six permission sets — Read-Only, Power User, Network Admin, Security Admin, Billing Admin, and Break-Glass — cover every required access pattern. IAM Roles for Service Accounts provide pod-level least-privilege for all EKS workloads; EC2 Instance Profiles serve the same purpose for rehosted virtual machines. No long-lived IAM user access keys exist anywhere in the Landing Zone.

Network Architecture

Two production VPCs — one in ap-south-1 and one in us-east-2 — each spanning three Availability Zones and connected through regional Transit Gateways in a hub-and-spoke topology. Public, private, and isolated database subnet tiers separate internet-facing, application, and database resources. Interface and Gateway VPC Endpoints keep traffic to ECR, Secrets Manager, KMS, STS, SSM, CloudWatch Logs, S3, and DynamoDB off the public internet. AWS WAF is deployed on every public Application Load Balancer.

Migration Execution

The in-scope Azure estate — four AKS clusters, fourteen virtual machines, seventeen App Services, twelve managed databases, three Databricks workspaces, and associated storage and networking resources — was migrated across three waves using the 6R framework. AKS clusters were replatformed to Amazon EKS to preserve the containerised operating model and gain IRSA. Virtual machines without a managed-service equivalent were rehosted via AWS Application Migration Service. Azure Function Apps were refactored to AWS Lambda. Databases were replatformed to Amazon RDS using AWS DMS with full-load and CDC replication.

Security and Observability

AWS KMS customer-managed keys, AWS Secrets Manager, GuardDuty, Security Hub, Inspector, Detective, Config, and organisation-wide CloudTrail converge findings and audit data in the Audit and Log Archive accounts. S3 Object Lock protects the central log bucket from modification. IAM Access Analyzer surfaces unintended external access across every account.

TCO Analysis Performed

As part of discovery, Aivar performed a Total Cost of Ownership (TCO) analysis comparing the client's Azure footprint against the proposed AWS architecture, validating the migration business case ahead of programme kickoff.

Outcomes

  • Migration Completeness: Every in-scope workload confirmed running entirely on AWS for at least 72 consecutive hours with zero unresolved critical or high Security Hub findings at programme exit.
  • Security Control Coverage: GuardDuty, Config, and organisation-wide CloudTrail active in every account and region; zero unresolved critical or high Security Hub findings at programme sign-off; aggregated scoring across GuardDuty, Inspector, and IAM Access Analyzer in place.
  • Identity Consolidation: 100% of AWS access federated through the client's Microsoft Entra ID; no local IAM users in any Landing Zone account; all EKS workloads using IRSA with no static credentials./
  • Network Simplification: 48 Azure virtual networks consolidated into 2 production VPCs; 29 Azure load balancers consolidated into 5 Application Load Balancers; all VPC Endpoint traffic keeping service access off the public internet.
Estimated AWS ARR: Approximately USD 240,175 per year based on the deployed resource footprint across two regions.

Lessons Learned

1. Kubernetes Manifest Conversion Complexity: Converting Azure-specific Kubernetes manifests — storage classes, ingress annotations, container registry references, and Azure Workload Identity bindings — to their Amazon EKS equivalents took longer than initially scoped. Identity-binding conversion to IRSA required per-application validation rather than a single reusable pattern. A dedicated manifest-conversion and smoke-test checkpoint has been introduced earlier in the wave-planning process for future container migrations.

2. Orphaned Resource Discovery: Discovery surfaced several orphaned resources — duplicate proof-of-concept applications and unused App Service Plans — being paid for without providing value. An explicit retire-candidate review step has been incorporated into Aivar's discovery checklist ahead of cost modelling for all future engagements.

3. Wave Sequencing Value: Migrating non-production workloads in Wave 1 before pre-production and production proved critical for surfacing unexpected dependencies and validating runbooks before any production cutover. This phased sequencing is now a mandatory element of Aivar's migration methodology.

Improvement Actions

  • Introduce a dedicated manifest-conversion and smoke-test checkpoint in the first week of any future container migration wave, rather than treating it as a same-week activity alongside the cutover.
  • Add an explicit orphaned-resource and retire-candidate review to the discovery checklist for all future engagements, with findings incorporated into the initial cost model.
  • Deliver Reserved Instance and Savings Plan commitment recommendations for all migration customers once usage patterns have stabilised post-migration, targeting consistent cost optimisation across the Landing Zone.
  • Establish 30/60/90-day post-migration health checks covering Security Hub score, GuardDuty finding trends, IAM Access Analyzer alerts, and per-account cost versus budget, feeding into a continuous improvement cycle.

Explore Other Case Studies