AZ-305 - Design a Data Archiving Strategy
1. Storage Account Access Tiers Overview
Azure Blob Storage provides access tiers that allow you to optimize storage costs based on how frequently data is accessed. Each tier offers a different balance between storage cost and access cost. Choosing the correct tier is essential for a cost-effective archiving strategy.
The Cost Trade-Off
As you move from Hot to Archive, storage costs decrease but access and transaction costs increase. The Hot tier charges the most for storage but the least for access. The Archive tier charges the least for storage but the most for access and requires rehydration before data can be read.
Access Tier Types
Azure Blob Storage supports four access tiers:
- Hot: Optimized for data that is accessed frequently. Highest storage cost, lowest access cost.
- Cool: Optimized for data that is accessed infrequently and stored for at least 30 days. Lower storage cost, higher access cost than Hot.
- Cold: Optimized for data that is rarely accessed and stored for at least 90 days. Lower storage cost than Cool, higher access cost.
- Archive: Optimized for data that can tolerate several hours of retrieval latency and is stored for at least 180 days. Lowest storage cost, highest access cost, offline storage requiring rehydration.
2. Access Tier Requirements and Use Cases
When to Use Each Tier
| Access Tier | Use Case | Minimum Retention | Access Pattern |
|---|---|---|---|
| Hot | Active application data, frequently read/written | None | Frequent reads and writes |
| Cool | Short-term backups, disaster recovery data, older content still occasionally accessed | 30 days | Infrequent access |
| Cold | Quarterly reports, compliance data accessed rarely | 90 days | Rare access |
| Archive | Long-term backups, regulatory archives, historical data | 180 days | Near-zero access |
Early Deletion Penalties
If you delete or move a blob from Cool, Cold, or Archive tier before the minimum retention period, you are charged an early deletion fee. For Cool tier, the penalty applies if the blob is deleted within 30 days. For Cold tier, 90 days. For Archive tier, 180 days. Always factor early deletion penalties into your archiving strategy.
Setting Access Tiers
Access tiers can be set at two levels:
- Account level: The default access tier for the storage account (Hot or Cool only). All blobs inherit this tier unless set individually.
- Blob level: Individual blobs can be set to Hot, Cool, Cold, or Archive regardless of the account default. This provides fine-grained control.
The Archive tier is only available at the blob level. You cannot set Archive as the default account-level tier.
3. Lifecycle Management Policies
What Are Lifecycle Management Policies?
Lifecycle management policies automate the transition of blobs between access tiers and the deletion of expired blobs. Policies are defined as a set of rules, each containing a filter (which blobs to target) and an action set (what to do with matching blobs).
Lifecycle Policy Actions
Each lifecycle rule can perform one or more of the following actions based on the number of days since the blob was last modified or last accessed:
tierToCool - Move to Cool tier
tierToCold - Move to Cold tier
tierToArchive - Move to Archive tier
delete - Delete the blob
Actions are evaluated once per day by the storage service.
Example Policy Logic
Filter: blobTypes = blockBlob, prefixMatch = "logs/"
Actions:
- If last modified more than 30 days ago: move to Cool
- If last modified more than 90 days ago: move to Cold
- If last modified more than 180 days ago: move to Archive
- If last modified more than 365 days ago: delete
Last Access Time Tracking
Lifecycle policies can use last access time as a condition if the Last Access Time Tracking feature is enabled on the storage account. This allows policies to tier blobs based on when they were last read rather than when they were last modified. This is useful for workloads where modification date does not accurately reflect usage patterns.
4. Access Tier SLAs
Availability SLAs by Tier
The availability SLA varies by access tier and redundancy type. Hot tier provides the highest read availability, while Archive tier has no availability SLA because data must be rehydrated before access.
| Access Tier | Read Availability (LRS/GRS) | Read Availability (RA-GRS/RA-GZRS) |
|---|---|---|
| Hot | 99.9% | 99.99% |
| Cool | 99% | 99.9% |
| Cold | 99% | 99.9% |
| Archive | Offline (no SLA) | Offline (no SLA) |
SLA Implications
Cool and Cold tiers have lower availability SLAs than Hot tier. If your application requires high read availability, keep actively used data in the Hot tier. The Archive tier is offline: blobs in this tier cannot be read or modified until they are rehydrated to an online tier.
5. Rehydration from Archive Tier
Rehydration Process
Blobs stored in the Archive tier are offline and cannot be read directly. To access archived data, you must rehydrate the blob by changing its tier to Hot, Cool, or Cold. There are two rehydration priorities:
- Standard priority: Rehydration may take up to 15 hours. This is the default and less expensive option.
- High priority: Rehydration typically completes in under 1 hour for objects under 10 GB. This costs more but provides faster access. High-priority requests are prioritized over standard requests.
Rehydration Methods
There are two ways to rehydrate an archived blob:
Change tier directly: Use the Set Blob Tier operation to move the blob from Archive to Hot, Cool, or Cold. The source blob remains in Archive until rehydration completes, at which point it moves to the target tier.
Copy to a new blob: Use the Copy Blob operation to create a copy of the archived blob in an online tier. The source blob remains in Archive and the copy is created in the target tier. This is useful when you want to keep the original in Archive.
Monitoring Rehydration
While rehydration is in progress, the blob tier shows as Archive and the "Archive Status" property shows "rehydrate-pending-to-hot," "rehydrate-pending-to-cool," or "rehydrate-pending-to-cold." You can monitor this property to determine when rehydration is complete. Azure Event Grid can also notify you when rehydration finishes.
Key Terms
| Term | Definition |
|---|---|
| Hot Tier | Access tier optimized for frequently accessed data. Highest storage cost, lowest access cost. |
| Cool Tier | Access tier for infrequently accessed data stored for at least 30 days. Lower storage cost than Hot. |
| Cold Tier | Access tier for rarely accessed data stored for at least 90 days. Lower storage cost than Cool. |
| Archive Tier | Offline tier for long-term retention (180+ days). Lowest storage cost, requires rehydration for access. |
| Lifecycle Management Policy | Rule-based automation that transitions blobs between tiers and deletes expired blobs based on age or last access time. |
| Rehydration | Process of moving a blob from Archive tier to an online tier (Hot, Cool, or Cold) so it can be read. |
| Early Deletion Penalty | Fee charged when a blob is moved or deleted before the minimum retention period of its current tier (30/90/180 days). |
| Last Access Time Tracking | Storage account feature that records when each blob was last read, enabling lifecycle policies based on access patterns. |
Exam Tips
- Archive tier is set at the blob level only; it cannot be the default account-level tier. Only Hot and Cool can be set as the default account tier.
- The minimum retention periods are: Cool = 30 days, Cold = 90 days, Archive = 180 days. Deleting before these thresholds incurs early deletion penalties.
- Standard rehydration takes up to 15 hours; high-priority rehydration is typically under 1 hour for objects under 10 GB. Know the time difference for exam questions.
- Lifecycle management policies can use either last modified date or last access time as the condition trigger. Last access time tracking must be explicitly enabled.
- The Archive tier has no availability SLA because data is stored offline. Always plan for rehydration latency when designing retrieval workflows.
- The Copy Blob method of rehydration keeps the original blob in Archive while creating a copy in an online tier. The Set Blob Tier method transitions the blob in place.
Practice Questions
Question 1
Your company needs to store compliance audit logs for 7 years. The data is written once and almost never read. Which access tier minimizes cost?
A. Hot
B. Cool
C. Cold
D. Archive
Answer: D
Archive tier provides the lowest storage cost and is ideal for data that is stored for long periods with near-zero access. Since compliance logs are rarely read and stored for 7 years, Archive is the most cost-effective option.
Question 2
You need to automatically move blobs in the "reports/" container to Cool tier after 30 days and delete them after 365 days. What should you configure?
A. Azure Policy with a deny effect
B. Blob lifecycle management policy
C. Azure Automation runbook on a schedule
D. Azure Event Grid trigger
Answer: B
Blob lifecycle management policies automate tier transitions and deletions based on blob age or last access time. They are the built-in, recommended approach for this scenario. Azure Automation could work but adds unnecessary complexity.
Question 3
You have a blob stored in the Archive tier that must be accessed within 1 hour. Which rehydration option should you use?
A. Standard priority rehydration
B. High priority rehydration
C. Set the storage account default tier to Hot
D. Copy the blob to a different storage account
Answer: B
High priority rehydration typically completes in under 1 hour for objects under 10 GB. Standard priority can take up to 15 hours. Setting the account default tier does not rehydrate existing archived blobs.
Question 4
You delete a blob from the Cool tier after 15 days. What happens regarding billing?
A. Normal deletion, no extra charges
B. You are charged an early deletion penalty for the remaining 15 days
C. You are charged the Archive tier rate for the remaining days
D. The blob moves to Archive tier instead of being deleted
Answer: B
Cool tier has a 30-day minimum retention period. Deleting a Cool blob before 30 days incurs an early deletion fee equivalent to the storage charges for the remaining days (30 minus 15 = 15 days).
Question 5
You want lifecycle management policies to transition blobs based on when they were last read rather than when they were last modified. What must you enable first?
A. Blob versioning
B. Soft delete
C. Last access time tracking
D. Change feed
Answer: C
Last access time tracking must be explicitly enabled on the storage account before lifecycle policies can use access time as a condition. Without it, only last modified time is available as a trigger.
AZ-305 Designing Azure Infrastructure Solutions - Table of Contents
Master all exam topics with comprehensive study guides and practice questions.