Courseiva
Describe Azure architecture and servicesmediumMultiple ChoiceObjective-mapped

AZ-900 Describe Azure architecture and services Practice Question

A company stores historical sales data in Azure Blob Storage. The data is accessed frequently during the first 30 days after upload, but after that, it is rarely accessed. The company wants to automatically move blobs to a lower-cost storage tier after 30 days without any manual scripting or custom code. Which Azure feature should they use?

⚠ Common exam trap

Watch out — candidates often confuse Azure Policy (which enforces rules at creation) with lifecycle management (which automates post-creation actions), or they may think that Logic Apps or Automation runbooks are simpler than they actually are, overlooking the 'no custom code' constraint.

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 Blob Storage lifecycle management policies

Azure Blob Storage lifecycle management policies allow you to define rules that automatically transition blobs to a lower-cost storage tier (e.g., from Hot to Cool or Archive) based on the age of the data. This feature operates natively within Azure Storage, requires no custom code or scripting, and can be configured directly in the Azure portal or via ARM templates. The scenario's requirement for automatic, rule-based tiering after 30 days is exactly what lifecycle management policies are designed to do.

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 Blob Storage lifecycle management policies

    Why this is correct

    Azure Blob Storage lifecycle management policies are a native, declarative feature that lets you define JSON rules to automatically move blobs between access tiers (hot, cool, or archive) based on criteria such as age in days, last modified time, or last accessed time. The rules run continuously and apply to both existing and newly uploaded blobs without any custom code or external orchestration. This directly satisfies the requirement to transition historical sales data to a cooler tier after 30 days, as it is a fully managed, time-based automation.

  • Azure Automation runbooks with a schedule

    Why it's wrong here

    Azure Automation runbooks execute custom PowerShell or Python scripts on a schedule, but the requirement explicitly forbids manual scripting or custom code. The correct solution, a Blob Storage lifecycle management policy, applies declarative rules directly to the storage account without any code. This option is tempting because runbooks are commonly used for automated administrative tasks, such as moving blobs between containers or accounts, and would be the correct choice if the company were willing to write and maintain custom logic to evaluate blob age and perform the tier change.

    When this WOULD be correct

    If the requirement were to perform complex data transformations or custom logic (e.g., renaming files, moving to different storage accounts) on a schedule, and scripting was acceptable, then Azure Automation runbooks with a schedule would be correct.

  • Azure Logic Apps with a recurrence trigger

    Why it's wrong here

    Azure Logic Apps, despite their ability to automate tasks with a recurrence trigger, would necessitate custom logic or scripting to identify blobs older than 30 days and then programmatically change their storage tier. This directly contradicts the requirement for a solution "without any manual scripting or custom code." Logic Apps are, however, ideal for orchestrating complex workflows, integrating various services, and performing event-driven automation when custom business logic is permissible or required, such as processing data or sending notifications.

    When this WOULD be correct

    A company needs to automatically process incoming sales data files (e.g., transform CSV to Parquet) every hour and store the results in a different container. Azure Logic Apps with a recurrence trigger would be correct because it can orchestrate complex data transformations without custom code.

  • Azure Policy to enforce storage tier at creation

    Why it's wrong here

    Azure Policy is a governance and compliance service that evaluates resources against defined rules and applies effects like 'deny' or 'DeployIfNotExists' at the moment a resource is created or updated. While you could configure a policy to require new blobs are written to a particular storage tier, Azure Policy has no time-based loop to re-evaluate blobs as they become older; it does not perform scheduled transitions on existing data. Therefore, it cannot move a hot blob to cool or archive after 30 days and leaves all pre-existing blobs untouched, making it unsuitable for this age-based cost-optimization scenario.

    When this WOULD be correct

    A company wants to ensure that all new storage accounts are created with the 'Cool' access tier by default to save costs. Azure Policy can be used to audit or enforce the storage tier setting at creation time.

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 Blob Storage lifecycle management policiesCorrect answer

Why this is correct

Azure Blob Storage lifecycle management policies are a native, declarative feature that lets you define JSON rules to automatically move blobs between access tiers (hot, cool, or archive) based on criteria such as age in days, last modified time, or last accessed time. The rules run continuously and apply to both existing and newly uploaded blobs without any custom code or external orchestration. This directly satisfies the requirement to transition historical sales data to a cooler tier after 30 days, as it is a fully managed, time-based automation.

Azure Automation runbooks with a scheduleWrong answer — click to see why

Why this is wrong here

Azure Automation runbooks require custom scripting (PowerShell or Python) and manual setup, whereas the question specifies no manual scripting or custom code.

★ When this WOULD be the correct answer

If the requirement were to perform complex data transformations or custom logic (e.g., renaming files, moving to different storage accounts) on a schedule, and scripting was acceptable, then Azure Automation runbooks with a schedule would be correct.

Why candidates choose this

Candidates may think automation requires a runbook, overlooking that lifecycle management policies are a built-in, no-code solution for tier transitions.

Azure Logic Apps with a recurrence triggerWrong answer — click to see why

Why this is wrong here

Azure Logic Apps with a recurrence trigger can automate workflows, but they require custom logic and are not designed specifically for automatically moving blobs between storage tiers based on age. The question asks for a solution without manual scripting or custom code, and lifecycle management policies provide this natively.

★ When this WOULD be the correct answer

A company needs to automatically process incoming sales data files (e.g., transform CSV to Parquet) every hour and store the results in a different container. Azure Logic Apps with a recurrence trigger would be correct because it can orchestrate complex data transformations without custom code.

Why candidates choose this

Candidates may think that any scheduled automation task requires Logic Apps or runbooks, overlooking that Azure Blob Storage has a built-in, policy-based feature specifically for tier management.

Azure Policy to enforce storage tier at creationWrong answer — click to see why

Why this is wrong here

Azure Policy enforces compliance rules at resource creation or update, but it cannot automatically move existing blobs to a different tier after a time delay. The requirement is for automatic tier transitions after 30 days, which lifecycle management policies handle.

★ When this WOULD be the correct answer

A company wants to ensure that all new storage accounts are created with the 'Cool' access tier by default to save costs. Azure Policy can be used to audit or enforce the storage tier setting at creation time.

Why candidates choose this

Candidates may confuse Azure Policy's ability to enforce configurations with the automated lifecycle transitions, thinking it can also manage post-creation data movement.

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?”

Quick reference

Azure Blob Storage Tier Comparison

TierStorage CostRetrieval CostLatencyUse Case
HotHighestLowestImmediateActive data, frequent reads
CoolLowerHigherImmediateData accessed < once / month
ColdLower stillHigherImmediateData accessed < once / quarter
ArchiveLowestHighest + rehydration delayHoursLong-term compliance retention

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.