Demystifying the Cost of Azure Blob Storage

The Microsoft Azure cloud platform offers a vast array of services including cloud storage. Within Azure storage, there are multiple offerings but the most economical is blob object storage. The very large and growing Azure service offerings make for a complicated charging model. This posting attempts to explain the pricing model for Azure blob storage.

Blob storage is available in two storage tiers: hot and cool. You might think that hot has higher performance than cool but this is not correct – they have similar data throughput and data access times. If you have enough Internet bandwidth, the performance is amazing whether you are using hot or cool. The biggest difference between the tiers is the cost model and there is also a small difference in the availability provided in the Azure Service Level Agreement. For most archival applications, the cool tier is the way to go as this will result in lower costs.

Microsoft has a global network of data centers and the cost structure is affected by the location that you choose. There is a good selection of lower cost locations in North America and Europe including East US 2, Central US, South Central US, West US 2, West Central, Canada East, Canada Central, North Europe and West Europe.

An additional important factor affecting cost is the level of redundancy selected. The main options are:

  • LRS – locally redundant storage replicates your data three times within a datacenter in the region in which you create your storage account.
  • GRS – Geo-redundant storage replicates your data to a secondary region that is hundreds of miles away from the primary region.
  • RA-GRS – Read-access geo-redundant storage maximizes availability for your storage account, by providing read-only access to the data in the secondary location, in addition to the replication across two regions provided by GRS

As you would expect, LRS is the lowest cost redundancy option.

Having selected the storage tier, the Azure region and the level of redundancy, the monthly cost depends on several components:

  • Capacity – the volume of data held in the cloud
  • Data Write – the volume of data written to the cloud
  • Operations – transactions such as delete, index operations, etc.
  • Data Retrieval and Download Bandwidth – the volume of data restored from the cloud

If you choose the cool storage tier, one of the lower cost regions and LRS redundancy, blob storage account costs are calculated as below.

  • Capacity charges which is easy to calculate; it is $10 per month per TB held in the cloud.
  • Data Write charges are $3 per TB uploaded to the cloud.
  • Operations charges should be relatively low cost for a well-designed implementation.
  • Data Retrieval and Download Bandwidth charges apply to data restored to your facility. The Data Retrieval element is $10 per TB downloaded. But in addition, you will be charged for Download Bandwidth which has a banded charge structure that depends on the total amount of data restored in the month. The Download Bandwidth charge is in the range $83 to $87 per TB for up to 50 TB downloaded per month.

As an example, I will take an average capacity of 100 TB held in the cloud, 5 TB uploaded and 5 TB downloaded during the month. In this case, the cost will be broken down as shown below.

Cost ComponentCost / Month
Capacity (100 TB)$1,000
Uploads in month (5 TB)$15
Downloads in month (5 TB):
>> Data Retrieval Cost$50
>> Download Bandwidth Cost$435
Total$1,500

In addition, there will be a relatively small charge for the operations component.

Azure has a complicated charging structure because it offers such a wide range of services. But for anyone looking to implement hybrid Azure blob storage with transfers between local storage and the cloud, I hope that this posting demystifies the cost model.