← Building a Fleet-Scale Azure Platform
06 / 09 Technical field note

What Gets Deployed in a Customer Azure Environment - and Why

A transparent guide to the small, governed foundation deployed into customer subscriptions and the responsibilities of each component.

Azure GovernanceCustomer ArchitectureAzure PolicyEvent Grid

When customers ask what our governance and monitoring platform deploys into their Azure environment, the best answer is transparency.

Modern cloud governance cannot rely on one-time setup, manual policy checks, or periodic spreadsheets. At enterprise scale, subscriptions change constantly. Resources are created, updated, moved, deleted, reconfigured, and sometimes drift away from approved standards. To manage that safely, a governance platform needs a small set of foundation components, clear policy automation, reliable monitoring onboarding, and an idempotent operating model.

This article explains what gets deployed, when it gets deployed, why each component exists, and how the platform avoids duplicate work or unsafe changes.

The Deployment Model

The platform uses two primary automation paths:

  1. Subscription onboarding
  2. Policy automation, including both Azure Monitor Agent and non-Azure Monitor Agent controls

Both paths use the same foundation validation process. Before the platform applies policy or monitoring changes, it verifies that the subscription is ready, the required Azure resource providers are registered, and the current resource inventory is known.

This makes the process repeatable, auditable, and safe to run more than once.

What Gets Deployed

The exact deployment depends on which controls are enabled for a subscription. Some components are part of the baseline onboarding process. Others are deployed only when a specific policy or monitoring workflow requires them.

ComponentDeployed WhenWhy It Exists
Event Grid subscriptionDuring onboarding and foundation validationCaptures Azure resource change events so automation can respond quickly to configuration drift.
Required Azure resource providersDuring onboarding and foundation validationEnsures Azure services required by policy, monitoring, identity, and remediation workflows are available.
Resource inventory snapshotDuring onboarding and foundation validationBuilds a current metadata-only view of resources so applicable controls can be evaluated.
Subscription onboarding tagsWhen foundation validation completesProvides visible subscription-level readiness state, ownership, version, and audit metadata.
Monitoring resource groupFor monitoring-enabled workflowsProvides a consistent location for monitoring-related artifacts such as identities and data collection resources.
Non-AMA policy assignmentWhen a non-AMA policy request is createdEnforces governance requirements for targeted resource types or configuration controls.
Non-AMA remediation taskAfter the policy assignment is createdApplies policy remediation to existing non-compliant resources, not only future resources.
Azure Monitor Agent managed identityAMA workflow onlyProvides managed identity context for deploying or associating monitoring components.
AMA policy managed identityAMA workflow onlySupports policy assignment and remediation operations that require identity-backed execution.
Data Collection RulesAMA workflow onlyDefines Windows and Linux telemetry collection rules for monitored workloads.
AMA policy assignmentsAMA workflow onlyDeploys Azure Monitor Agent and associates workloads with the correct Data Collection Rules at scale.
AMA remediation tasksAMA workflow onlyApplies AMA deployment and DCR association to existing in-scope compute resources.
RBAC role assignments for monitoring identitiesAMA workflow onlyGrants the minimum permissions required for policy-driven monitoring deployment and association.

Sanitized Example Naming

In a production platform, resource names usually follow a strict naming convention. For a sanitized reference model, the components may look like this:

Resource TypeExample Sanitized Name
Event Grid subscriptionfg-resource-change-
Monitoring resource grouprg-fleet-governance-mgmt
AMA managed identityid-fg-ama-agent-
AMA policy identityid-fg-ama-policy-
Windows Data Collection Ruledcr-fg-windows-
Linux Data Collection Ruledcr-fg-linux-
Windows AMA policy assignmentpa-fg-ama-windows-
Linux AMA policy assignmentpa-fg-ama-linux-
Onboarding tagsfg-onboarding-*

The specific prefix is not important. What matters is that names are predictable, scoped, and easy to audit.

What Is Always Required

A small set of foundation components is required for every onboarded subscription.

Event Grid Subscription

The Event Grid subscription is used to detect resource changes at subscription scope. This allows the platform to react to resource create, update, and delete events without waiting for a long polling cycle.

Without eventing, drift detection becomes slower and less consistent. With eventing, the platform can identify changes closer to the time they happen and determine whether policy or monitoring actions are required.

Required Resource Providers

Azure resource providers must be registered before certain services can be deployed or managed. If a required provider is missing, policy assignment, remediation, monitoring, identity, or resource discovery operations may fail.

The onboarding process validates and registers required providers so later automation does not fail for preventable reasons.

Resource Inventory Snapshot

The platform collects a metadata-only inventory of resources in the subscription. This inventory helps determine which controls are applicable, which resources may require remediation, and whether the subscription is in a known state.

The inventory is designed for operational decision-making. Sensitive payloads, secrets, and customer data are intentionally avoided.

Subscription Onboarding State

The platform writes onboarding state to subscription-level tags. These tags provide visible, auditable metadata that operators and customers can inspect directly in Azure.

Typical sanitized tags include:

fg-onboarding-status
fg-onboarding-version
fg-onboarding-ready-at
fg-onboarding-customer-id
fg-onboarding-managed-by

These tags help answer questions such as:

  • Has this subscription completed foundation onboarding?
  • Which version of onboarding was applied?
  • When was the subscription marked ready?
  • Which customer or account context owns this subscription?
  • Which platform or automation process manages it?

What Is Conditional

Not every subscription receives every component. The platform deploys additional resources only when the requested control requires them.

Non-AMA Policy Controls

For standard governance policies, the platform creates a policy assignment and then starts a remediation task when appropriate.

