Azure Pricing

I've been experimenting with Azure on and off for several years, but since Microsoft opened their first Canadian regions earlier this year I've been using it more and more.  One of the first things I did when they became available was move my VMs over to the Canada Central (Toronto).  Other than faster response times due to their close proximity, the experience was exactly the same as being in any other Azure region, which is kind of the point of the whole cloud thing.

To my surprise, a short while after switching I noticed that I had almost burned through my entire monthly credit.  OK, so what happened?  Well, when I switched to Canada Central I also switched to SSD storage and made the incorrect assumption that the "estimated cost" for a VM with SSD storage included the price of the SSD.  Spoiler alert: it doesn't.  After researching I learned that if you use SSDs, you're billed for the entire amount that has been allocated even if you're only using a fraction of it.  After thinking about it, this makes complete sense since you're likely provisioned a set of disks that are entirely yours, which is why some VM sizes with SSDs are unavailable in certain regions.  I don't need SSDs at that price, especially since these VMs are not production boxes.  Let's call that a $200 lesson learned and switch back to basic storage shall we?

This little fiasco highlighted something: I don't think I really understand Azure's pricing at the granular level I should.  As a started to drill into my bill I noticed something else: Canada Central was more expensive than other regions for almost everything.  Of course I knew prices would vary based on region for all sorts of reasons, but it never really clicked until I saw my bill.  I think part of the problem is I haven't seen anywhere in the Azure portal where the difference in region-based pricing difference manifests in a visual way that puts the regions side-by-side.

Alright, so how much more expensive is Canada Central compared to East US2?  What about Canada Central compared to Canada East?  To answer this I started flipping back and forth between pages, but I needed to see it all in one place.  Time to break out the trusty spreadsheet!

In this sheet you'll see the discounted MSDN rate estimates for 1 month.  I priced out the common VMs I use, as well as SSD and non-SSD storage.  The coloring compares each VM across regions horizontally, not within a region vertically.

For completeness, here are the non-discounted Windows and Linux rates respectively (storage prices are the same).

The most surprising part of this isn't that prices vary by region, it's that prices don't vary equally across regions (i.e. region X isn't always 10% more expensive for everything compared to region Y).  For some reason East US 2 and South Central US are cheap for everything except A1-A4 VMs.  I triple checked this because I thought I made an error; trust me, it's correct.  My best guess is that the hardware is purchased for specific classes of VMs and the cost of that hardware (at the time a specific region is built) is used to determine the running costs of the VMs running on it.  The best evidence I have of this is that the brand new F-class VMs are cheaper than the A-class VMs for the MSDN and Linux rates.

Despite all of this pricing confusion between regions, there is one rule that appears to be true: Canada Central is f***ing expensive.