AZ-104Chapter 80 of 168Objective 2.4

Managing Blob Access Tiers at Scale

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).

25 min read
Intermediate
Updated May 31, 2026

Warehouse Inventory Management for Blob Tiers

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.

How It Actually Works

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 Cool

To 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/file

To change the tier of an existing blob:

az storage blob set-tier --account-name mystorageaccount --container-name mycontainer --name myblob --tier Cool

To create a lifecycle management policy:

az storage account management-policy create --account-name mystorageaccount --resource-group myResourceGroup --policy @policy.json

Example 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)

Walk-Through

1

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.

2

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.

3

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.

4

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.

5

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.

What This Looks Like on the Job

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.

How AZ-104 Actually Tests This

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

1.

"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.

2.

"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.

3.

"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.

4.

"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.

5.

"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.

Key Takeaways

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.

Easy to Mix Up

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

Watch Out for These

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.

Do You Actually Know This?

Reveal each answer, then mark whether you got it right. Score 60%+ to unlock the next chapter.

Frequently Asked Questions

What is the difference between Hot, Cool, and Archive access tiers in Azure Blob Storage?

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.

How do I automatically move blobs to Cool tier after 30 days?

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.

Can I read an Archive blob directly without rehydration?

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.

What happens if I delete a blob before the minimum storage duration?

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.

How long does it take for a lifecycle policy to take effect?

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.

Can I use lifecycle policies with premium storage accounts?

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.

What is the difference between standard and high-priority rehydration?

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.

Terms Worth Knowing

Ready to put this to the test?

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?