Production architecture case narrative

Building a Governed Azure Landing Zone for Enterprise Cloud Adoption

Enterprise Azure Landing Zone architecture for Contoso, covering platform governance, hub-spoke connectivity, hybrid DNS, private endpoints, policy-as-code, subscription vending, and production operations.

Cloud Foundation Platform Engineering

Scenario context

This technical case narrative describes a production-oriented design. It does not verify that a client engagement was completed or that project-specific results were achieved.

Starting conditions

The source describes conditions the proposed Azure foundation is intended to address. It does not provide a verified baseline from a deployed client environment.

Executive Summary

Business context — Contoso: Contoso is expanding Azure use across application and data teams. Inconsistent subscription ownership, identity boundaries, and network paths create a need for a secure, standardized cloud foundation that teams can adopt without bespoke infrastructure decisions.

As organizations expand their use of Microsoft Azure, cloud environments often grow faster than the governance model around them. Subscriptions are created independently, networking patterns diverge, access controls become inconsistent, and platform teams spend increasing amounts of time reviewing one-off infrastructure decisions.

This Contoso case narrative describes a production-oriented architecture and implementation approach for an enterprise Azure Landing Zone: a standardized cloud foundation that provides clear subscription structure, secure connectivity, identity controls, policy enforcement, observability, and Infrastructure as Code from the start.

The objective is not to create a rigid platform that blocks application teams. The objective is to establish a controlled baseline that allows teams to deploy faster without repeatedly solving identity, networking, security, monitoring, and governance problems.

Organization reference: Contoso is the organization name used throughout this technical case narrative. Architecture parameters and resource names are documented as reference values; exact tenant identifiers, IP allocations, commercial terms, and environment-specific settings are excluded. The design is not evidence of a completed client engagement or measured result.

The Challenge

Contoso’s Azure foundation is designed to address common enterprise-scale challenges:

  • Subscriptions are created without a consistent hierarchy or ownership model.
  • Networking varies between environments and applications.
  • Public endpoints are used where private connectivity would be more appropriate.
  • RBAC assignments accumulate without clear role boundaries.
  • Security and compliance controls rely on manual review.
  • Diagnostic settings and monitoring coverage differ between services.
  • Infrastructure is deployed manually or through project-specific scripts.
  • Development teams depend heavily on central cloud administrators.
  • Cost ownership is unclear.
  • New workloads take too long to onboard because each team starts from a different baseline.

Contoso needs a cloud foundation that can support both current workloads and future growth without forcing every project to design its own platform.

Objectives

The target Azure Landing Zone is designed to achieve the following:

  1. Establish a scalable Azure tenant and subscription structure.
  2. Standardize identity, security, networking, monitoring, and governance controls.
  3. Separate platform responsibilities from application responsibilities.
  4. Reduce manual configuration through Infrastructure as Code.
  5. Make new subscriptions and workload environments repeatable.
  6. Provide centralized visibility without preventing workload teams from operating independently.
  7. Support private application architectures and enterprise connectivity.
  8. Create a foundation suitable for Kubernetes, data platforms, AI workloads, and traditional applications.

Architecture Approach

Management Group and Subscription Structure

The Azure hierarchy is designed around clear policy and ownership boundaries.

The proposed structure includes:

Example
Tenant Root Group
├── Platform
│   ├── Connectivity
│   ├── Identity
│   └── Management
├── Landing Zones
│   ├── Corp
│   └── Online
├── Sandbox
└── Decommissioned

Workload subscriptions inherit controls from the appropriate management group instead of receiving manually configured governance settings one subscription at a time.

Platform subscriptions isolate shared capabilities such as connectivity, centralized monitoring, shared security services, DNS, automation, and management tooling.

Network Foundation

The connectivity model is selected according to scale and requirements. Common patterns include hub-and-spoke networking or Azure Virtual WAN.

The shared network foundation is designed around:

  • centralized ingress and egress
  • Azure Firewall
  • VPN or ExpressRoute connectivity
  • private DNS
  • Private Link and Private Endpoints
  • network security groups
  • route tables
  • DNS forwarding
  • controlled connectivity between workloads

The design avoids unnecessary public exposure and creates a predictable method for connecting applications to Azure PaaS services.

Private DNS is treated as part of the architecture rather than an afterthought, especially for services accessed through Private Endpoints.

Identity and Access

Microsoft Entra ID and Azure RBAC establish least-privilege access.

