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
| Tier | Storage Cost | Retrieval Cost | Latency | Use Case |
|---|---|---|---|---|
| Hot | Highest | Lowest | Immediate | Active data, frequent reads |
| Cool | Lower | Higher | Immediate | Data accessed < once / month |
| Cold | Lower still | Higher | Immediate | Data accessed < once / quarter |
| Archive | Lowest | Highest + rehydration delay | Hours | Long-term compliance retention |
Go deeper
Related to this question
Learn chapter
Azure Regions and Geographies
Key term
Feature
A feature is a distinct unit of functionality that delivers value to the user, often managed and tracked throughout the software development lifecycle.
Key term
Azure portal
The Azure portal is a web-based, unified console that lets you build, manage, and monitor everything from simple web apps to complex cloud deployments using a graphical user interface.
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 →
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.