Azure Resource Manager (ARM) and ARM templates
Slide deck explaining Azure Resource Manager (ARM) and ARM templates: ARM as the management service for Azure, how tools interact with ARM, ARM templates as Infrastructure as Code (IaC), declarative vs imperative, deployment scopes, and best practices.

Azure Resource Manager (ARM) and ARM templates
Introduction to Azure Resource Manager (ARM) and ARM templates: ARM as the management service for Azure, ARM templates as Infrastructure as Code (IaC).
Azure Resource Manager (ARM) and ARM templates
Introduction to Azure Resource Manager (ARM) and ARM templates: ARM as the management service for Azure, ARM templates as Infrastructure as Code (IaC).
Azure Resource Manager (ARM): the management front desk
Most Azure management actions go through Azure Resource Manager (ARM). Azure Resource Manager (ARM) equals deployment and management service. Tools send management requests to ARM. ARM checks permissions and coordinates the deployment. Mental model: Tools to ARM to Azure services.
ARM is part of the control plane
ARM handles management operations: create, update, delete. Control plane equals management side of Azure. ARM processes create/update/delete requests. Consistent management layer across services. Helps coordinate deployments safely.
Portal, Azure CLI, PowerShell: different interfaces
Most tools send management requests through ARM. Azure portal equals UI for management. Azure command-line interface (CLI) equals terminal-based management. Azure PowerShell equals scripting and automation. Same outcome: requests go through Azure Resource Manager (ARM).
REST APIs and SDKs still use ARM
Automation uses the same ARM-based management path. Representational State Transfer (REST) APIs equals HTTP-based management calls. Application Programming Interface (API) equals operations you can call. Software Development Kit (SDK) equals libraries wrapping API calls. Requests still go through Azure Resource Manager (ARM).
ARM routes requests to resource providers
ARM coordinates deployments by forwarding work to the right resource provider. Resource provider equals Azure service for a resource type. ARM receives plus validates the request. ARM forwards to the correct provider (e.g., compute, storage). ARM acts as the coordinator across services.
ARM templates = Infrastructure as Code (IaC)
An ARM template is a declarative file that describes your desired environment. Azure Resource Manager template (ARM template) equals IaC file. Infrastructure as Code (IaC) equals infrastructure defined in files. Usually JavaScript Object Notation (JSON). Describes resources, configuration, and relationships.
Declarative vs imperative
Templates describe the target end state; scripts describe steps. Declarative (templates): define 'what'. Imperative (scripts): define 'how'. Declarative equals desired end state. Easier consistency across repeated deployments.
Templates can deploy a full environment
ARM can orchestrate deployment order based on dependencies. One template deployment can include many resources. Dependencies define what must exist first. ARM coordinates the sequence automatically. Useful for complete 'environment' deployments.
ARM template deployment scopes
Pick the scope that matches how wide the change should apply. Resource group scope: one solution/application group. Subscription scope: applies across a subscription. Management group scope: across grouped subscriptions. Tenant scope: Microsoft Entra tenant (organization-wide).
Drift, pitfalls, and Bicep
Templates reduce drift by redeploying a consistent desired state. Drift equals small, accidental differences between environments. ARM equals service; ARM template equals declarative file. Templates can deploy many resource types (not just one). Bicep equals alternative authoring language to converted to ARM template.