The access model defines:

  • platform administrator roles
  • workload team roles
  • reader and operational roles
  • privileged access processes
  • managed identities for workloads
  • workload identity federation for CI/CD
  • role assignments managed through code where practical

Long-lived deployment secrets are avoided when native identity federation can be used.

Governance with Azure Policy

Azure Policy provides preventive and detective controls at management-group and subscription level.

The governance baseline covers:

  • allowed regions
  • required resource tags
  • diagnostic settings
  • approved resource configurations
  • restrictions on public network access
  • encryption requirements
  • secure transport requirements
  • network controls
  • resource naming conventions where justified

Policies are organized into initiatives so the governance model remains understandable and versionable.

Monitoring and Management

The Landing Zone includes a common observability baseline.

The observability baseline covers:

  • Azure Monitor
  • Log Analytics
  • activity logs
  • resource diagnostics
  • alert rules
  • Service Health alerts
  • platform dashboards
  • Microsoft Defender for Cloud
  • centralized security findings
  • operational runbooks

Diagnostic configuration is standardized so new subscriptions and workloads do not depend on manual monitoring setup.

Infrastructure as Code

The platform design uses reusable Infrastructure as Code, with Terraform or Bicep selected according to delivery requirements.

The proposed repository organization is:

Example
platform/
  management-groups/
  policy/
  connectivity/
  identity/
  monitoring/
  subscription-vending/

landing-zones/
  corp/
  online/

modules/
  network/
  private-endpoint/
  diagnostics/
  role-assignment/
  key-vault/

Reusable modules provide a consistent implementation pattern without hiding critical platform decisions behind excessive abstraction.

CI/CD Integration

Platform changes are deployed through controlled pipelines.

flowchart TB PR["Pull request"] --> VALIDATE["Format and validate"] VALIDATE --> PLAN["Terraform plan or Bicep validation"] PLAN --> SCAN["Policy and security checks"] SCAN --> REVIEW["Peer review"] REVIEW --> MERGE["Approved merge"] MERGE --> DEPLOY["Controlled deployment"] DEPLOY --> VERIFY["Post-deployment validation"]
Infrastructure change workflow

Deployment identities use federated authentication where supported.

Implementation Sequence

1. Discovery and Current-State Assessment

Review:

  • Azure tenant structure
  • existing subscriptions
  • identity model
  • network topology
  • connectivity dependencies
  • security requirements
  • monitoring
  • deployment practices
  • existing IaC
  • regulatory or internal controls

2. Target Architecture

Define:

  • management-group hierarchy
  • subscription model
  • network topology
  • DNS strategy
  • identity boundaries
  • policy baseline
  • monitoring model
  • operational ownership
  • IaC repository structure
  • CI/CD process

3. Platform Foundation

Deploy core platform capabilities such as management groups, policies, platform subscriptions, connectivity, monitoring, and identity integrations.

4. Landing Zone Patterns

Create reusable workload patterns for common application types, such as private PaaS applications, AKS platforms, traditional VM workloads, data platforms, and AI workloads.

5. Subscription and Workload Onboarding

New subscriptions are onboarded using the standardized process rather than manually recreating controls.

6. Operational Handover

Provide architecture documentation, IaC repositories, deployment pipelines, operating procedures, troubleshooting guidance, ownership model, and platform backlog.

Production Architecture and Low-Level Implementation

The following sections describe the target design at the level required for a platform engineering team to implement, secure, validate, and operate it. Resource names, address ranges, and subscription labels are reference configuration values, not extracts from a customer's tenant. Final values are allocated through the customer's IP address management (IPAM), security approval, and change-control processes.

Scope, assumptions, and service boundaries

The landing zone covers tenant-level resource organization, shared connectivity, security guardrails, platform observability, subscription provisioning, and workload onboarding. It does not automatically make each application highly available or compliant: application teams retain responsibility for application topology, data classification, recovery objectives, backup validation, and workload-specific security.

The architecture assumes one Microsoft Entra tenant, existing corporate identity governance, private connectivity to corporate systems where justified, a primary Azure region with an optional disaster-recovery region, and dedicated platform ownership. Region selection is conditional on data residency, service availability, latency, and disaster recovery requirements. A second region is not treated as a substitute for tested failover.

