Gaurav Mantri's Personal Blog.

Understanding Azure Premium Storage – A Developer Perspective

As you may already know Azure Premium Storage is the latest offering from Azure Storage which is designed specifically to handle Virtual Machine workloads. A few weeks back we included support for managing Premium Storage in Cloud Portam. There were a few things I learnt during that process and in this blog post I will share those learning.

Premium Storage Only Support Blobs

As of today, Premium Storage only supports blobs. It does not support Tables, Queues and File Service. In fact, if you try to access Tables, Queues or File Service using “account.[table]|[queue]|[file].core.windows.net” endpoint, you will get an DNS resolution failure error.

Even with blobs, it only supports “Page Blob”. “Block” blobs are not supported at all. Any attempt to perform Block blob related operations will result in an error from the storage service itself.

No CORS/Storage Analytics Support

As of today, Premium Storage does not support Cross-Origin Resource Sharing (CORS). It also does not support Storage Analytics as well. I guess the latter is due to the fact that Storage Analytics need to store data in tables in the same storage account and this kind of storage does not support table service.

Any attempts to Get/Set CORS and Storage Analytics will result in an error. In short, you can’t perform “Get Blob Service Properties” and “Set Blob Service Properties” on a Premium Storage Account.

Premium Storage is Local-Redundant Only

As of today, Premium Storage is Local-Redundant Storage (LRS) only. Thus your data will be replicated 3 times only in the same region. The data will not be replicated to a secondary location (GRS) and thus it is not even possible to enable Read-Access Geo-Redundant Storage (RAGRS) on this storage.

Premium Storage does support asynchronous copy blob operation so if you want to take a backup of the contents in your storage account, you can do so easily by copying blobs from one storage account to another.

Blob Containers can only have “Private” ACL

As you may already know, in Azure Storage a blob container can have one of the following ACL – Private, Blob and Container which dictates how a blob container/blob can be read. However with Premium Storage, a blob container can only have Private ACL as of today. Any attempt to set the blob container’s ACL to “Blob” or “Container” would result in an error.

Snapshots Restrictions

While you can take a snapshot of blobs in Premium Storage, there are a few restrictions as of today:

  • There can be a maximum of 100 snapshots for a blob.
  • You can only take a blob snapshot once every 10 minutes. Any attempt to take another snapshot within 10 minutes of taking a snapshot will result in an error.
  • 10 TB is the maximum capacity for snapshots per Premium Storage account. Note that the snapshot capacity is the unique data that exists in the snapshots. In other words, the snapshot capacity does not include the base blob size.

Other Operations are Supported

Apart from the restrictions mentioned above, all other operations on a blob container and blobs in that container are fully supported. For example, you can define access policies, create Shared Access Signature (SAS), perform lease related operations and many more on a blob container. Similarly you can perform all operations on a blob as well. For more details, please visit this link: http://azure.microsoft.com/en-in/documentation/articles/storage-premium-storage-preview-portal/.

Pricing

This is where things get interesting :). A long time back, a colleague of mine shared something his ex-boss used to say:

Never assume anything because when you do, you make an ass of you and me (ass-u-me).

This is exactly what happened with me with Premium Storage. Since Premium Storage only supports Page Blobs, I assumed that the same pricing rules (only occupied bytes are chargeable) would apply here as well. I never bothered to go through the pricing page and tried to understand that. So for the development of Cloud Portam, I create about 150 page blobs with each about 1KB in size thinking I will be only charged for 150KB which is nothing. I created them in a subscription that has a pricing cap (about $250.00 / month) on it. Then within a few days of new billing period in that subscription, I got an email from Microsoft that I have reached my spending limit and my subscription is suspended. I was surprised as to why this has happened and obviously tried to blame Microsoft for that citing some billing mistake :). Then my good friends in the Storage Team explained me how the pricing works and I realized my mistake.

Basically, Premium Storage is offered in 3 categories (or options) – P10, P20, and P30. Each category has a maximum disk size limit which as of today is 128 GB, 512 GB and 1 TB respectively. For the purpose of pricing in Premium Storage, the page blob size is calculated (which in my case was 1 KB) and rounded up to the nearest category. So in my case it was rounded up to 128GB and instead of 150KB my storage went up to about 19TB (150 * 128 GB). So basically I ended up with 150 P10 disks in my storage account and I ended up burning roughly $50.00 / day :). I know, pretty ignorant of me!!! I thank God that I tried this in an account with spending limit. Not sure what would have happened if I had tried in other accounts where I didn’t have spending limit set :P.

Anyways, I learned my lesson and I hope you won’t make the same mistake as I did.

Summary

That’s it for this post. I hope you have found this post useful. If you find any issues with the post, please let me know and I will fix those ASAP.

Prarambh 2015 – A Recap

Over the weekend of Feb 20 - 22nd 2015, Indian Institute of Management (IIM) Udaipur’s Entrepreneurship Cell “Saksham” organized a 32 hour startup challenge event (Prarambh). This was the 2nd time an event like this was organized (and I'm extremely … [Continue reading]

What Startup Founders Can Learn From Ocean’s Eleven Movie

I’m a huge fan of movie Ocean’s Eleven. In fact, I watch this movie every time it comes on TV. For those who don’t know about this movie, in short it is a heist film where George Clooney along with 10 other folks rob three Las Vegas casinos in one … [Continue reading]

Azure SDK 2.5 and Cloud Service Diagnostics

Recently Azure team announced the availability of SDK 2.5. You can read the release notes here: http://msdn.microsoft.com/en-us/library/azure/dn873976.aspx. One of the major change that was done in this release is related to diagnostics. In this post … [Continue reading]

Azure Search Service – Some Documented/Undocumented Business Rules

As you may already know, for past 2 weeks we have been implementing support for Azure Search Service in Cloud Portam. We released a newer version yesterday (more on this here). Currently there is no SDK available for this service and we ended up … [Continue reading]

Cloud Portam Now Supports Azure Search Service

SNAGHTML764cdcc.png

I’m pleased to announce that today we released a new version of Cloud Portam which includes support for Azure Search Service which was announced recently. This blog post talks about Azure Search Service features currently supported in the … [Continue reading]

Making Azure Blob Storage Searchable Using Azure Search Service

Every now and then question about searching in Azure Blob Storage comes up in one of the community forums. Folks posting the questions would like to find out things like: Finding blobs containing certain letters in them e.g. all pdf or png files … [Continue reading]

Announcing The Launch Of Cloud Portam – A Browser Based Azure Storage Explorer

image.png

Its’ been quite some time that I blogged. Past few months have been crazy busy for me. After the failure of my last product (anybody remember CloudFileXchange thingie we did :)), I spent a lot of time thinking about what to build and then spent more … [Continue reading]

What Startups Can Learn From Aam Aadmi Party

For those who have been closely watching Indian Parliament elections concluded recently, you already know who Aam Aadmi Party (AAP) is. For those who don’t know, AAP is the youngest political party which came into existence in 2012 as a result of … [Continue reading]

Me and My Boss – The Saga Continues With Basic Tier Azure Virtual Machines

Man, my boss is always on my case. After what I did with Azure Mobile Services with him, he’s always after me. So this Friday, he calls me up in his office and following conversation happens between us: Boss: The Virtual Machines we’re hosting in … [Continue reading]