Gaurav Mantri's Personal Blog.

Updates to Windows Azure Storage – Reduced Transaction Pricing and Geo Replication


This is an updated post. When I initially published the post earlier today, I was under the impression that before yesterday’s announcement you paid lesser price for storage and with geo-replication feature (details below), you would pay a higher price. I WAS WRONG. I have since corrected this post accordingly. I sincerely apologize for inadvertently providing you with wrong information. 

You may also want to read these blog posts by Windows Azure Storage Team on the features I’m covering in this post:

Now on to the post!!

Yesterday, 7th of June was quite an exciting day in the world of Windows Azure. A lot of new features were announced like IaaS, support for Non-Windows Operating Systems, Windows Azure Websites etc. etc. [I could go on-and-on with the new features]). Check out Windows Azure website at for more details.

I wrote a blog post yesterday summarizing some of the changes to the Windows Azure Service Management API. You can read this post here:

I’m still waiting for the changes to Storage Management REST API. I briefly saw some changes on the documentation site on MSDN but today when I went back, those changes were reverted back. I’m guessing that they will be releasing those changes soon. In the meantime, I do want to talk about two important changes that are done to Windows Azure Storage. In this blog post we’ll cover those two changes.

Transaction Prices lowered by 90%

Yep! It’s not a typo Smile. Transaction prices are indeed lowered by 90%. Earlier you would pay $0.01 per 10000 transactions. Now you would pay $0.01 per 100000 transactions.


IMHO, this is huge. Storage was cheap earlier, now it has become dirt cheap. When it comes to storage, I think this is a game changer and I suspect other cloud vendors will follow suit (I think they are left with no choice really). I would expect an email from Amazon stating pricing cut within a week or so.

Pricing is a very volatile thing and we have seen it changing a lot over a period of time. To know about the most latest pricing, please refer to Windows Azure Pricing details page:

Control over Geo Replication

One of the things that was included in yesterday’s announcement was control to you over geo-replication of storage data for better durability and high availability. Even though Geo-replication feature was already available with Windows Azure Storage (based on this blog post), now you as as a user has more control over it. Rest of the blog post will be focused on this feature only.

Geo-replication feature of Windows Azure Storage allows you to store your storage data in two different data centers for improved durability and high availability in case of disaster.

With this Geo-replication feature in place, Windows Azure now offers you to store data at two levels of redundancy:

  1. Locally Redundant Storage (LRS) – provides highly durable and available storage within a single sub region.
  2. Geo Redundant Storage (GRS) – provides our highest level of durability by additionally storing your data in a second sub region within the same region.

Geo-replication Considerations

Here’re some of the points on Geo-replication:

  • Only blobs and table data is geo-replicated. Queues are not geo-replicated and I’m not so sure about SQL Azure.
  • As mentioned above, you would want to opt for GRS if you think your data is important and must be available at all times even in the cases of major disaster.
  • Geo-replication comes at a cost to you. Luckily the pricing for this feature is already included in the cost that you pay today. At this time, GRS pricing is about 34% more than LRS pricing. So if you’re careful about which storage account’s data you wish to geo-replicate or not, you could potentially save some money.
  • From what I have read so far, as of now you as a customer don’t get to decide the secondary location where your storage data will be replicated to. You only specify whether you want your data to be geo-replicated or not.[UPDATE] To find the list of secondary data center location based on your primary data center location, click here:
  • From what I know so far, your secondary data center will be in the same region as your primary storage account region. [UPDATE] To find the list of secondary data center location based on your primary data center location, click here:
  • By default, when you create a storage account your data will be geo-replicated. Also all your existing storage accounts are geo-replicated by default. This is very important to understand as this could give you an opportunity to save you some money on your storage costs. I’ll talk more about it below.
  • From what I know so far, Windows Azure reserves the right to switch access to geo-replicated storage from primary storage. They would do so only in case of “Catastrophic” failure of primary data center.
  • From what I know so far, you don’t get access to geo-replicated storage data (not even read-only) unless geo-replicated data becomes the primary data.

    Pricing Considerations

    As mentioned above, GRS costs you more (about 34% more than LRS). Furthermore, all of your existing storage accounts are geo-replicated by default. Also any new storage account you create, by default geo-replication is turned on. However you can turn geo-replication off at the time of storage account creation (more on this below). 

    Earlier, you paid one price which included geo-replication and now you as a user has the power to turn off geo-replication thus giving you an opportunity to save on your storage cost. For example, if you have a storage account which only stores say some test data or diagnostics data, you may not want that data to be geo-replicated.



Disabling Geo-Replication When Creating Storage Account

Use the following steps to disable geo-replication when creating a storage account:

1. Login to Windows Azure Portal using your Live ID. The new URL for the portal is

2. Click on “New” button at the bottom of the screen.


3. In the menu that shows up, click on “Storage”.


4. Fill all the necessary details. However, please ensure that the checkbox for “Enable Geo-Replication” is unchecked. As you can see from the screenshot below, it is checked by default.


5. Now when you create this storage account, it’s data will not be geo-replicated.

Disabling Geo-Replication on Existing Storage Account

As I mentioned, all your existing storage accounts (created before when the new portal went live) are geo-replicated by default. If you really don’t want the data to be geo-replicated, you should turn off geo-replication now. Use the following steps to disable geo-replication on an existing storage account:

1. Login to Windows Azure Portal using your Live ID. The new URL for the portal is

2. Click on the desired storage account from the grid on the right or just view the storage accounts list by clicking on “STORAGE” menu item on the left as shown in the screenshot below:


3. You’ll see more details about that storage account. On the right hand side under “quick glance” you will know if geo-replication is enabled on that storage account and what are the primary and secondary regions as shown in the screenshot below:


4. Click on “CONFIGURE” link up on top and toggle the GEO REPLICATION button from “ON” TO “OFF”.


5. Make sure that you hit the “SAVE” button below to save this change.



Enabling Geo-Replication on a Storage Account

So the procedure for enabling geo-replication on a storage account is same as that for disabling as described above. However it has a pricing implication.

You see, for your existing storage accounts Windows Azure has eaten up the cost of doing initial geo-replication (so to speak) and then you pay a higher price (compared to LRS) on an ongoing basis. For your new storage accounts, you pay Windows Azure a higher price for facilitating geo-replication (again as compared to LRS). But if you have turned off geo-replication on a storage account and then you turn on this feature, Windows Azure will charge you for doing initial replication. You would be paying for 2 things (I’m not 100% sure about this):

  1. Storage transactions (both at the primary and secondary locations).
  2. Data transfer fees. Since the data is going out from primary location to a secondary location, it would be considered as “Data Egress” and hence you would be charged for that.

I came to this conclusion after reading upload “Update Storage Account” Service Management API function ( This is what is written over there:


Thus you would need to be careful playing with this feature.


Needless to say the reduction in storage transaction price and control over data geo-replication are two really important and beneficial features to Windows Azure customers and I’m sure that these will result in increased Windows Azure adoption.

With you controlling geo-replication for your storage account, gives you more chances to save money on storage costs. For some of the storage accounts, you will be able to reduce the storage charges by as much as 34% which I think is pretty big.

I hope you have found this information useful. If you think I have made some errors and provided some incorrect information, please feel free to correct me by providing comment. I’ll fix those issues ASAP.

Stay tuned for more Windows Azure related posts. So Long!!!

[This is the latest product I'm working on]