Design concern Production decision Responsible owner
Tenant and management groups Centrally governed hierarchy with separate platform and workload paths Cloud platform team
Subscriptions Separate connectivity, identity and management subscriptions, with workload subscriptions by application/environment/security boundary Platform team / workload owner
Networking Regional hub-and-spoke, with controlled routes through Azure Firewall where inspection is required Network and security teams
Name resolution Centrally managed Private DNS zones and Azure DNS Private Resolver for hybrid forwarding Network/DNS team
Deployment Terraform modules with pinned provider versions and controlled CI/CD Platform engineering
Identity Entra security groups, least-privilege Azure RBAC, PIM where licensed, federated deployment identities Identity/security team
Governance Versioned Azure Policy initiatives, scoped assignments, explicit exemption process Governance/security team
Observability Activity logs, resource diagnostics, platform alert rules, security telemetry, incident routing Cloud operations/SOC
Cost Budgets, ownership tags, cost export/attribution, periodic review FinOps and workload owners

1. Organization and subscription design

A dedicated intermediate root management group (contoso) provides the policy inheritance boundary beneath the tenant root. The hierarchy distinguishes shared platform services from application landing zones; it is not organized by individual application or Azure region.

flowchart TD ROOT["Tenant Root Group"] --> CONTOSO["contoso"] CONTOSO --> PLATFORM["platform"] PLATFORM --> CONNECT["connectivity · sub-contoso-connectivity-prod"] PLATFORM --> IDENTITY["identity · sub-contoso-identity-prod"] PLATFORM --> MGMT["management · sub-contoso-management-prod"] CONTOSO --> LZ["landing-zones"] LZ --> CORP["corp · private or hybrid workloads"] LZ --> ONLINE["online · internet-facing workloads"] CONTOSO --> SANDBOX["sandbox · controlled experimentation"] CONTOSO --> DECOM["decommissioned · restricted lifecycle stage"]
Example tenant and subscription hierarchy

The corp and online categories represent different connectivity and policy requirements, not levels of trust. Production and nonproduction workloads can use distinct subscriptions within the appropriate management group. Subscription naming is standardized; the globally unique subscription ID, rather than the display name, remains the stable automation key.

Platform subscription partition: The connectivity subscription hosts regional hubs, Azure Firewall, gateways, DNS resolver and private DNS zones. The management subscription hosts centralized telemetry and operational automation. The identity subscription is reserved for Azure resources with an identity-platform function; Microsoft Entra ID itself remains a tenant-level service and is not deployed inside this subscription.

Subscription vending contract: Each request carries a workload identifier, business owner, technical owner, cost center, environment, data classification, approved region, connectivity class, and requested address capacity. The pipeline checks uniqueness and approvals, records the subscription ID, assigns it to the correct management group, applies RBAC and mandatory policies, configures budgets and diagnostics, and optionally creates a spoke VNet and peering. If commercial enrollment does not permit programmatic subscription creation, subscription creation is an approved manual step and remaining configuration remains automated.

A request is not complete when the subscription exists; it is complete when policy compliance, diagnostic forwarding, access assignments, networking, and budget notifications have been validated and documented.

2. Regional hub-and-spoke network

Reference address plan (illustrative configuration, subject to IPAM approval):

Network CIDR Purpose
Primary-region hub 10.64.0.0/20 Shared connectivity, firewall, DNS and gateways
Primary-region application spoke 10.64.32.0/21 Production application services
Primary-region data spoke 10.64.40.0/22 Data-intensive or separately managed workloads
Primary-region nonproduction spoke 10.64.48.0/21 Nonproduction workloads
Secondary-region hub 10.80.0.0/20 Regional connectivity and potential recovery
Secondary-region recovery spoke 10.80.32.0/21 Recovery-capable workload footprint

These prefixes must not overlap with on-premises networks, acquisition networks, VPN partners, other VNets, or reserved future allocations. Route summarization is considered when allocating prefixes; exact CIDRs are managed in IPAM, not manually selected from this article.

A primary hub VNet can reserve AzureFirewallSubnet (/26 or larger), GatewaySubnet (sized for gateway requirements), and dedicated Azure DNS Private Resolver inbound/outbound subnets meeting the service's delegation and sizing requirements. Other subnets are reserved only when a corresponding service has been approved. Azure Firewall is deployed with the policy and SKU selected to match inspection, threat intelligence, TLS inspection and availability requirements; TLS inspection is not enabled by default without certificate and data-handling review.

