Azure Hot and Cold Blob Storage

A recent addition to the Blob storage service is the addition of “Hot” and “Cold” Blob storage. This Cold storage type is a storage with slightly lower SLA than the regular (and of course Premium) generic storage and the Hot Blob storage and the Cold storage also has a different payment model which I intend to explain in detail later in this post. It is too easy to say that it will always be cheaper because if you use it incorrectly you will get a higher cost than with Standard Storage or “Hot” Blob Storage. The new “Cold” tier service is ideal for cheap, long-term, non-mission-critical storage, archiving and especially for non frequently accessed/updated blobs. These could range from such as long term storage of logs, archived pictures/movies/file (or any file that does not change that often) or data that needs to be stored for a long time for legal traceability.

Blob Storage vs traditional Storage

Blob Storage is a storage type that is only intended for storage of Blobs (Block Blobs and Append Blobs). It cannot contain Page Blobs (such as random access Vhd images, queues or tables). It is also only available in Resource Manager mode (so you can not create it in the classic portal or classic mode). Microsoft intends this Blob Storage to be used for storage of files, pictures, movies etc in the future but you can rest assure that the classic generic storage will not be discontinued in the forseable future. But it does means that you should now not create a “normal” storage account to save files of the above types and similar, but rather use either “hot” or “cold” tier Blob storage instead. The choice between the traditional generic and new Blob storage is named Account Kind in the portal and has two options (General Purpose (=traditional storage) and Blob Storage).

Create a Hot or Cold Blob Storage

You create the storage account just as you would normally do through the “new”(er) portal (https://portal.azure.com), Powershell or APIs (REST or Azure SDK). I will display the portal way below.
In the new portal you can create the portal by pressing New|Data & Storage|Storage.

New Blob Storage
New Blob Storage

Make sure you select Deployment Model = Resource Manager and Account Kind = Blob storage.

Account Kind
Account Kind should be set to Blob Storage

So now you are left with the decision on whether to use “Hot” or “Cold” storage. This is referred to as Access Tier in the portal. The hot and cold terms refer to the access frequency of the Blobs, i.e. content in a hot storage account is accessed frequently (i.e. lots of reads and/or writes), while a cold file is seldom accessed (hence categorized as cold).
The decision you make therefor applies to all files in the storage account. If you need both hot files and cold files you are best of creating two Blob storages. The reason for this will become clearer when we discuss the pricing models.
The choice is not permanent but there could be ramifications and might become a costly operation to swap from cold to hot storage (see separate section) so don’t take the decision too lightly.

Hot vs Cold Access Tier
Hot vs Cold Access Tier

So now choose your Access Tier to either hot or cold. Your storage account is soon created and you can access it the same way as you access Blobs in traditional storage.

Pricing Model

The hot and cold Access Tier models offer payment methods suited for the both types (Access Tiers). So a wrongful choice of model compared to the type of access in terms of access frequency and GB amount stored may lead to undesired unnecessary costs. The list prices depends a bit on the type of redundancy you choose for the storage account and the region you place the storage in. As an example, for West Europe at the time of writing the post, the cold storage cost per GB is about 60% of the hot one. I have seen examples in other regions that it can be less than half of the cost though. So for exact costs you’d better check at Azure Pricing at https://azure.microsoft.com/pricing/details/storage/.  But the main ideas on how it is charged can be found in the below table.

Blob Storage Type Suited for Payment factors
Hot
99.9% SLA
Low cost frequently accessed blobs. Images in websites, active logs and documents. High Performance (same as Cold) •    Storage GBs Cost (higher)
•    Data Transfer Out
• Certain Operations
Cold
99.9% SLA
Archived Logs, Backups, historical data. High Performance (same as Hot) •    GB Write/GB Read
•    Storage GB (lower)
•    Data Transfer Out
• Certain Operations

You notice that the SLA does not differ much but the cold storage pricing is even cheaper than the hot one if you don’t make too many operations (standard storage is a very cheap service from the start). What is equally important is that the two options are offering the same performance for accessing the Blob Storage.
In regards to the SLA; I don’t think you need to be afraid that the data will generally not be available. But in case of critical disaster it is safe to assume that Cold storage will likely be restored after all premium and standard and Hot storage accounts are restored.

Considerations about changing type on the fly

You can change the Blob Storage characteristic at any point. But by doing so you will force access to all files (bytes). In the case of Cold->Hot storage you have to pay for a lot of I/O (equal to read of all blobs in the storage) for converting the Blob storage type so this may result in a substantial cost for a large Blob storage. Converting from hot to cold on the other hand is free, likely depending on the fact that fetching data from blobs is free in hot storage.

Change Access Tier
Change Access Tier

Conclusion

You should avoid creating new traditional storage accounts if you are only going to support blobs (Block blobs – not page blobs) and instead use the new Resource Manager based Blob Storage. The choice between Hot and Cold Storage can save you money depending on how much data is stored as well as how frequently they are used. For frequently accessed Blobs use Hot storage, for storage of big amounts of data unfrequently accessed data use cold storage. For storage concerning Tables/Queues and Page Blobs you are still referred to the classic storage service creation. Your best choise could very well create several different storages for different purposes (hot/cold/pageblobs/queues/tables). As you don’t pay for the number of storage accounts this should not be an issue for your applications.

6 thoughts on “Azure Hot and Cold Blob Storage

  1. Converting from cold to hot on the other hand is free… In the same paragraph just a few sentence before you say that it could result in a substantial cost. Something is mixed up here…

    Like

    1. Thanks and you are absolutely right. I definitely had the misplaced the hot and cold words in that sentence. I have corrected it now. Hot to Cold = “Free”. Cold to Hot may (for a huge Blob storage) generate a substantial cost.

      Like

    1. Yes, it is. I tested this morning both for a new all-purpose v2 storage and a Blob Storage in UK West/South and was able to upload blobs and set them as archive files. Note that you can only set archive AFTER the blob is uploaded. You still cannot set a complete Storage account to Archive. You have to select hot or cool as creation time.

      Like

  2. How long does it actually take to convert a 4-5TB cold blob storage to hot in minutes/hours? Is there any performance penalty while this conversion is ongoing?

    Like

Leave a comment