locked
Is Blob storage the best mechanism for my files? RRS feed

  • Question

  • Part of my application stores many files, mostly PDFs... Originally I had written it to store the files in the database, but quickly learned that it was inefficient both performance-wise and cost-wise. I switched to using Blob storage with location references stored in the DB. I am at a point where I am about to do some major re-architecting of my application (after many use-case revisions and lessons learned). I just want some feedback as to the best storage mechanism. Most of the articles I see on Blob storage are a couple years old, at this point.

    So, for files that are mostly stored for posterity (and legal requirements) and occasionally accessed for display or download, is Azure Blob Storage the best way to go?

    Thanks.

    j


    http://digitalcamel.blogspot.com/

    Monday, June 13, 2016 2:41 PM

Answers

  • Hello,

    The other option you have is to use Azure File Storage which allows access to data via the REST API as well as the traditional SMB protocol allowing you to mount a file share. This is most beneficial when you want to migrate existing application from on-premise system or when you want both types of access.

    However considering you already have an application which integrates with Blob storage and the fact that the you mentioned your data is occasionally accessed, I would suggest continuing with Blob storage for the following reason: 

    We recently introduced cool and hot storage tiers for blob storage. The cool storage tier charges lower for storing the data and instead charges for accessing (reading/writing) data. For data that is seldom accessed (which in your case if looks like it is), this pricing model allows you to save significantly depending on the type of the data access pattern. To use this feature you will need to create a new type of storage account that is specialized for storing block and append blobs called "Blob storage account".

    For more details please see,

    Blog post: https://azure.microsoft.com/en-us/blog/introducing-azure-cool-storage/
    Getting started article: https://azure.microsoft.com/en-us/documentation/articles/storage-blob-storage-tiers/
    Regions where the feature is available today (Look for Blob storage accounts under storage): https://azure.microsoft.com/en-us/regions/#services
    Pricing based on regions (Look for Blob storage accounts): https://azure.microsoft.com/en-us/pricing/details/storage/

    Hope this helps,

    Sri

    Monday, June 13, 2016 9:01 PM
  • Hi Digital Camel,

    You can switch the access tier back and forth between hot and cool as needed. You don't need to keep creating storage accounts for that purpose. If you wanted to start with a new storage account for the newer data, you could do that. You can't have part of a storage account be hot, and part be cool.

    There is a limit of 100 storage accounts per subscription, which can be raised as high as 250 if your business case is approved by the Azure Storage team. In your case, you might find it better to create a Cool Storage account and a Hot Storage account, and periodically archive your data from the hot account to the cool one, rather than creating new storage accounts repeatedly.

    You can write your own code to do that, or use the AzCopy utility (http://aka.ms/azcopy).

    Good luck!
    Robin


    Sr. Content Developer at Microsoft




    Thursday, June 30, 2016 7:55 PM

All replies

  • Hello,

    The other option you have is to use Azure File Storage which allows access to data via the REST API as well as the traditional SMB protocol allowing you to mount a file share. This is most beneficial when you want to migrate existing application from on-premise system or when you want both types of access.

    However considering you already have an application which integrates with Blob storage and the fact that the you mentioned your data is occasionally accessed, I would suggest continuing with Blob storage for the following reason: 

    We recently introduced cool and hot storage tiers for blob storage. The cool storage tier charges lower for storing the data and instead charges for accessing (reading/writing) data. For data that is seldom accessed (which in your case if looks like it is), this pricing model allows you to save significantly depending on the type of the data access pattern. To use this feature you will need to create a new type of storage account that is specialized for storing block and append blobs called "Blob storage account".

    For more details please see,

    Blog post: https://azure.microsoft.com/en-us/blog/introducing-azure-cool-storage/
    Getting started article: https://azure.microsoft.com/en-us/documentation/articles/storage-blob-storage-tiers/
    Regions where the feature is available today (Look for Blob storage accounts under storage): https://azure.microsoft.com/en-us/regions/#services
    Pricing based on regions (Look for Blob storage accounts): https://azure.microsoft.com/en-us/pricing/details/storage/

    Hope this helps,

    Sri

    Monday, June 13, 2016 9:01 PM
  • Thanks for the detail, Sri.  Let me ask you this:

    In our case, when files are stored, they will be "hot" for a quarter or two, then we would want to switch them to "cool".

    From what I am reading, it sounds like I would have to keep creating new Blob Storage Accounts every quarter, or so, so that I can switch the aged ones to cool while keeping the newer stuff hot.  Is that correct?  And can I automate that via c#?

    Thanks.

    J


    http://digitalcamel.blogspot.com/

    Friday, June 17, 2016 4:58 PM
  • Hi Digital Camel,

    You can switch the access tier back and forth between hot and cool as needed. You don't need to keep creating storage accounts for that purpose. If you wanted to start with a new storage account for the newer data, you could do that. You can't have part of a storage account be hot, and part be cool.

    There is a limit of 100 storage accounts per subscription, which can be raised as high as 250 if your business case is approved by the Azure Storage team. In your case, you might find it better to create a Cool Storage account and a Hot Storage account, and periodically archive your data from the hot account to the cool one, rather than creating new storage accounts repeatedly.

    You can write your own code to do that, or use the AzCopy utility (http://aka.ms/azcopy).

    Good luck!
    Robin


    Sr. Content Developer at Microsoft




    Thursday, June 30, 2016 7:55 PM