Traffic flows and enforcement:

  1. Spoke to internet: For workloads requiring centralized egress inspection, a route table sends 0.0.0.0/0 toward Azure Firewall's private IP. Firewall Policy governs application/network rules and outbound destinations. Required platform exceptions and asymmetric routes are reviewed explicitly.
  2. Spoke to on-premises: Approved prefixes transit through a VPN/ExpressRoute gateway and designated hub path. Effective routes and return paths are validated; routing choices are adjusted for gateway transit and any forced tunneling requirements.
  3. Spoke to spoke: VNet peering alone does not provide transitive routing. Connectivity is either explicitly authorized, inspected via the hub, or denied. The design must include matching route tables and firewall policies, not merely peering links.
  4. On-premises to private application: The route must reach the intended private IP, DNS must resolve the correct private address, and NSG/firewall/application controls must all permit the flow. A Private Endpoint does not by itself authorize users or encrypt an application-layer session.
  5. PaaS private access: Private Endpoints are created in approved workload subnets, with corresponding service-specific private DNS zone groups. Public network access is disabled only after private access and break-glass operational procedures have been tested.

Peering settings such as allowForwardedTraffic, gateway transit, and remote gateway use are configured intentionally and checked for compatibility. Spoke peering is not treated as an implicit security boundary; network security groups, routes, firewall policy and service-level access controls remain necessary.

Private Endpoint routing nuance: If inspection of traffic to a private endpoint is required, the design must account for private endpoint network policies and the effective route behavior for the subnet and prefix. A blanket /0 user-defined route does not, by itself, guarantee that all private endpoint traffic passes through a firewall. Effective routes, DNS answers and observed traffic must be tested per workload.

Contoso uses private DNS zones owned by the platform team so different workload teams do not create conflicting zones for the same Azure service. Common zones include:

Example
privatelink.blob.core.windows.net
privatelink.file.core.windows.net
privatelink.database.windows.net
privatelink.vaultcore.azure.net
privatelink.azurecr.io

For a hub-based hybrid architecture, Azure DNS Private Resolver supplies an inbound endpoint for queries forwarded from on-premises DNS and an outbound endpoint for approved forwarding to on-premises DNS. DNS forwarding rulesets are linked to appropriate spoke VNets. Private DNS zone links or a resolver-based forwarding strategy are selected deliberately; the same private namespace must not be resolved by inconsistent, competing designs.

Example: access to an Azure SQL Database private endpoint

flowchart TB APP["Application VM or App Service VNet integration"] --> QUERY["Query server.database.windows.net"] QUERY --> CNAME["DNS CNAME chain to privatelink.database.windows.net"] CNAME --> DNS["Governed private zone and resolver path"] DNS --> PE["Private endpoint IP in approved spoke subnet"] PE --> NET["TCP 1433 subject to routes and NSGs"] NET --> AUTH["Azure SQL authentication and SQL permissions"]
Private Azure SQL name resolution and connection path

The actual SQL hostname, private IP, DNS records, and service endpoints are provisioned and validated through IaC. Private DNS record and zone-group ownership are explicitly assigned; manual A-record patches are not an acceptable permanent fix.

DNS test cases: Query from a production spoke, nonproduction spoke, connected on-premises DNS client and deployment runner (if it uses private services). Compare the resolved private IP with the endpoint NIC, then test transport connectivity and application authentication. Also check what happens when resolver forwarding or the hybrid link is unavailable; failures should be visible in alerting and runbooks.

4. Identity, access control and privileged operations

Azure RBAC assignments are made to Entra security groups rather than individual user accounts, with distinct groups for platform operations, connectivity, security readers, workload operators and billing visibility. Azure RBAC access is scoped to the narrowest practical management group, subscription or resource group. Built-in roles are preferred; custom roles are introduced only when approved operations cannot be covered safely by built-in roles.

Principal Typical scope Control
Platform deployment identity Platform management groups/subscriptions Dedicated federated identity, restricted permissions, approval-gated pipeline
Connectivity operators Connectivity subscription/resource groups Network management role only where needed
Security operations Selected management-group/subscription scopes Security Reader/appropriate Defender permissions
Workload deployment identity Specific workload subscription or resource groups Federation and workload-limited access
Application support group Application resource groups Limited operational role; no automatic policy exemptions
Emergency administration Documented emergency path Strong authentication, auditing, periodic access review

Privileged Identity Management (PIM), if available under Contoso's licenses, provides eligible just-in-time role activation for sensitive human roles. Conditional Access, multifactor authentication and identity governance remain tenant-wide security dependencies. Managed identities are preferred for Azure-hosted workloads; federated workload identity is preferred for supported external CI/CD. Long-lived service-principal client secrets are not used as the default deployment mechanism.

