Azure Resource Manager and ARM Templates
😟 THE PROBLEM
Resources made in different tools end up inconsistent and hard to control.
😊 THE SOLUTION
Rely on Azure Resource Manager and declarative templates.
- Different tools, different results✓ All go through ARM
- Access checked inconsistently✓ ARM enforces RBAC and Policy
- Redeployments create duplicates✓ Idempotent templates
Quick answer
Azure Resource Manager (ARM) is the deployment and management service for Azure. Every request, from the portal, CLI, PowerShell, SDKs or templates, goes through ARM, which authenticates and authorises it and then creates, updates or deletes resources. ARM templates are declarative JSON files that describe the resources to deploy. Bicep is a simpler language that compiles to ARM templates.
Exam objective: 3.3.5 Describe Azure Resource Manager (ARM) and ARM templates. (Skills measured as of July 20, 2026)
Start with a question
You click Create in the portal and a teammate runs az vm create. Who actually builds the VM?
Azure Resource Manager builds both. Every tool talks to the same front door.
Explain it like I’m 10
The technical explanation
-
1 Tools
Portal, Azure CLI, Azure PowerShell, SDKs, REST, templates.
-
2 Azure Resource Manager
Authenticates (Entra ID), authorises (RBAC), checks Azure Policy.
-
3 Resource providers
Microsoft.Compute, Microsoft.Storage, Microsoft.Network…
-
4 Resources
Created, updated or deleted consistently.
Real-world business scenario
A SaaS start-up
- The problem
- Environments were inconsistent because some resources were made in the portal and others by script.
- What they used
- ARM templates (later Bicep) for every environment, deployed by pipeline.
- Why that choice
- Declarative, idempotent templates processed by ARM give identical results.
- The result
- Dev, test and production finally matched.
When to use it and when not to
✓ Use it when…
- Use templates for repeatable, reviewable deployments.
✕ Think twice when…
- Hand-writing large ARM JSON for new projects (prefer Bicep).
Interview preparation
Say your answer out loud first, then open the model answer. Interviewers care more about your reasoning than the exact words.
Beginner What is Azure Resource Manager?
Model answer
The layer that handles every request to create, change or delete Azure resources, whichever tool I use. It checks who I am and whether I'm allowed, then makes the change.
Intermediate What are the benefits of Azure Resource Manager?
Model answer
Manage infrastructure with declarative templates; deploy, manage and monitor resources as a group; redeploy consistently; define dependencies so resources deploy in the right order; apply access control through RBAC; apply tags; and see costs by tag.
Experienced developer ARM templates or Bicep for new projects?
Model answer
Bicep. It has the same capabilities as ARM templates (it compiles to them) but with cleaner syntax, modules, type safety and better tooling. Existing ARM JSON can be decompiled into Bicep.
Test yourself with exercises
3 original practice questions in the AZ-900 style. Pick your answers, then check them. You will see why each option is right or wrong. Score 75% or more and this topic is marked complete.
Quick revision
Key points
- ARM processes every Azure management request.
- Provides consistent authentication, RBAC, policy and tagging.
- ARM templates = declarative JSON.
- Templates are idempotent and handle dependencies.
- Bicep compiles to ARM templates.
Important terminology
- Azure Resource Manager
- The deployment and management layer that processes every Azure management request.
- ARM template
- A declarative JSON file that defines Azure resources and their configuration.
- Idempotent
- Deploying the same template many times gives the same result.
Common mistakes
- Thinking the portal and CLI use different back ends. They both use ARM.
Exam tips
- "Deployment and management service for Azure" = Azure Resource Manager.
- "Declarative JSON template" = ARM template.
Five quick revision questions
-
1.Which service processes all Azure management requests?Show
Azure Resource Manager.
-
2.In what format are ARM templates written?Show
JSON.
-
3.Are ARM templates declarative or imperative?Show
Declarative.
-
4.What does idempotent mean?Show
Deploying the same template repeatedly gives the same result.
-
5.Which language compiles to ARM templates?Show
Bicep.
Official references
Finished this lesson? Tick it off. Your progress is saved in this browser.
Next up: Azure Advisor