AZ-900 Describe Azure management and governance Practice Question
Which tool allows you to automate the creation and management of Azure resources using declarative JSON or Bicep templates?
⚠ Common exam trap
It's easy for candidates to confuse the interactive scripting tools (PowerShell, CLI) with declarative template languages, or mistake the hosting environment (Cloud Shell) for the automation tool itself.
Answer choices
Why each option matters
Answer the question above first, then reveal the full breakdown to understand why each option is right or wrong.
Correct answer & explanation
✓
ARM templates / Bicep
ARM templates and Bicep are declarative Infrastructure as Code (IaC) tools that allow you to define Azure resources in JSON or Bicep syntax. They enable repeatable, idempotent deployments by describing the desired state of resources, which Azure Resource Manager then orchestrates to create or update resources accordingly.
Answer analysis
Option-by-option breakdown
For each option: why learners choose it and why it is or isn't the right answer here.
- ✗
Azure PowerShell
Why it's wrong here
Azure PowerShell is a scripting module that executes imperative cmdlets to create or modify Azure resources step by step. Because each cmdlet issues a specific API call, the order and error handling are controlled by your script, not by the platform. Unlike ARM templates/Bicep, PowerShell does not declare the desired end state and cannot automatically reconcile existing resources, making it the wrong choice for declarative IaC.
- ✗
Azure CLI
Why it's wrong here
Azure CLI is an imperative command-line tool that runs individual 'az' commands to manage Azure resources one at a time. Every command represents a separate API call, requiring you to build custom scripts that handle sequencing and failure conditions. While you can use CLI to deploy templates, by itself it doesn't define infrastructure declaratively or provide state reconciliation, so it is not the correct option here.
- ✓
ARM templates / Bicep
Why this is correct
ARM templates and Bicep are Azure's native declarative infrastructure-as-code formats. You define the target state of your resources, and Azure Resource Manager performs the necessary operations to achieve that state, including dependency resolution and rollback on failure. This makes deployments idempotent and repeatable, which is exactly what the question is looking for, so this is the correct answer.
- ✗
Azure Cloud Shell
Why it's wrong here
Azure Cloud Shell is a browser-based terminal environment that gives you authenticated access to Azure tools like the CLI and PowerShell. However, it is not an infrastructure-as-code tool itself; it simply hosts commands you type. To perform declarative, repeatable deployments you still need a template format like ARM/Bicep, so Cloud Shell is incorrect here.
Go deeper
Related to this question
Learn chapter
Azure Cost Management and Billing
Key term
Azure resource
An Azure resource is a manageable item available through Microsoft Azure, such as a virtual machine, database, or web app.
Key term
ARM
ARM stands for Azure Resource Manager, the management layer that enables you to create, update, and delete resources in your Azure account.
About these practice questions
This AZ-900 question is part of Courseiva's 981-question bank — original exam-style content with full explanations and wrong-answer analysis, never real exam questions or exam dumps. Learn why practice questions differ from exam dumps →
JA
Written by Johnson Ajibi, MSc IT Security
Senior Network & Security Engineer · founder of Courseiva
This AZ-900 practice question is part of Courseiva's free Microsoft certification practice question bank. Courseiva provides original exam-style practice questions with explanations, topic-based practice, mock exams, readiness tracking, and study analytics to help learners prepare for the AZ-900 exam.