Bootstrap separation: Creating management groups, baseline role assignments, federated identities and Terraform backend infrastructure requires a documented bootstrap identity and approvals. The bootstrap process is separated from normal pipeline operations; it does not leave unrestricted tenant permissions embedded in ordinary CI/CD jobs.

5. Policy-as-code baseline and exception control

Azure Policy is applied as version-controlled initiatives at the lowest reusable management-group scope. Deny, Audit, Modify, and DeployIfNotExists are assigned according to resource support, operational impact, and remediation requirements; audit findings are not described as preventive controls.

Policy control Candidate effect Deployment consideration
Allowed deployment locations Deny, with documented exclusions Check service-specific/global resource behaviors
Mandatory cost, owner and workload tags Modify/Deny where supported Use remediation managed identity and avoid unsupported inheritance assumptions
Diagnostic settings DeployIfNotExists/Audit Verify supported log categories, destinations, retention and remediation permissions
Public network access on selected PaaS Deny/Audit Introduce after private endpoint connectivity is operational
Storage secure transfer and minimum TLS Deny/Audit Service compatibility and service-specific settings
Managed disk encryption controls Audit/Deny Confirm policy definition, encryption model, and key lifecycle
Defender coverage Policy/plan configuration with monitoring Licensing and scope approval required
Resource consistency Audit/Modify where valid Naming standards are not universally enforceable by generic Azure Policy

A production rollout first evaluates the compliance impact on existing resources, then uses a defined remediation window, and finally enables preventive effects where approved. Policy exemptions require a ticket, owner, exact scope, justification, compensating control, and expiration. Permanent broad exemptions at tenant scope are prohibited by process. Policy definition/initiative versions are pinned and promoted through review; built-in definition updates are tested for changed behavior.

Policy release procedure: Export pre-change compliance results; deploy to a controlled scope; inspect deny/remediation outcomes and access failures; apply to production at an approved change window; capture deployment IDs and new compliance state. Rollback consists of restoring the prior assignment/initiative version or effect and remediating impacted resources—not simply reverting a Git commit and assuming Azure resources have reverted.

6. Terraform implementation and state management

The source structure separates high-privilege platform concerns from workload subscription onboarding and application modules. A module is independently versioned; environment roots hold the state boundary and approved input values.

Example
infra/
  bootstrap/                  # state storage, federation, minimal deployment identities
  platform/
    management-groups/
    policy/
    connectivity/
      primary/
      secondary/
    dns/
    management/
  subscription-vending/
    requests/
    deployment/
  landing-zones/
    corp/
    online/
  modules/
    network-hub/
    spoke-network/
    private-endpoint/
    diagnostic-settings/
    role-assignment/
    subscription-baseline/
  policies/
    definitions/
    initiatives/
    assignments/
  pipelines/
  docs/
    adr/
    operations/
    validation/

State architecture: Each root uses a separate remotely stored Terraform state key in a secured Azure Storage account, with backend access authenticated via Entra ID and RBAC. Blob versioning/soft delete, state locking, storage firewall/private connectivity, encryption, access auditing and recovery procedures are configured according to security requirements. Terraform state may include sensitive data despite sensitive = true on outputs; state storage is treated as privileged material. A backup strategy is tested with a nonproduction restore, and state migrations use reviewed moved blocks/import plans where appropriate.

Sample backend configuration (placeholders, not actual tenant values):

Terraform / HCL
terraform {
  required_version = ">= 1.8.0"
  backend "azurerm" {
    resource_group_name  = "rg-contoso-tfstate-prod"
    storage_account_name = "<approved-unique-state-account>"
    container_name       = "tfstate"
    key                  = "platform/connectivity/primary.tfstate"
    use_azuread_auth     = true
  }
}

Provider and Terraform versions are constrained and the generated lockfile is checked into source control. Workspaces are not used as the sole isolation mechanism between production and nonproduction where distinct access controls, lifecycle ownership and state recovery are needed.

Practical deployment sequence:

  1. Provision the state backend and federated pipeline identities through an approved bootstrap run.
  2. Create the intermediate management-group hierarchy and baseline roles.
  3. Deploy shared observability and policy assignments in audit mode where required.
  4. Allocate hub/spoke CIDRs in IPAM and deploy regional connectivity, gateways and firewall policy.
  5. Configure Private DNS zones, resolver endpoints, forwarding rules and hybrid DNS validation.
  6. Promote selected policies to deny/remediation after compatibility and connectivity tests.
  7. Enable subscription vending and onboard an initial production workload under change control.
  8. Transfer platform ownership with runbooks, dashboards, source repositories and break-glass procedures.

