Loading...


Updated 17 Oct 2026 • 6 mins read

Azure storage costs grow because data lands in the Hot tier by default and nothing moves it. This guide explains what each Blob tier costs in 2026, how lifecycle management and the new Smart tier work, the disk, snapshot, and redundancy waste outside Blob, and the levers that cut storage spend by half or more.
Azure Blob Storage has four access tiers whose prices span almost twentyfold, from about $0.018 per gigabyte-month in Hot to about $0.00099 in Archive, and a free mechanism, lifecycle management, for moving data between them. Almost every Azure bill nonetheless pays Hot rates for data nobody has read in a year, for one reason: Hot is where data lands, and nothing moves it unless someone writes the rule. Add the managed disks left behind by deleted virtual machines, the snapshots nobody set a retention on, and the geo-redundancy applied to data that could be regenerated, and storage becomes the Azure line that grows quietly while attention is on compute.
This guide covers what each Azure storage tier and option costs in 2026, how lifecycle rules and the newer Smart tier work and where they go wrong, the storage waste that sits outside Blob tiers, and the levers that commonly cut Azure storage spend by half or more, with worked US figures. It is the storage chapter of our wider Azure cost optimization guide, and rates are from Microsoft's Blob Storage pricing for East US as of October 2026.
The short answer: Azure storage cost optimization starts with the tier data sits in. Blob Storage in East US with local redundancy costs about $0.018 per GB-month in Hot, $0.010 in Cool, $0.0045 in Cold, and $0.00099 in Archive, but data lands in Hot by default and stays there unless a lifecycle rule moves it. A free lifecycle policy moving data to Cool after 30 days of no access, Cold after 90, and Archive after 180, with transitions that respect each tier's minimum retention, typically cuts the cost of that data by 50 to 90 percent. Outside Blob tiers, unattached managed disks and unmanaged snapshots are often the larger waste, geo-redundancy roughly doubles capacity cost where local or zone redundancy would do, and cooler tiers charge more per operation and per GB retrieved, so tiering decisions should follow access patterns rather than price lists. Reserved capacity saves up to 38 percent on Hot and 48 percent on Cool for estates above 100 TiB.
Blob Storage bills four things: capacity by tier, operations per 10,000, data retrieval per GB on cooler tiers, and egress. Rates below are East US, locally redundant, as of October 2026, rounded.
| Tier | Capacity per GB-month | Retrieval per GB | Minimum retention | Access | Best for |
|---|---|---|---|---|---|
| Hot | About $0.018 (first 50 TB) | None | None | Milliseconds | Active data read and written often |
| Cool | About $0.010 | $0.01 | 30 days | Milliseconds | Data read a few times a month |
| Cold | About $0.0045 | $0.03 | 90 days | Milliseconds | Data read a few times a year, needed immediately |
| Archive | About $0.00099 | About $0.02 plus rehydration | 180 days | Hours (up to 15 standard; about 1 high priority) | Compliance and long-term retention |
Three details decide whether a tier move saves money. Operations cost more on cooler tiers, so a Cool container that is written to constantly can cost more in transactions than it saves in capacity. Retrieval is billed per GB, so data read more than once or twice a month usually belongs in Hot. And minimum retention means a blob moved to Archive and deleted after 20 days is billed for 180; lifecycle rules that transition too eagerly generate early-deletion charges on every object. From July 1, 2026 for new storage accounts, Cool, Cold, and Archive also apply a 128 KiB minimum billable size per blob, which penalizes tiering millions of tiny files.
Redundancy multiplies the capacity rate: zone-redundant storage runs about 1.25 times LRS, geo-redundant about two times, and read-access geo-redundant higher still. Egress is about $0.087 per GB after the first 100 GB a month. Reserved capacity, bought in 100 TiB or 1 PiB blocks for one or three years, discounts Hot by up to about 38 percent and Cool by up to about 48 percent, on capacity only.
The common thread, as with every storage service, is that waste accumulates where nothing is looking, which is the pattern in our guide to where cloud waste hides. The Azure-specific twist is that the two largest items, disks and snapshots, are not Blob at all, and a Blob-only optimization misses them.
Azure lifecycle management is free to run and is the largest lever. A sound default: move to Cool after 30 days since last access, to Cold after 90, to Archive after 180, and delete after the retention your compliance requires. Filter by container or prefix so that active data is excluded, and never transition into a tier sooner than the previous tier's minimum retention. Use last-access rather than last-modified where access tracking is enabled, so data that is still read stays warm.
Azure's newer Smart tier automatically keeps eligible block blobs Hot, moves inactive objects to Cool after 30 days and Cold after 90, and returns accessed objects to Hot. It suits containers whose access pattern nobody can predict; for known patterns a lifecycle rule is more precise and avoids the round-trip early-deletion charge that re-accessed data can incur.
List unattached managed disks across every subscription and delete or snapshot-and-delete them; set snapshot retention so copies expire; and review blob versioning and soft-delete retention periods. This is inventory work rather than tiering work, and it is usually the first month's largest saving. Our Azure virtual machine cost guide covers the disk charges that sit behind every VM.
Use LRS or ZRS for development, test, caches, and anything regenerable; reserve GRS for data you genuinely cannot lose access to in a regional outage. Halving the capacity rate on regenerable data is a single setting change.
Before moving a container to a cooler tier, check its transaction and read volume. Data read often belongs in Hot even though Hot is dearest; data read a few times a year belongs in Cold; data that must exist and will almost never be read belongs in Archive. The cheapest tier for the wrong pattern costs more than Hot.
For estates above 100 TiB that will not shrink, reserved capacity on Hot or Cool saves up to 38 or 48 percent on capacity. It does not cover operations or retrieval, so reserve the tier where capacity dominates the bill.
Place storage accounts in the region where the compute that reads them runs, use private endpoints for internal access, and put Azure Front Door or a CDN in front of public downloads to cut egress.
A company holds 600 TB in Azure Blob, all in Hot on GRS, plus 40 TB of managed disks of which about a quarter are unattached, and daily VM snapshots with no retention policy that have grown to 60 TB. Monthly storage spend is roughly $21,600 for Blob capacity at the GRS rate, $5,200 for disks, $3,000 for snapshots, and about $2,800 in operations and egress, near $32,600.
Access analysis shows 120 TB of the Blob data is read regularly, 180 TB occasionally, and 300 TB has not been touched in a year. A lifecycle policy keeps the 120 TB Hot (about $2,200 at LRS, after redundancy is right-sized to LRS for the regenerable 80 percent of it), moves 180 TB to Cold (about $800), and 300 TB to Archive (about $300). Blob capacity falls from $21,600 to about $3,300. Deleting the 10 TB of unattached disks saves $1,300 a month; a 30-day snapshot retention policy brings snapshot storage from 60 TB to about 5 TB, saving $2,750. Total storage spend lands near $9,800 a month, a 70 percent reduction, before reserved capacity on the Hot remainder. The lifecycle policy took an afternoon; finding the disks and snapshots took an inventory.
Azure storage waste is an inventory problem before it is a tiering problem: the disks nobody attached, the snapshots nobody expired, and the Hot containers nobody has read are found by looking at every storage resource with its owner and its cost, which no single portal blade does across subscriptions. Atlas keeps that inventory, every storage account, container, managed disk, and snapshot across every subscription, with an owner and a cost on each, flags what is idle or mis-tiered, and traces a storage line that grew to the change that grew it. Its recommendations weigh purpose and criticality, so a production database's disk and an abandoned test VM's disk at the same size get different advice.
Explorer shows Azure storage spend by tier, account, subscription, and team in the same view as the compute and network around it, and alongside AWS and GCP storage for estates that run more than one cloud, tracked over time so a snapshot policy that doubled storage in a month is visible before the invoice. Dimension Studio allocates shared storage accounts to the teams and products that fill them. Monitor catches a storage anomaly with its root cause, the policy change, the new container, the redundancy setting, and sends it to the owning team's Slack channel; Tickets turns the fix, a lifecycle rule, a disk cleanup, a redundancy change, into an assigned item in Jira, ServiceNow, or Asana tracked to a measured saving; and Iris answers which teams hold the most data in Hot that nobody reads, in plain English. The practical effect is that the inventory step in the example above, the one that took the most time and found the most money, runs continuously.
Azure storage is cheap per gigabyte and expensive in aggregate for a mechanical reason: data lands in the dearest tier and nothing moves it, disks and snapshots outlive their purpose, and redundancy is applied by default rather than by need. Write the lifecycle policy, respecting each tier's minimum; consider the Smart tier where access is unpredictable; clean up disks and snapshots; right-size redundancy; tier by access pattern; reserve large stable capacity; and keep storage next to the compute that reads it. Those seven changes commonly cut storage spend by half or more. Then inventory continuously, because new data lands in Hot every day and new VMs leave disks behind every week. For the rest of the Azure bill, see our guides to Azure cost optimization and Azure cost management, and for how Blob compares with S3 and GCS, our cloud storage pricing comparison.
Four access tiers, priced per GB-month in East US with locally redundant storage: Hot about $0.018 for the first 50 TB, Cool about $0.010, Cold about $0.0045, and Archive about $0.00099. Cooler tiers charge more per operation and per GB retrieved (Cool $0.01, Cold $0.03, Archive about $0.02 plus rehydration time), and carry minimum retention periods of 30, 90, and 180 days with an early-deletion charge for moving or deleting data sooner.
Leaving everything in Hot. Data lands in the Hot tier by default, and without a lifecycle policy it stays there, so logs, backups, and old exports that are never read pay the highest rate indefinitely. A lifecycle rule moving data to Cool after 30 days and Cold or Archive after 90 typically cuts the cost of that data by 50 to 90 percent and is free to configure.
A lifecycle policy is a set of rules, free to run, that moves blobs between tiers or deletes them based on age since creation or since last access, optionally filtered by container or name prefix. Common policies move Hot to Cool after 30 days, Cool to Cold after 90, Cold to Archive after 180, and delete after a retention period. Design transitions to respect each tier's minimum retention so the policy does not trigger early-deletion charges.
Cold is an online access tier introduced in 2023 that sits between Cool and Archive: about $0.0045 per GB-month in East US, less than half of Cool, with millisecond access and no rehydration delay, in exchange for a $0.03 per GB retrieval charge and a 90-day minimum retention. It suits data accessed a few times a year that still needs to be available immediately.
For large, stable volumes, yes. Reserved capacity is bought in 100 TiB or 1 PiB blocks for one or three years on Hot, Cool, or Archive block blob storage and saves up to about 38 percent on Hot and 48 percent on Cool against pay-as-you-go. It covers capacity only, not operations, retrieval, early deletion, or bandwidth, so it suits estates with at least 100 TiB that will not shrink.
Managed disks, billed on provisioned size and often left unattached after a VM is deleted; snapshots and soft-deleted or versioned blobs that accumulate without retention rules; redundancy, where geo-redundant storage roughly doubles the capacity rate; transactions, which cost more per operation on cooler tiers; and egress at about $0.087 per GB after the first 100 GB. On many Azure bills, orphaned disks and snapshots exceed Blob tier waste.
Atlas inventories every Azure storage account, container, disk, and snapshot with an owner and a cost, and flags the ones that are idle or mis-tiered: unattached managed disks, blobs sitting in Hot with no recent access, snapshots past their useful life. Explorer shows storage spend by tier, account, and team beside the rest of the Azure bill, Monitor catches a storage line that grew unexpectedly with the cause, and Tickets routes the lifecycle rule or cleanup to the owner.