Courseiva
Describe Azure architecture and servicesmediumMultiple ChoiceObjective-mapped

AZ-900 Describe Azure architecture and services Practice Question

A company plans to use an infrastructure-as-code approach to deploy its Azure resources. The company wants to define all resources (virtual networks, virtual machines, storage accounts) in a declarative JSON file. This file must ensure that resources are created in the correct order, handle dependencies automatically, and allow the same configuration to be deployed to multiple environments (dev, test, production) with parameterized values. The solution should be a native Azure feature. Which Azure feature should the company use?

⚠ Common exam trap

Many exam-takers confuse Azure Blueprints (which bundles multiple ARM templates and policies) with the core declarative JSON file itself, but the question specifically asks for the feature that defines resources in a declarative JSON file and handles dependencies—which is the ARM template, not the Blueprint wrapper.

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 (ARM) templates

Azure Resource Manager (ARM) templates are the native Azure feature for infrastructure-as-code using a declarative JSON format. They define resources, handle dependencies automatically via the 'dependsOn' element, and support parameterization for deploying the same template to multiple environments (dev, test, production) by passing different parameter files. This directly matches the scenario's requirements for declarative JSON, dependency management, and multi-environment deployment.

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 Policy

    Why it's wrong here

    Azure Policy is used to enforce rules and compliance on resources (e.g., allowed regions, resource types). It does not define or deploy infrastructure resources like VMs or storage accounts. Therefore, it is incorrect for this scenario.

    When this WOULD be correct

    A company needs to ensure that all deployed Azure resources (e.g., VMs, storage accounts) have specific tags and are only deployed in allowed regions. Azure Policy would be the correct answer to enforce these governance rules across subscriptions.

  • Azure Resource Manager (ARM) templates

    Why this is correct

    ARM templates are declarative JSON files that define Azure resources and their dependencies. They handle creation order automatically, support parameters for multi-environment reuse, and are the native infrastructure-as-code tool for Azure. This matches all requirements in the scenario.

  • Azure Blueprints

    Why it's wrong here

    Azure Blueprints packages ARM templates, policies, and role assignments together for a standardized environment. While Blueprints can contain ARM templates, the question specifically asks for a declarative JSON file that defines resources in correct order with parameters. The core component that fulfills this is the ARM template itself, not the Blueprint orchestration service.

    When this WOULD be correct

    A company needs to ensure that all Azure subscriptions meet corporate compliance requirements by deploying a standard set of policies, role assignments, and resource templates together as a single package. Azure Blueprints would be the correct answer because it combines ARM templates, policies, and RBAC into a repeatable blueprint.

  • Azure Automation State Configuration

    Why it's wrong here

    Azure Automation State Configuration (DSC) is used to manage the configuration and desired state of existing virtual machines (e.g., installing software, registry settings). It does not deploy infrastructure resources like networks or storage accounts, making it unsuitable for this scenario.

    When this WOULD be correct

    A company needs to ensure that all Azure VMs in a production environment maintain a consistent configuration (e.g., installed software, registry settings) and automatically remediate any drift. The solution must use PowerShell DSC and be natively integrated with Azure Automation.

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 (ARM) templatesCorrect answer

Why this is correct

ARM templates are declarative JSON files that define Azure resources and their dependencies. They handle creation order automatically, support parameters for multi-environment reuse, and are the native infrastructure-as-code tool for Azure. This matches all requirements in the scenario.

Azure PolicyWrong answer — click to see why

Why this is wrong here

Azure Policy is used to enforce compliance rules and audit resource configurations, not to define and deploy infrastructure resources declaratively. It cannot create virtual networks, VMs, or storage accounts in a specified order with dependency handling.

★ When this WOULD be the correct answer

A company needs to ensure that all deployed Azure resources (e.g., VMs, storage accounts) have specific tags and are only deployed in allowed regions. Azure Policy would be the correct answer to enforce these governance rules across subscriptions.

Why candidates choose this

Candidates may confuse Azure Policy's ability to enforce resource properties with the declarative definition and deployment of resources, thinking it can also create resources when it only audits or modifies existing ones.

Azure BlueprintsWrong answer — click to see why

Why this is wrong here

Azure Blueprints is used for orchestrating the deployment of resource templates and policy assignments to create a consistent environment, but it does not itself define resources in a declarative JSON file with dependency handling and parameterization; that is the role of ARM templates.

★ When this WOULD be the correct answer

A company needs to ensure that all Azure subscriptions meet corporate compliance requirements by deploying a standard set of policies, role assignments, and resource templates together as a single package. Azure Blueprints would be the correct answer because it combines ARM templates, policies, and RBAC into a repeatable blueprint.

Why candidates choose this

Candidates may confuse Blueprints with ARM templates because both involve deploying resources and can include parameterization, but Blueprints is a higher-level orchestration tool, not the declarative template itself.

Azure Automation State ConfigurationWrong answer — click to see why

Why this is wrong here

Azure Automation State Configuration (DSC) manages configuration drift and applies PowerShell DSC configurations to VMs, not declarative JSON resource definitions with dependency handling and parameterized multi-environment deployment.

★ When this WOULD be the correct answer

A company needs to ensure that all Azure VMs in a production environment maintain a consistent configuration (e.g., installed software, registry settings) and automatically remediate any drift. The solution must use PowerShell DSC and be natively integrated with Azure Automation.

Why candidates choose this

Candidates may confuse 'infrastructure-as-code' with 'configuration management' and think DSC can define and deploy entire Azure resources, not just configure existing ones.

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.