7. CI/CD security and release control

Pull requests run formatting, terraform validate, static security analysis, custom policy checks and a read-only plan. A trusted deployment identity is used only in authorized environments. Production apply requires protected branch rules, reviewed plan output, separation of duties where required, and environment approval. Plan files are access-controlled artifacts because they can contain sensitive values.

flowchart TB BRANCH["Feature branch"] --> PR["Pull request"] PR --> CHECKS["Format, validation, and static checks"] CHECKS --> PLAN["Scoped Terraform plan"] PLAN --> REVIEW["Reviewer and security review"] REVIEW --> MERGE["Merge to protected branch"] MERGE --> APPROVE["Production approval gate"] APPROVE --> APPLY["Controlled Terraform apply"] APPLY --> TEST["Technical tests and evidence capture"] TEST --> RECORD["Release and incident record"]
Protected infrastructure release path

GitHub Actions or Azure DevOps uses an OIDC federated credential bound to the approved repository, branch/environment and identity configuration. CI/CD permissions are separated for plan and apply when feasible. Terraform plan output is reviewed for replacements and deletions, especially firewall, gateway, DNS and policy changes. An unsuccessful apply triggers investigation and a new reconciled plan; a blanket automatic retry or destructive rollback is not appropriate for shared infrastructure.

8. Monitoring, security telemetry and incident operations

Azure Activity Logs are forwarded for subscription-level control-plane visibility. Diagnostic settings on supported platform services forward selected categories to Log Analytics and, where specified, an Event Hub or storage archive for SOC integration/retention. Azure Monitor alerts include actionable thresholds, owner routing, severity, and a documented suppression/escalation procedure. Monitoring design distinguishes platform availability from application service-level objectives.

Operational signal Required handling
Firewall health, throughput, and denied traffic Baseline dashboards, alert on material failures, investigate rule changes
VPN/ExpressRoute connectivity and BGP state Incident alert to network operations; route/failover runbook
DNS resolver health and private resolution failures Endpoint/zone checks and hybrid DNS investigation
Policy compliance drift Scheduled reports; ticket owner and remediation deadline
Privileged role activation and RBAC changes Audit trails; security review for unexpected changes
Azure Service Health and Resource Health Subscription/service-scoped alerts routed to operations
Unexpected spend and resource growth Budget notifications and cost investigation; budgets do not automatically stop spend
Terraform apply failures and drift Pipeline alerts; targeted reconciliation and change review

Log ingestion and retention are costed explicitly. Data collection rules, workspace access, diagnostic categories, retention periods, regional restrictions, and any cross-region aggregation are selected by regulatory and operational requirements rather than assumed uniform across all services.

Operational procedures: The handover package includes firewall change workflow, DNS zone change workflow, policy exemption approval, failed subscription onboarding recovery, Terraform state lock investigation, privileged access review, certificate/secret rotation, and disaster recovery decisions. Each procedure states an owner, prerequisites, escalation path, rollback conditions, and validation evidence.

9. Subscription vending and onboarding workflow

A workload onboarding request includes a schema-validated record such as the following. The values are examples of a request interface, not production records.

YAML
workload_id: orders-api
business_owner: business-unit-a
technical_owner: application-platform-team
environment: prod
management_group: corp
region: canadacentral
connectivity: hub-spoke
network_cidr: 10.64.32.0/21
cost_center: CC-0000
data_classification: confidential
public_ingress: false

After approval, the onboarding pipeline checks the CIDR against IPAM and live peering inventory, creates or configures the subscription, assigns it to the approved management group, installs group-based RBAC and policies, registers needed resource providers, applies diagnostic/budget settings, creates the spoke VNet if requested, provisions two-way peering and corresponding route tables, and runs network/DNS tests. Re-running the pipeline should converge on the desired configuration instead of producing duplicates.

The handover includes subscription ID, management-group path, access-group identifiers, resource inventory, assigned CIDR, route tables, DNS resolution results, applied policy set, diagnostics status, budget owner, and support contacts. Application teams should not receive broad permissions to change centrally owned firewall policy, shared DNS zones or management-group assignments.

10. Availability, disaster recovery and change safety

Production design begins with documented recovery time objective (RTO) and recovery point objective (RPO) per workload and shared service. Availability Zones are used only for services and regions that support them; zone resilience is not the same as geographic recovery. Secondary-region network components are deployed when justified by recovery architecture, service dependencies and budget.

