This chapter covers the management of Azure Blob Storage access tiers at scale, focusing on how to efficiently move data between Hot, Cool, and Archive tiers using lifecycle management policies, rehydration, and cost optimization strategies. For the AZ-104 exam, this topic appears in approximately 10-15% of storage-related questions, particularly in scenarios involving cost management and data lifecycle. Mastering blob access tiers is essential for designing cost-effective storage solutions and passing the exam's storage objective (2.4).
Jump to a section
Imagine a large warehouse that stores products for a retail company. The warehouse has three main storage areas: the front shelves (Hot tier) for fast-selling items that need immediate access, the back shelves (Cool tier) for slower-moving items that can be retrieved within a few hours, and the deep storage vault (Archive tier) for items that are rarely needed and can take up to a day to retrieve. Each item has a label indicating its current storage location. The warehouse manager uses a system to automatically move items between areas based on sales velocity and retrieval frequency. For example, items that haven't been sold in 30 days are moved from front shelves to back shelves, and after 90 days of no activity, they are moved to deep storage. The manager can also manually move items for special promotions. The cost of storing an item in each area varies: front shelves are the most expensive per square foot, back shelves are cheaper, and deep storage is the cheapest. However, retrieving an item from deep storage incurs a high labor cost because it requires a forklift and extra staff. This is exactly how Azure Blob Storage access tiers work: Hot tier for frequent access (low read cost, high storage cost), Cool tier for infrequent access (higher read cost, lower storage cost), and Archive tier for rarely accessed data (highest read cost, lowest storage cost). Blob lifecycle management policies act like the automated system that moves blobs between tiers based on age or last modification time. Understanding this analogy helps grasp the trade-offs between storage cost and access cost, which is critical for the AZ-104 exam.
What Are Azure Blob Storage Access Tiers?
Azure Blob Storage offers three access tiers to optimize storage costs based on data access patterns: Hot, Cool, and Archive. The Hot tier is optimized for frequent reads and writes, with the lowest access latency (single-digit milliseconds) but the highest storage cost. The Cool tier is designed for data that is infrequently accessed and stored for at least 30 days, offering lower storage cost but higher access cost (per GB read) and slightly higher latency. The Archive tier is for rarely accessed data with a minimum storage duration of 180 days, providing the lowest storage cost but requiring manual rehydration before reading, which can take up to 15 hours.
How Access Tiers Work Internally
When you upload a blob, you can specify its tier at creation time, or it defaults to the account's default tier (Hot or Cool). Blobs in the Hot and Cool tiers are stored on high-performance SSDs or HDDs, while Archive blobs are stored on tape or cold HDDs, which is why rehydration is needed. The tier is stored as a property on the blob, and changing the tier (e.g., from Hot to Cool) is an immediate operation that updates the metadata and moves the underlying data. However, changing from Archive to any other tier requires rehydration: the blob is copied to a Hot or Cool tier, which can take hours. During rehydration, the blob remains in Archive tier until the copy completes, at which point the tier changes.
Key Components, Values, and Defaults
Default Access Tier: Set at the storage account level (Hot or Cool). New blobs inherit this tier unless explicitly set.
Minimum Storage Duration: Cool tier: 30 days; Archive tier: 180 days. If you delete or move a blob before this period, you incur an early deletion fee equal to the storage cost for the remaining days.
Rehydration Time: Archive to Hot/Cool: typically 1-15 hours, with a priority option (Standard or High) that can reduce time to under 1 hour but at extra cost.
Lifecycle Management Policies: Define rules to automatically transition blobs between tiers based on age (creation time, last modification time, last access time). Rules can also delete blobs after a specified period.
Costs: Storage cost per GB/month decreases from Hot to Archive. Access cost (per GB read) increases from Hot to Archive. Write operations cost the same regardless of tier except for Archive (write is free but rehydration is costly).
Configuration and Verification Commands
To set the default access tier on a storage account:
az storage account update --name mystorageaccount --resource-group myResourceGroup --access-tier CoolTo set the tier on a blob at upload:
az storage blob upload --account-name mystorageaccount --container-name mycontainer --name myblob --type block --tier Hot --file /path/to/fileTo change the tier of an existing blob:
az storage blob set-tier --account-name mystorageaccount --container-name mycontainer --name myblob --tier CoolTo create a lifecycle management policy:
az storage account management-policy create --account-name mystorageaccount --resource-group myResourceGroup --policy @policy.jsonExample policy JSON that moves blobs to Cool after 30 days and to Archive after 90 days:
{
"rules": [
{
"enabled": true,
"name": "moveToCool",
"type": "Lifecycle",
"definition": {
"actions": {
"baseBlob": {
"tierToCool": {
"daysAfterModificationGreaterThan": 30
}
}
},
"filters": {
"blobTypes": ["blockBlob"]
}
}
},
{
"enabled": true,
"name": "moveToArchive",
"type": "Lifecycle",
"definition": {
"actions": {
"baseBlob": {
"tierToArchive": {
"daysAfterModificationGreaterThan": 90
}
}
},
"filters": {
"blobTypes": ["blockBlob"]
}
}
}
]
}To verify the tier of a blob:
az storage blob show --account-name mystorageaccount --container-name mycontainer --name myblob --query "properties.accessTier"Interaction with Related Technologies
Azure CDN: Can cache blobs from Hot or Cool tiers, reducing read costs for frequently accessed data. Archive blobs cannot be served directly via CDN without rehydration.
Azure Data Lake Storage Gen2: Uses the same underlying blob storage but with a hierarchical namespace. Access tiers apply similarly, but lifecycle policies can also target directories.
Azure Backup: Backup data is stored in blob storage, often using Cool or Archive tiers for long-term retention. Lifecycle policies can be used to tier backup data automatically.
Azure Storage Analytics: Logs and metrics can be stored in blob storage; you can apply lifecycle policies to manage their retention.
Exam-Relevant Details
Last Access Time Tracking: You must enable it at the storage account level to use the daysAfterLastAccessTimeGreaterThan filter in lifecycle policies. This is not enabled by default.
Blob Rehydration Priority: Standard (default, up to 15 hours) vs High (under 1 hour, costs more). You can set priority when initiating rehydration.
Early Deletion Fees: If you delete a blob before 30 days in Cool or 180 days in Archive, you pay for the remaining days of storage. The fee is calculated as the storage cost per day multiplied by the remaining days.
Lifecycle Policy Execution: Policies run once per day. Changes may take up to 24 hours to take effect. The policy evaluates blobs based on the specified days (e.g., days after creation).
Scope: Lifecycle policies can apply to block blobs, append blobs, and page blobs (but page blobs cannot be tiered to Archive).
Common Misconfigurations
Using daysAfterModificationGreaterThan with blobs that are frequently modified, causing premature tiering. Use daysAfterLastAccessTimeGreaterThan instead if access tracking is enabled.
Setting a lifecycle policy to move blobs to Archive but forgetting that rehydration takes time, leading to access delays.
Not accounting for minimum storage durations, resulting in unexpected early deletion fees.
Performance Considerations
Rehydration Time: Can be up to 15 hours for standard priority. Plan for this in SLA requirements.
Bulk Tier Changes: Changing tier for millions of blobs can be slow. Use lifecycle policies for automation rather than manual scripting.
Cost of Tier Changes: Changing from Hot to Cool is free, but from Cool to Hot incurs a write operation cost (since it's like rewriting). From Archive, rehydration costs both storage (during rehydration) and read operations.
Security Implications
Access tiers do not affect security; RBAC and SAS tokens work regardless of tier. However, Archive blobs cannot be read directly, so SAS tokens for reading will fail until rehydration.
Immutable storage policies (WORM) can be applied to blobs in any tier, but Archive blobs with immutability cannot be read until rehydrated.
Monitoring and Alerting
Use Azure Monitor metrics like BlobCapacity (by tier) and BlobCount to track storage distribution.
Set alerts for high rehydration requests or costs.
Use Storage Insights (preview) for cost optimization recommendations.
Summary of Key Exam Numbers
Cool tier minimum: 30 days
Archive tier minimum: 180 days
Rehydration standard: up to 15 hours
Rehydration high priority: under 1 hour
Lifecycle policy execution: once per day
Default access tier: Hot (unless changed at account creation)
Blob types supporting lifecycle: block blobs, append blobs (page blobs limited)
Enable Last Access Time Tracking
Navigate to your storage account in the Azure portal, under 'Data management' > 'Lifecycle management'. Click 'Enable access tracking'. This feature is disabled by default. Once enabled, the 'Last Access Time' property is updated each time a blob is read or written. This property is used by lifecycle policies with the `daysAfterLastAccessTimeGreaterThan` filter. Without this, you can only use `daysAfterModificationGreaterThan` or `daysAfterCreationGreaterThan`. Enabling this adds a small cost for tracking, but it provides more accurate tiering decisions based on actual access patterns.
Define a Lifecycle Management Policy
In the Azure portal, go to 'Lifecycle management' under 'Data management'. Click 'Add rule'. Give the rule a name, e.g., 'MoveToCoolAfter30Days'. Select 'Block blobs' as the blob type. Under 'Base blobs', check 'Move to cool storage' and set 'Days after last modification' to 30. You can also set 'Days after last access' if enabled. Optionally, add a filter to limit the rule to a specific container or prefix. Click 'Add' to save. The rule is now part of the policy. You can add multiple rules; they are evaluated in order.
Add Archive Tier Rule for Long-Term Retention
Add another rule named 'MoveToArchiveAfter90Days'. Set 'Days after last modification' to 90. Check 'Move to archive storage'. Ensure the rule is ordered after the Cool rule (order matters). The policy applies the first matching rule; if a blob matches both rules (e.g., after 90 days), the first rule (Cool) will move it to Cool, but then the second rule will later move it to Archive after 90 days from the original modification date. However, because the blob was moved to Cool, the modification date may not change, so the blob will be moved to Archive after 90 days total. This is correct because the policy checks the original modification date, not the tier change date.
Test the Policy with Sample Blobs
Upload a few blobs with different creation dates using Azure Storage Explorer or CLI. For example, upload a blob with a last modified date 60 days ago (simulate by setting the blob properties). After the policy runs (once daily), check the tier of the blobs. Use `az storage blob show` to verify. Blobs older than 30 days should be in Cool, and those older than 90 days should be in Archive. Note that the policy may take up to 24 hours to apply. Also, blobs that are less than 30 days old should remain in Hot.
Monitor and Optimize Costs
Use Azure Cost Management + Billing to view storage costs by tier. Filter by resource type 'Storage'. Compare the cost of Hot vs Cool vs Archive. If you see high costs in Hot but low access frequency, adjust your lifecycle policy to move blobs to Cool earlier. Conversely, if you often access blobs in Cool, consider moving them back to Hot. Use metrics like 'BlobCount' and 'BlobCapacity' to track distribution. Set up alerts for when Archive blobs are rehydrated, as that incurs costs.
Enterprise Scenario 1: Media Streaming Company
A media company stores millions of video files for on-demand streaming. Hot tier is used for new releases that are accessed frequently (first 30 days). After 30 days, a lifecycle policy moves videos to Cool tier, as viewership drops. After 90 days, videos are moved to Archive. This reduces storage costs by 70% compared to keeping everything in Hot. However, when a classic movie becomes popular again, they need to rehydrate it from Archive, which takes up to 15 hours. They use high-priority rehydration (extra cost) for such cases. They also enable last access time tracking to ensure that videos that are still being watched (even if old) remain in Cool. Without this, old but popular videos would be archived, causing delays. The company monitors rehydration requests and sets up alerts to avoid surprise costs.
Enterprise Scenario 2: Healthcare Data Retention
A hospital stores patient records in blob storage, with a legal requirement to retain data for 7 years. They use Hot tier for records less than 1 year old (frequently accessed). After 1 year, records are moved to Cool. After 3 years, they are moved to Archive. They use lifecycle policies with filters based on container names (e.g., 'year-2023' container). They also apply an immutability policy (WORM) to prevent deletion. A challenge is that occasionally they need to access an old record for a lawsuit; they must rehydrate it, which can take hours. They plan for this by initiating rehydration in advance. They also use the early deletion fee calculation: if they accidentally delete an Archive blob before 180 days, they incur a penalty. They set up RBAC to prevent accidental deletion.
Enterprise Scenario 3: Backup and Disaster Recovery
A financial services company uses Azure Backup to store backups in blob storage. Backups are taken daily and retained for 30 days in Hot tier. After 30 days, they are moved to Cool for 90 days, then to Archive for 1 year. Lifecycle policies automate this. They use a separate storage account for backups to isolate from production data. A common issue is that when they need to restore from an Archive backup, the rehydration time can delay recovery SLAs. They mitigate this by keeping the most recent 7 days of backups in Hot and using Archive only for older backups. They also test rehydration periodically to ensure it works as expected. They monitor the 'BlobRehydrationStatus' metric to track progress.
What AZ-104 Tests on Blob Access Tiers
The exam focuses on Objective 2.4: Manage blob access tiers. Key areas include:
Understanding the three tiers (Hot, Cool, Archive) and their use cases.
Configuring lifecycle management policies using the Azure portal, CLI, or PowerShell.
Knowing the minimum storage durations (30 days for Cool, 180 days for Archive) and early deletion fees.
Rehydration process and priority options (Standard vs High).
Blob types that support lifecycle policies (block blobs, append blobs; page blobs only for deletion).
Default access tier and how to change it.
Enabling last access time tracking.
Common Wrong Answers and Why Candidates Choose Them
"Archive tier has the same latency as Cool tier" – Candidates assume all tiers have similar performance. Reality: Archive requires rehydration (up to 15 hours) before reading.
"Lifecycle policies can move blobs to Archive immediately" – Policies can only move blobs after a specified number of days; there is no immediate move rule.
"You can read an Archive blob directly using a SAS token" – Even with a SAS token, reading an Archive blob fails unless it is rehydrated first.
"Changing the tier of a blob from Hot to Archive is instantaneous" – It is instantaneous for Hot/Cool changes, but from Archive, it requires rehydration which takes time.
"Cool tier has no minimum storage duration" – The minimum is 30 days; early deletion incurs a fee.
Specific Numbers and Terms That Appear on the Exam
30 days – Cool tier minimum storage duration.
180 days – Archive tier minimum storage duration.
15 hours – Standard rehydration time (max).
1 hour – High-priority rehydration time (under 1 hour).
24 hours – Lifecycle policy execution frequency (once per day).
Last Access Time – Must be enabled explicitly.
Block blobs – Primary blob type for lifecycle policies.
Page blobs – Cannot be tiered to Archive.
Edge Cases and Exceptions
Append blobs can be tiered to Cool but not to Archive.
Snapshots and soft-deleted blobs are not affected by lifecycle policies until they become the base blob.
Lifecycle policies do not apply to blobs in the 'None' tier (Premium block blob accounts). Premium accounts have their own performance tiers.
**If a blob is locked with an immutability policy, it can still be tiered, but rehydration may be blocked if the policy prevents modifications.
How to Eliminate Wrong Answers
If a question mentions reading data from Archive, the correct answer will always involve rehydration first (set-tier to Hot/Cool or copy operation).
If a question asks about cost optimization for infrequently accessed data, the correct answer is Cool (not Archive) if access is needed occasionally.
If a lifecycle policy rule has no filter, it applies to all blobs in the storage account (including system containers like $logs). Be cautious of unintended consequences.
When calculating early deletion fee, consider the remaining days in the minimum period. For example, if you delete a Cool blob after 10 days, you pay for 20 days of storage.
The three access tiers are Hot, Cool, and Archive, each with different cost and latency trade-offs.
The minimum storage duration for Cool is 30 days; for Archive it is 180 days. Early deletion incurs a fee.
Lifecycle management policies run once per day and can move blobs between tiers based on age, last modification, or last access time.
Last access time tracking must be explicitly enabled to use the 'daysAfterLastAccessTimeGreaterThan' filter.
Archive blobs are offline and require rehydration (set-tier to Hot or Cool) before reading, which can take up to 15 hours.
High-priority rehydration can reduce time to under 1 hour but costs more.
Lifecycle policies can be applied to block blobs and append blobs; page blobs cannot be tiered to Archive.
Changing a blob's tier from Hot to Cool or Cool to Hot is immediate and does not incur rehydration delay.
The default access tier can be set at the storage account level and changed later.
Use Azure Cost Management to monitor storage costs by tier and optimize lifecycle policies.
These come up on the exam all the time. Here's how to tell them apart.
Hot Tier
Highest storage cost per GB/month
Lowest access cost per GB read
No minimum storage duration
Ideal for data accessed frequently (multiple times per day)
Single-digit millisecond latency
Cool Tier
Lower storage cost per GB/month (about 60% less than Hot)
Higher access cost per GB read (about 10x more than Hot)
Minimum storage duration of 30 days (early deletion fee applies)
Ideal for data accessed infrequently (once per month or less)
Slightly higher latency but still sub-second
Cool Tier
Storage cost moderate (between Hot and Archive)
Access cost moderate (higher than Hot, lower than Archive)
Minimum 30 days storage
Data is online and readable immediately
Lifecycle policies can move to Archive after a period
Archive Tier
Lowest storage cost per GB/month (about 90% less than Hot)
Highest access cost (rehydration + read)
Minimum 180 days storage (early deletion fee applies)
Data is offline; must be rehydrated to read (up to 15 hours)
Lifecycle policies can only move to Archive, not from
Mistake
Archive tier blobs can be read immediately with a SAS token.
Correct
Archive blobs are offline; they must be rehydrated to Hot or Cool tier before reading. Rehydration takes up to 15 hours (standard) or under 1 hour (high priority).
Mistake
Lifecycle management policies can move blobs to any tier instantly.
Correct
Policies run once per day. Changes take up to 24 hours to apply. Also, moving to Archive requires rehydration when moving back, but the policy only moves forward in the lifecycle.
Mistake
The default access tier for a storage account cannot be changed after creation.
Correct
You can change the default access tier at any time using the Azure portal, CLI, or PowerShell. New blobs will inherit the new default, but existing blobs retain their current tier.
Mistake
Cool tier is always cheaper than Hot tier for any access pattern.
Correct
Cool tier has lower storage cost but higher read cost. For data that is read very frequently (e.g., multiple times per day), Hot tier may be cheaper overall due to lower read charges.
Mistake
Lifecycle policies can delete blobs immediately upon creation.
Correct
Lifecycle policies can only delete blobs after a specified number of days (e.g., 30 days after creation). There is no immediate deletion rule.
Reveal each answer, then mark whether you got it right. Score 60%+ to unlock the next chapter.
Hot tier is for data that is accessed frequently, with the lowest read cost but highest storage cost. Cool tier is for infrequently accessed data stored for at least 30 days, with lower storage cost but higher read cost. Archive tier is for rarely accessed data stored for at least 180 days, with the lowest storage cost but requires rehydration (up to 15 hours) before reading. The exam often tests the trade-offs and minimum storage durations.
You can create a lifecycle management policy rule that moves blobs to Cool tier after a specified number of days. For example, using the Azure portal, go to your storage account > Lifecycle management > Add rule. Set 'Move to cool storage' and enter '30' in 'Days after last modification'. The policy runs once daily. Alternatively, use the CLI: `az storage account management-policy create` with a JSON policy that includes a rule with `tierToCool` action.
No. Archive blobs are offline. To read them, you must first change the tier to Hot or Cool (rehydration). This can be done using the Azure portal, CLI (`az storage blob set-tier --tier Hot`), or SDK. During rehydration, the blob remains in Archive tier until the operation completes. The exam often tests that Archive blobs cannot be read directly.
You will incur an early deletion fee. For Cool tier (minimum 30 days), you pay for the remaining days of storage. For Archive tier (minimum 180 days), you pay for the remaining days. The fee is calculated as the storage cost per day multiplied by the number of days remaining. This is a common exam topic.
Lifecycle policies run once per day. After you create or modify a policy, it may take up to 24 hours for the changes to apply to your blobs. The policy evaluates blobs based on the conditions (e.g., days after modification) and moves them accordingly. This timing is important for exam scenarios where immediate changes are expected.
No. Premium block blob accounts (with performance tier 'Premium') do not support access tiers or lifecycle management policies. They have a single 'None' tier. Lifecycle policies are only available for standard general-purpose v2 and BlobStorage accounts. The exam may test this distinction.
Standard rehydration can take up to 15 hours and is free of charge (only the read operation cost applies). High-priority rehydration typically completes in under 1 hour but incurs an additional cost. You specify the priority when initiating rehydration (e.g., `--rehydrate-priority High` in CLI). The exam may ask which priority to use for time-sensitive restores.
You've just covered Managing Blob Access Tiers at Scale — now see how well it sticks with free AZ-104 practice questions. Full explanations included, no account needed.
Done with this chapter?