Azure matches storage solutions to the type of data you are storing. Azure Blob Storage pricing varies by the levels of redundancy and performance you need: Higher redundancy and performance lead to increased Azure Blob Storage costs. This article will look at your Azure Blob Storage options and the associated costs.
What is Azure Blob Storage?
Azure Blob Storage provides massively scalable object storage for unstructured data. It is equivalent to AWS Simple Storage Service (S3) and Google Cloud Storage.
Azure Blob Storage account types
Azure offers three storage accounts: General Purpose v2 (GPv2), General Purpose v1 (GPv1), and Blob Storage, a dedicated object storage service. GPv1 and GPv2 support the same storage types, but GPv2 supports Hot, Cool, and Archive tiers. Adopt GPv2 or Blob Storage to leverage tiering.
GPv2 offers a variety of storage options (blob, files, queues, tables, and disks), performance tiers, and replication options not available with dedicated Blob Storage account types. Azure uses GPv2 to roll out new product enhancements (e.g., new redundancy options). GPv2 is the preferred storage account type if you want early access to new services.
Azure storage account options are:
- GPv2: Basic storage account type for blobs, files, queues, and tables. Use GPv2 for most scenarios using Azure Storage.
- GPv1: Legacy account type for blobs, files, queues, and tables. Use GPv2 accounts instead when possible.
- Premium block blobs: Blob-only storage accounts with premium performance characteristics. Premium block blobs are recommended for scenarios with high transaction rates, using smaller objects, or requiring consistently low storage latency.
- Premium page blobs: Blob-only storage accounts. Use GPv2 accounts instead when possible.
Azure Blob Storage redundancy options
Azure storage accounts have replication options for durability and availability. Your risk tolerance determines the right redundancy option. Redundancy options are:
- Locally Redundant Storage (LRS) provides 11 9’s of durability over a year by replicating data to a storage scale unit. LRS provides fault tolerance for storage within a data center. If the data center goes offline, data is lost.
- Zone-Redundant Storage (ZRS) provides 12 9’s of durability over a year and replicates data across three storage clusters in one region. Unlike LRS, where all data is lost if one data center fails, ZRS relies on storage clusters in a single region physically separated into availability zones. Each availability zone is self-reliant—utilities and networking components are autonomous.
- Geo-Redundant Storage (GRS) provides 16 9’s of durability, leveraging a primary and secondary region over a year. Data is protected within an individual data center or in a single region. Data is available in read-only mode in the secondary region when there is a failure in the primary region.
- Read Access Geo-Redundant Storage (RA-GRS) replicates data to another data center in a secondary zone. Unlike GRS, where you only have access to the secondary region with failure in the first, RA-GRS provides secondary regional access regardless of whether the primary region has failed.
- Geo-Zone-Redundant Storage (GZRS) brings the high availability of ZRS with the regional protection of GRS. Data is replicated across three primary region availability zones and a secondary regional zone. Common use cases: applications needing consistency, durability, high availability, excellent performance, and resilience for disaster recovery.
- Read-access geo-zone-redundant storage (RA-GZRS) is for applications that need to read data even if there is a failure in the primary region.
Scenario | LRS | ZRS | GRS/RA-GRS | GZRS/RA-GRS |
Supported storage account types | GPv2, GPv1, Premium block blob, Legacy blob, Premium file shares |
GPv2, Premium block blobs, |
GPv2, GPv1, Legacy blob | GPv2 |
Availability SLA for read requests | At least 99.9% (99% for cool access tier) | |||
Availability SLA for write requests | At least 99.9% (99% for cool access tier) |
Azure Blob Storage tiers
Azure sets storage price options by expected behavior. Break those expectations and you will pay (literally) for the pleasure. Available access tiers:
- Hot: Optimized for frequent access with higher storage costs and lowest access costs compared with cool and archive tiers.
- Cool: Optimized for infrequent access and stored for at least 30 days. This tier has lower storage costs and higher access costs than the Hot tier.
- Archive: Optimized for infrequent access and stored for at least 180 days. This tier has the lowest storage costs of the three tiering options and the highest retrieval rates.
Tiering provides more effective storage choices. Think of a picture and how it’s accessed. The hot storage tier is more suitable for recent thumbnails; older thumbnails better for the cool tier. Save high-resolution, rarely used images in the Archive tier—they are only retrieved when requested.
Only GPv2 and premium block blob accounts support tiering. If you use GPv1 and want to leverage tiering, convert your account to GPv2 through the Azure portal.
Premium Blob Storage is also available with low latency and pricing optimized for high transaction rates. They are available with LRS and ZRS.
The following compares premium performance block Blob Storage and Hot, Cool, and Archive tiers.
Premium Performance | Hot Tier | Cool Tier | Archive Tier | |
Availability | 99.9% | 99.9% | 99% | Offline |
Availability (RA-GRS reads) | N/A | 99.99% | 99.9% | N/A |
Usage Charges | Higher storage costs, lower access, and transaction costs | Higher storage costs, lower access, and transaction costs | Lower storage costs, higher access, and transaction costs | Lower storage costs, higher access, and transaction costs |
Minimum storage duration | N/A | N/A | 30 days (GPv2 only) | 180 days |
Latency (Time to first byte) | Single-digit milliseconds | milliseconds | milliseconds | Hours |
Azure Blob Storage billing
There is more to storage billing than just the storage costs. Consider the following factors when planning Blob Storage spend:
- Storage costs depend on the access tier. As the tier cools, costs decrease.
- Data access costs increase as the tier gets cooler. There are per-gigabyte data access charges for the Cool and Archive tiers.
- Transaction costs apply for all tiers and increase as the tier cools.
- Geo-Replication data transfer costs apply at $0.02/GB for accounts with geo-replication configured, including GRS and RA-GRS.
- Outbound data transfer costs from an Azure region incur bandwidth usage on a per-gigabyte basis.
- Changing the access tier adds charges for reading existing data (e.g., cool to hot) and writing (e.g., hot to cool).
Azure Blob Storage pricing
Pricing looks small at the unit-rate level, but you pay for what you use — nominal unit rates deliver a sizeable bill when you provision the wrong storage class for your needs (same goes for AWS S3).
Understand upfront how you will use Blob Storage. Archive pricing is for long-term, rarely used material (e.g., end-of-lifecycle data); it’s not a good option for disaster recovery.
Below pricing is for the West US 2 region with a flat namespace file structure:
Azure Blob Storage—LRS
Data storage prices
Premium (per GB) | HOT (per GB) | COOL (per GB) | ARCHIVE (per GB) | |
First 50 TB/month | $0.15 | $0.0184 | $0.01 | $0.00099 |
Next 450 TB/month | $0.15 | $0.0177 | $0.01 | $0.00099 |
First 50 TB/month | $0.15 | 0.0170 | $0.01 | $0.00099 |
Operations and data transfer prices
Premium (per GB) | HOT (per GB) | COOL (per GB) | ARCHIVE (per GB) | |
Write operations (per 10,000) | $0.0175 | $0.05 | $0.10 | $0.10 |
List and create container operations (per 10,000) | $0.05 | $0.05 | $0.05 | $0.05 |
Read operations (per 10,000) | $0.0014 | $0.004 | $0.01 | $5 |
Archive priority read (per 10,000) | N/A | N/A | N/A | $50 |
All other operations (per 10,000), except Delete, which is free | $0.0014 | $0.004 | $0.004 | $0.004 |
Data retrieval | Free | Free | $0.01 | $0.02 |
Archive priority retrieval (per GB) | N/A | N/A | N/A | $0.10 |
Data write (per GB) | Free | Free | Free | Free |
Point-in-time restore data processed (per MB) | N/A | $0.02 | $0.02 | $0.02 |
Azure Blob Storage—ZRS
Data storage prices
Premium (per GB) | HOT (per GB) | COOL (per GB) | ARCHIVE (per GB) | |
First 50 TB/month | $0.20 | $0.023 | $0.0125 | N/A |
Next 450 TB/month | $0.20 | $0.0221 | $0.0125 | N/A |
First 50 TB/month | $0.20 | $0.0212 | $0.0125 | N/A |
Operations and data transfer prices
Premium (per GB) | HOT (per GB) | COOL (per GB) | ARCHIVE (per GB) | |
Write operations (per 10,000) | $0.0233 | $0.065 | $0.10 | N/A |
List and create container operations (per 10,000) | $0.067 | $0.05 | $0.05 | N/A |
Read operations (per 10,000) | $0.0019 | $0.004 | $0.01 | N/A |
Archive priority read (per 10,000) | N/A | N/A | N/A | N/A |
All other operations (per 10,000), except Delete, which is free | $0.0019 | $0.004 | $0.004 | N/A |
Data retrieval | Free | Free | $0.01 | N/A |
Archive priority retrieval (per GB) | N/A | N/A | N/A | N/A |
Data write (per GB) | Free | Free | Free | Free |
Point-in-time restore data processed (per MB) | N/A | N/A | N/A | N/A |
Azure Blob Storage—GRS
Data storage prices
Premium (per GB) | HOT (per GB) | COOL (per GB) | ARCHIVE (per GB) | |
First 50 TB/month | N/A | $0.0368 | $0.02 | $0.00299 |
Next 450 TB/month | N/A | $0.0354 | $0.02 | $0.00299 |
First 50 TB/month | N/A | $0.0339 | $0.02 | $0.00299 |
Operations and data transfer prices
Premium (per GB) | HOT (per GB) | COOL (per GB) | ARCHIVE (per GB) | |
Write operations (per 10,000) | N/A | $0.10 | $0.20 | $0.20 |
List and create container operations (per 10,000) | N/A | $0.10 | $0.10 | N/A |
Read operations (per 10,000) | N/A | $0.004 | $0.01 | N/A |
Archive priority read (per 10,000) | N/A | N/A | N/A | N/A |
All other operations (per 10,000), except Delete, which is free | N/A | $0.004 | $0.004 | N/A |
Data retrieval | Free | Free | $0.01 | $0.02 |
Archive priority retrieval (per GB) | N/A | N/A | N/A | $0.10 |
Data write (per GB) | Free | Free | $0.005 | Free |
Point-in-time restore data processed (per MB) | N/A | $0.04 | $0.04 | $0.04 |
Azure Blob Storage—RA GRS
Data storage prices
First 50 TB/month | N/A | $0.046 | $0.025 | $0.00299 | |
Next 450 TB/month | N/A | $0.0442 | $0.025 | $0.00299 | |
First 50 TB/month | N/A | $0.0424 | $0.025 | $0.00299 |
Operations and data transfer prices
Premium (per GB) | HOT (per GB) | COOL (per GB) | ARCHIVE (per GB) | |
Write operations (per 10,000) | N/A | $0.10 | $0.20 | $0.20 |
List and create container operations (per 10,000) | N/A | $0.10 | $0.10 | N/A |
Read operations (per 10,000) | N/A | $0.004 | $0.01 | N/A |
Archive priority read (per 10,000) | N/A | N/A | N/A | N/A |
All other operations (per 10,000), except Delete, which is free | N/A | $0.004 | $0.004 | N/A |
Data retrieval | Free | Free | $0.01 | $0.02 |
Archive priority retrieval (per GB) | N/A | N/A | N/A | $0.10 |
Data write (per GB) | Free | Free | $0.005 | Free |
Point-in-time restore data processed (per MB) | N/A | $0.04 | $0.04 | $0.04 |
Azure Blob Storage—GZRS
Data and storage prices
Premium (per GB) | HOT (per GB) | COOL (per GB) | ARCHIVE (per GB) | |
First 50 TB/month | N/A | $0.0414 | $0.0225 | N/A |
Next 450 TB/month | N/A | $0.0398 | $0.0225 | N/A |
First 50 TB/month | N/A | $0.0381 | $0.0225 | N/A |
Operations and data transfer prices
Premium (per GB) | HOT (per GB) | COOL (per GB) | ARCHIVE (per GB) | |
Write operations (per 10,000) | N/A | $0.1125 | $0.20 | N/A |
List and create container operations (per 10,000) | N/A | $0.1125 | $0.1125 | N/A |
Read operations (per 10,000) | N/A | $0.004 | $0.01 | N/A |
Archive priority read (per 10,000) | N/A | N/A | N/A | N/A |
All other operations (per 10,000), except Delete, which is free | N/A | $0.004 | $0.004 | N/A |
Data retrieval | Free | Free | $0.01 | $0.02 |
Archive priority retrieval (per GB) | N/A | N/A | N/A | $0.10 |
Data write (per GB) | Free | Free | $0.005 | Free |
Point-in-time restore data processed (per MB) | N/A | $0.04 | $0.04 | $0.04 |
Azure Blob Storage—RA-GZRS
Data and storage prices
Premium (per GB) | HOT (per GB) | COOL (per GB) | ARCHIVE (per GB) | |
First 50 TB/month | N/A | $0.0518 | $0.02813 | N/A |
Next 450 TB/month | N/A | $0.0497 | $0.02813 | N/A |
First 50 TB/month | N/A | $0.0477 | $0.02813 | N/A |
Operations and data transfer prices
Premium (per GB) | HOT (per GB) | COOL (per GB) | ARCHIVE (per GB) | |
Write operations (per 10,000) | N/A | $0.1125 | $0.20 | N/A |
List and create container operations (per 10,000) | N/A | N/A | N/A | N/A |
Read operations (per 10,000) | N/A | $0.004 | $0.01 | N/A |
Archive priority read (per 10,000) | N/A | N/A | N/A | N/A |
All other operations (per 10,000), except Delete, which is free | N/A | $0.004 | $0.004 | N/A |
Data retrieval | Free | Free | $0.01 | N/A |
Archive priority retrieval (per GB) | N/A | N/A | N/A | $0.10 |
Data write (per GB) | Free | Free | $0.005 | Free |
Point-in-time restore data processed (per MB) | N/A | $0.04 | $0.04 | $0.04 |
Azure Blob Storage vs. AWS S3: The case for a cloud management solution
Price comparison options between Blob Storage and S3 are complicated by each provider’s service packaging. AWS has six storage classes emphasizing usage inclusive of fault tolerance options (e.g., Standard-IA vs. One Zone-IA). Azure Blob storage uses redundancy options (e.g., LRS, ZRS, GRS) and tiering (Performance, Hot, Cool, Archive) to define the service.
Some AWS and Azure services are similar enough for an eyeball comparison, but the pricing structure complicates the view. AWS S3 Glacier monthly storage costs are $0.005/GB; Azure LRS monthly storage costs (for cool tier) are $0.01/GB. A win for AWS S3 Glacier? Possibly. But what about retrieval rates? Then it gets complicated.
Standard retrieval rates for S3 Glacier and LRS are the same ($0.01 per GB) but free expedited retrieval with Blob Storage (if you leverage Hot and Premium tiers). AWS expedited retrieval is $0.033 per GB. And then, there is the cost for the retrieval requests themselves. With AWS, expedited data retrieval requests are $11 per 1,000 requests!
It’s a truth of cloud spend that usage drives costs, but Blob Storage spend is a sum of the storage itself and how you interact with that storage. Keep track of those usage patterns over time to see if initial assumptions work out in practice. The blessing (and curse) of cloud billing is that you quickly learn from your mistakes; there is no hiding from the monthly (cloud bill) report card.
IBM Cloudability ingests, normalizes, and structures Azure billing data and data from other major cloud providers so that you can actively manage spend and consumption to improve the unit economics of running the cloud continuously. Cloudability enables technology, finance, and business teams to optimize cloud costs and maximize the value of their public cloud strategy. Find out more about managing your cloud storage costs with our eBook How to Gain Control of Your Cloud Spend.