For the shared foundation, recovery planning covers Azure Firewall/gateway service resiliency, DNS resolution, configuration recovery from source control, state backend recovery, management workspace availability, and hybrid circuit failure. The platform team tests infrastructure redeployment or recovery procedures; application data restoration and transactional consistency remain application-specific responsibilities.

Change-risk controls: No uncontrolled deletion or replacement of a production hub, gateway, shared DNS resolver, firewall policy or root policy assignment. Changes with potential connectivity impact require a documented maintenance plan, dependency mapping, communication window, post-change test and rollback path. For Terraform resources whose replacement is particularly destructive, prevent_destroy may be applied selectively, while recognizing that it is not a substitute for approvals or backups.

11. Production verification and acceptance criteria

A completed infrastructure deployment is not sufficient evidence of operational readiness. The following tests should be captured in the commissioning record with command output, timestamps, environment IDs, accountable approvers and any open exceptions.

Acceptance area Verification evidence Exit requirement
Management groups Management-group tree, subscription placement and inheritance reports Correct scope and approved inheritance
Identity/RBAC Role assignment export, PIM settings where used, access tests Least privilege and documented emergency access
Hub-spoke connectivity Peering state, effective routes, firewall logs, on-premises tests Authorized paths work; unauthorized paths are blocked
Private DNS Name resolution from spokes and on-premises to known private endpoints Responses match expected endpoint IPs; no unresolved split-horizon defects
Private PaaS Application-level connectivity, public access checks, auth tests Approved private path functions and inappropriate public access is blocked
Governance Compliance scans, selected deny tests, remediation jobs Mandatory controls active and exceptions recorded
Observability Sample Activity/diagnostic events and action-group test Signals arrive and incidents route to accountable operators
IaC Reviewed plan, successful apply, clean re-plan, state recovery test Reproducible configuration and documented state recovery
Subscription onboarding Request-to-handover test, repeated run, failure recovery Repeatable workflow with owner, cost and governance metadata
Operations Runbook walkthroughs, incident/change simulation Support team accepts ownership and outstanding risks

The final sign-off should enumerate known deviations, business acceptance of residual risks, the managed-service boundary, and an agreed backlog. No deployment duration, cost savings, compliance percentage or reliability improvement should be published without actual measurements and customer authorization.

12. Implementation risks and design trade-offs

  • Central hub vs. Virtual WAN: Hub-and-spoke offers direct configuration ownership and fits many regional designs; Virtual WAN may be preferable for large-scale branch, region or connectivity requirements. The choice depends on connectivity counts, operational capabilities, feature requirements and cost modeling.
  • Centralized firewall vs. workload-level controls: Egress inspection adds cost, routing complexity and operational dependencies. Not every service flow is meaningfully secured by hairpinning it through a hub.
  • Mandatory private endpoints: Strong private-access patterns increase DNS and operational complexity; implementation must validate management/deployment access before disabling public endpoints.
  • Strict deny policies: Premature Deny effects can block existing deployment pipelines and managed-service operations. Policy lifecycle needs staged adoption and controlled exceptions.
  • Shared Log Analytics workspace: Central visibility simplifies operations but requires attention to permissions, regional log residency, ingestion costs and retention requirements.
  • Subscription-per-workload: Strong boundaries aid cost and ownership, but too many subscriptions without vending, naming and lifecycle automation increase administrative overhead.

Delivery Evidence and Documentation Standard

For publication as a verified client delivery, the case record should be supported by redacted architecture decision records, approved diagrams, implementation change records, deployment logs, policy compliance exports, commissioning test results, and client-approved outcome statements. Contoso is the organization name used for this reference narrative; the name alone does not establish that the described implementation occurred. This technical description should therefore be used as a production architecture case narrative unless project evidence is available to substantiate completion and results.

Project Deliverables

The proposed delivery scope includes:

  • Azure Landing Zone architecture
  • management-group hierarchy
  • subscription design
  • hub-and-spoke or Virtual WAN network design
  • private connectivity and DNS patterns
  • identity and RBAC model
  • Azure Policy baseline
  • centralized monitoring architecture
  • Infrastructure as Code
  • CI/CD deployment pipelines
  • architecture decision records
  • operational documentation
  • workload onboarding patterns
Evidence note: This page describes a production-oriented design. It is not evidence that the design was deployed for a client, and it reports no measured client results.

Expected Architectural Outcomes

