Courseiva
Describe Azure architecture and servicesmediumMultiple ChoiceObjective-mapped

AZ-900 Describe Azure architecture and services Practice Question

A startup frequently deploys identical environments for development, testing, and production. They want to ensure all deployments are consistent and follow best practices without manual configuration. They need a declarative JSON-based method to define the entire infrastructure (virtual machines, databases, networking) so that the same template can be reused across environments. Which Azure service should the startup use?

⚠ Common exam trap

It's easy for candidates to confuse Azure Blueprints (a governance/compliance wrapper) with the actual declarative JSON template (ARM template) that defines the infrastructure, leading them to choose Blueprints even though it is not the JSON-based method 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

Azure Resource Manager templates

Azure Resource Manager (ARM) templates are the correct choice because they provide a declarative JSON-based syntax to define and deploy entire Azure infrastructures consistently. This allows the startup to reuse the same template across development, testing, and production environments, ensuring identical configurations without manual intervention. ARM templates also enforce idempotent deployments, meaning the same template can be applied repeatedly to achieve the same state.

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 Resource Manager templates

    Why this is correct

    Azure Resource Manager (ARM) templates are declarative JSON files that define the exact Azure resources and their properties for a deployment. They are idempotent, meaning the same template can be run repeatedly to produce the same result, making them ideal for consistently deploying identical environments across subscriptions or regions. They also support parameterization and modularity, allowing the same template to be reused for development, test, and production environments with minimal changes.

  • Azure PowerShell scripts

    Why it's wrong here

    Azure PowerShell scripts use cmdlets to create and manage Azure resources imperatively, similar to CLI but with PowerShell syntax and object-oriented pipelines. These scripts are procedural and rely on sequential execution, making them less reliable for consistent, repeatable deployments because they lack built-in idempotency and a single declarative descriptor of the final state. While they can be written to achieve similar results, they are not a declarative JSON-based method and are more prone to drift and manual intervention.

    When this WOULD be correct

    An exam question where the requirement is to automate infrastructure deployment using a scripting language that supports conditional logic and loops, and the candidate is expected to choose an imperative tool for complex provisioning tasks.

  • Azure CLI commands

    Why it's wrong here

    Azure CLI commands are imperative, meaning each command performs a discrete action (e.g., 'az vm create') and the user must specify the exact order and logic to build an environment. Unlike ARM templates, CLI commands alone do not provide a self-contained, repeatable definition of the entire environment; reproducing identical environments requires writing and maintaining complex shell scripts with conditionals and error handling. This makes CLI commands a procedural tool rather than a declarative infrastructure-as-code solution.

    When this WOULD be correct

    A startup needs to automate the deployment of resources using a cross-platform command-line tool that can be integrated into CI/CD pipelines, and they prefer writing imperative scripts over declarative templates. The question would specify 'imperative scripting' or 'command-line automation'.

  • Azure Blueprints

    Why it's wrong here

    Azure Blueprints is a governance service that packages ARM templates, policies, and role assignments into a single, assignable artifact for compliance and organizational standards. However, the declarative definition of the infrastructure itself is still the ARM template; Blueprints acts as an orchestrator and container, not the underlying infrastructure definition. Therefore, while Blueprints may be used to deploy identical environments consistently, it is not the correct answer because the core declarative mechanism is ARM templates, not Blueprints.

    When this WOULD be correct

    An organization needs to enforce compliance and governance across multiple subscriptions by deploying a standard set of policies, role assignments, and resource groups along with ARM templates. Azure Blueprints would be the correct answer because it packages these artifacts together for consistent, governed deployments.

Option-by-option analysis

Why each answer is right or wrong

Understanding why wrong answers are wrong — and when they would be correct — is what separates a 750 score from a 900. The AZ-900 exam frequently reuses these exact scenarios with slightly different constraints.

Azure Resource Manager templatesCorrect answer

Why this is correct

Azure Resource Manager (ARM) templates are declarative JSON files that define the exact Azure resources and their properties for a deployment. They are idempotent, meaning the same template can be run repeatedly to produce the same result, making them ideal for consistently deploying identical environments across subscriptions or regions. They also support parameterization and modularity, allowing the same template to be reused for development, test, and production environments with minimal changes.

Azure PowerShell scriptsWrong answer — click to see why

Why this is wrong here

Azure PowerShell scripts are imperative, not declarative, and require manual execution or scripting logic to ensure consistency, whereas the question specifies a declarative JSON-based method for reusable infrastructure.

★ When this WOULD be the correct answer

An exam question where the requirement is to automate infrastructure deployment using a scripting language that supports conditional logic and loops, and the candidate is expected to choose an imperative tool for complex provisioning tasks.

Why candidates choose this

Candidates may think PowerShell can define infrastructure via scripts, but they overlook the declarative JSON requirement and the need for a template-based approach for consistent reuse.

Azure CLI commandsWrong answer — click to see why

Why this is wrong here

Azure CLI commands are imperative, not declarative, and require manual execution or scripting to deploy resources, which does not meet the requirement for a declarative JSON-based method to ensure consistent, reusable deployments.

★ When this WOULD be the correct answer

A startup needs to automate the deployment of resources using a cross-platform command-line tool that can be integrated into CI/CD pipelines, and they prefer writing imperative scripts over declarative templates. The question would specify 'imperative scripting' or 'command-line automation'.

Why candidates choose this

Candidates may confuse Azure CLI with ARM templates because both can deploy resources, but they overlook the key requirement for a declarative JSON-based approach, assuming CLI commands can be scripted to achieve the same consistency.

Azure BlueprintsWrong answer — click to see why

Why this is wrong here

Azure Blueprints are used to orchestrate the deployment of resource groups, policies, role assignments, and ARM templates for compliance and governance, not for defining infrastructure in a single declarative JSON template. The question specifically asks for a declarative JSON-based method to define infrastructure, which is the core purpose of ARM templates.

★ When this WOULD be the correct answer

An organization needs to enforce compliance and governance across multiple subscriptions by deploying a standard set of policies, role assignments, and resource groups along with ARM templates. Azure Blueprints would be the correct answer because it packages these artifacts together for consistent, governed deployments.

Why candidates choose this

Candidates may confuse Blueprints with ARM templates because both involve repeatable deployments, but Blueprints focus on governance and policy enforcement rather than the declarative JSON infrastructure definition that ARM templates provide.

Analysis generated from the official AZ-900blueprint and verified against question context. The “when correct” sections are what AI assistants cite when candidates ask “what’s the difference between these options?”

About these practice questions

Courseiva writes every AZ-900 question from scratch — 981 in total, each with an explanation and a wrong-answer breakdown. None are copied from real exams or dumps. Learn why practice questions differ from exam dumps →

How Courseiva writes practice questions · Editorial policy

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.