The policy assignment defines the desired configuration. The remediation task applies that desired state to existing resources that are already non-compliant.

This distinction is important. A policy assignment alone helps govern future changes, but remediation is what brings existing resources into alignment.

AMA Monitoring Controls

Azure Monitor Agent onboarding requires multiple components working together:

  • Managed identity
  • Data Collection Rules
  • Policy assignments
  • Remediation tasks
  • RBAC role assignments

The identity provides execution context. The Data Collection Rules define what telemetry should be collected. The policy assignments deploy or associate the agent and DCRs at scale. Remediation applies the configuration to existing in-scope resources.

This workflow is only triggered when monitoring onboarding is requested for the subscription.

Why Eventing Matters

At small scale, it may be acceptable to scan subscriptions periodically. At enterprise scale, that approach introduces delays and blind spots.

Event Grid gives the platform a near real-time signal when resources change. When a resource is created, updated, or deleted, the platform can evaluate whether that change affects governance, monitoring, or drift state.

This does not mean every event results in a deployment. Instead, events trigger evaluation. The platform determines whether action is required based on subscription state, applicable controls, policy scope, and current resource metadata.

Foundation Readiness and Safety

Before the platform applies policy or monitoring changes, it validates the subscription foundation.

This foundation validation reduces deployment failures and prevents unnecessary repeated work. It confirms that required providers are available, resource inventory has been captured, onboarding tags are present, and the subscription is in a known state.

The goal is not simply to deploy resources. The goal is to deploy the right resources only when the subscription is ready.

Idempotency and Concurrency

Cloud automation must assume that events can arrive more than once. A resource may generate multiple change events. A subscription may receive overlapping policy requests. A worker may stop unexpectedly during processing.

The platform is designed for this reality.

For subscription onboarding, a lock or lease is used to prevent duplicate concurrent foundation runs. The lock records an owner and an expiration timestamp. A common pattern is:

lock_owner
lock_expires_at

The lock has a default time-to-live, such as 600 seconds, and workers wait only for a bounded period, such as 300 seconds. If a worker stops mid-run, the lease eventually expires and another worker can safely reclaim the subscription without requiring a manual unlock.

For policy and remediation, the platform checks whether the target assignment or remediation already exists. If the desired object already exists and is active, the workflow treats it as existing or in progress instead of creating duplicates.

Delete operations are also idempotent. If a requested policy assignment, remediation, or related artifact is already absent, the operation is treated as successful.

Security and Access Model

The platform follows a least-privilege operating model.

Control-plane read operations use managed identity where possible. Write operations use approved credentials with scoped permissions. Callback integrations use authenticated headers or tokens. Inventory collection stores metadata only and avoids sensitive customer payloads by design.

For monitoring workflows, RBAC assignments are limited to the permissions required to deploy or associate monitoring components. The identities used for Azure Monitor Agent workflows are separated from general platform execution to keep the permission model explicit and auditable.

Status Reporting and Callbacks

For each automation request, the platform sends status updates to an external system of record. This allows customers and operators to correlate bulk operations, policy lifecycle events, and audit trails.

A typical status model includes:

StatusMeaning
RULE_ENABLEDThe requested control was created or enabled successfully.
RULE_DELETEDThe requested control was deleted or confirmed absent successfully.
RULE_FAILEDThe requested operation failed and requires investigation or retry.

The callback status gives an authoritative external view of the requested operation, separate from the internal worker logs.

What Customers Will See in Azure

Customers should expect to see a small number of platform-managed components in their subscription.

At subscription scope, they may see:

  • Event Grid subscription for resource change detection
  • Policy assignments for requested governance controls
  • Remediation tasks for existing non-compliant resources
  • Subscription-level onboarding tags

For monitoring-enabled subscriptions, they may also see:

  • Monitoring resource group
  • User-assigned managed identities
  • Data Collection Rules
  • AMA-related policy assignments
  • AMA remediation tasks
  • RBAC assignments for monitoring identities

These resources are not arbitrary. Each one supports a specific governance, monitoring, drift detection, or remediation function.

Customer Verification Checklist

Customers can validate the deployment by checking the following items:

  1. Confirm the Event Grid subscription exists and is healthy.
  2. Confirm required Azure resource providers are registered.
  3. Confirm onboarding tags are present on the subscription.
  4. Confirm expected policy assignments are present.
  5. Confirm remediation tasks are running or completed for new assignments.
  6. For AMA-enabled subscriptions, confirm managed identities, Data Collection Rules, policy assignments, and remediation tasks exist.
  7. Confirm platform-managed resources follow the expected naming convention.
  8. Confirm status reporting reflects the requested policy lifecycle action.

Operational Visibility

Every onboarding and policy action is tracked for audit and diagnostics. The platform revalidates foundation state instead of assuming that previous onboarding is still valid. This helps avoid stale decisions when subscriptions change over time.

Operational teams can use lock state, onboarding status, callback records, and policy remediation status to determine where an automation request is in its lifecycle.

This is especially important in large environments where thousands of subscriptions may be onboarded, evaluated, or remediated across many customers or business units.

Customer Value

The customer value is straightforward:

  • Faster governance onboarding
  • More consistent policy enforcement
  • Reduced manual remediation effort
  • Scalable monitoring deployment
  • Better visibility into drift and policy state
  • Safer automation through idempotent execution
  • Clear lifecycle tracking from request to enforcement result

The platform does not deploy components for their own sake. Each deployed resource exists to support a specific operational outcome: detect change, validate readiness, enforce policy, remediate drift, onboard monitoring, or report status.

That is the foundation of reliable cloud governance at scale.

Architecture depth + engineering leadership

Building platforms enterprises trust at scale.