The proposed design integrates governance and engineering standards into the cloud foundation instead of applying controls manually after deployment.

For Contoso, this establishes a consistent deployment model for application teams while retaining centralized management of identity, networking, security, policy, monitoring, and cost controls.

The architecture also supports future initiatives such as application modernization, AKS adoption, platform engineering, data platforms, secure Azure AI deployments, and multi-environment application delivery. These are intended architectural capabilities, not reported performance measurements.

Before and After Implementation: Operational Improvement Comparison

The comparison below maps Contoso's baseline challenges to the intended operating state after implementing the specified Azure Landing Zone. The “after” column describes target capabilities and expected improvements, not independently verified results or measured customer KPIs.

Dimension Before implementation: fragmented Azure environment After implementation: target Azure Landing Zone Business or operational benefit
Subscription governance Subscriptions provisioned through ad hoc requests with inconsistent ownership and organization Management-group hierarchy, standardized subscription vending, designated owners and inherited guardrails More consistent onboarding and clearer accountability
Environment provisioning Teams manually recreate resource groups, network patterns and control settings Versioned Terraform modules and approved CI/CD workflows provision repeatable environments Less configuration drift and reduced manual setup effort
Network topology Application networks and routing defined independently across projects Regional hub-and-spoke architecture with documented ingress, egress, UDRs and shared connectivity services Predictable routing and simpler network operations
PaaS exposure and DNS Public endpoints and one-off DNS workarounds used where private access is required Private Endpoints, centrally governed private DNS zones and forwarding through Azure DNS Private Resolver Reduced reliance on public service exposure and more reliable name resolution
Identity and privileged access Broad or persistent RBAC assignments and inconsistent operational permissions Group-based least-privilege RBAC, eligible privileged roles through PIM and managed identities Reduced standing privilege and clearer access review boundaries
Policy compliance Security and resource standards checked manually or applied unevenly Version-controlled Azure Policy initiatives, scoped enforcement, exemptions and remediation processes Earlier detection/prevention of noncompliant configurations
Change management Portal changes or local scripts with incomplete approval and rollback records Pull-request review, automated validation and plan checks, deployment approvals and documented rollback procedures Traceable and more controlled infrastructure changes
Monitoring and diagnostics Diagnostic settings and alerts vary by service and subscription Standardized Azure Monitor, Log Analytics, activity-log exports, alert routing and operational runbooks More consistent telemetry and incident triage
Security operations Findings reviewed across disconnected dashboards and accounts Defender for Cloud recommendations, centrally routed alerts and defined incident ownership Better visibility of security posture and triage responsibilities
Cost attribution Inconsistent tags, budget ownership and cross-team chargeback visibility Mandatory ownership/cost tags, subscription-level budgets, alerts and periodic cost reviews Clearer cost accountability and easier financial governance
Workload onboarding Each application team negotiates baseline infrastructure and exceptions individually Documented workload patterns, standard subscription requests and defined exception workflows More predictable application onboarding
Disaster recovery and resilience Backup and recovery responsibilities differ between projects Documented service recovery objectives, backup/restore ownership and planned recovery testing Clearer resilience expectations and recovery readiness
Operating model Platform and workload support duties are ambiguous Defined RACI, architecture decision records, service runbooks and operational handover Fewer ownership gaps and more sustainable platform support

How to substantiate the improvements: For a customer-approved case study, capture before/after metrics such as median subscription provisioning lead time, percentage of subscriptions covered by required policies, percentage of critical resources with diagnostics enabled, number of standing privileged assignments, and change failure rate. Report numeric improvements only when the baseline, observation period and post-deployment evidence are available; otherwise retain the qualitative comparisons above.

Why the Design Is Operationally Sustainable

The platform team owns the guardrails.

Workload teams own their applications.

Infrastructure as Code makes the model repeatable.

Policy and identity make the controls enforceable.

Centralized monitoring makes the environment operable.

The design provides more than an Azure environment: it establishes an operating model for enterprise cloud adoption.

Technologies

Microsoft Azure · Azure Landing Zones · Terraform · Azure Policy · Microsoft Entra ID · Azure RBAC · Azure Firewall · Private Link · Private DNS · Azure Monitor · Log Analytics · Microsoft Defender for Cloud · GitHub Actions / Azure DevOps

Next step

Discuss a similar Cloud Foundation challenge.

Share your current architecture, constraints and desired next step. Tongtech can help determine whether a focused review or implementation engagement fits.

Book an Architecture Review