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 an interactive browser-based terminal for running CLI commands, not a declarative deployment engine. ARM templates and Bicep are processed by the Azure Resource Manager deployment service. Cloud Shell merely hosts the tooling; it does not itself automate resource creation from templates.
Go deeper
Related to this question
Learn chapter
Azure Update Management
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 983-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.