WOW! Watch Out For Falling Prices: SQL Azure Price Drop Explained

Monday night I spoke at the Microsoft Business Intelligence NYC user group on SQL Azure Reporting.  Wednesday night I was at the NYC Azure user group doing an update on the new features & services that came online in December 2011.  In between, there was a bit of a bombshell for fans of SQL Azure.

breaking-news

This just in! (Okay…  this was sooo 30 seconds ago—er, 72 hours ago, but maybe it’s still news to you.)  SQL Azure prices were slashed to the bone!  50-75% price drops depending how much storage you use.  Also, a new “100mb” database price was introduced at $5.00/month to get started with small databases.  This should make getting started with SQL Azure more palatable to small apps that need a relational database in the cloud.

FallingPricesHere’s a break down of the new SQL Azure pricing:

GB

Previous Pricing

New Pricing

New Effective

Price/GB

Total % Decrease

5

$49.95

$25.99

$5.20

48%

10

$99.99

$45.99

$4.60

54%

25

$299.97

$75.99

$3.04

75%

50

$499.95*

$125.99

$2.52

75%

100

$499.95 *

$175.99

$1.76

65%

150

$499.95*

$225.99

$1.51

55%

*Previous prices for 50GB and larger reflect price cap of $499.95 announced December 12, 2011.

Get Started with 100mb Database Pricing at $5.00/month

If you have a database that is 0-100mb in size, you now pay only $4.995 per month (that’s a whopping HALF A CENT lower than 5 bucks! Smile).  Previously, you paid $9.99/month for the smallest 1GB database option.

I logged in yesterday to check this out.  From what I found, there might be some confusion around the 100mb database price. I’ll try to sort that out for you here.

When you provision a SQL Azure database in the Windows Azure Management Portal, you are presented with a drop-down list to choose your database size from.  Available options are 1, 5, 10, 20, 30, 40, 50, 100, and 150GB.  The 1GB & 5GB sizes are labeled as “Web” and the others labeled as “Business”. 

Q. “Wait a second?!” you ask. “Where is the new 100MB option?”.   (At least, that’s what I asked when I logged in last night!)

Answer: There is no 100MB option to choose from when you provision a SQL Azure database. 

Q. "Why??”

Answer: When you provision a database in SQL Azure, you are essentially provisioning the “maxsize” of the database. You only pay for the data you actually store. So, if you want to provision a small database in SQL Azure, you would still choose the 1GB “Web” option.  What’s different now is that you will only be charged $5.00 for the first 100mb.  For data that is 101mb to 1GB, you’ll pay $9.99 per month.

SQL Azure Pricing Explained

Okay, now that we got that out of the way, I thought I’d tackle another aspect of SQL Azure pricing that I found confusing. I think I can best explain by answering two FAQs that I get when I speak to people about SQL Azure:

Q. So what if I use a database that is just bigger than one of the sizes, but still a lot lower than the next size?  (i.e. What if I have an 1.7GB database?  Will I really be charged with the 10GB price of $45.99/month?)

A. No! SQL Azure charges for usage as-you-go in 1GB increments (with the exception of the new 100mb price at the low end).  The price per GB depends on what size bracket you’re in.  From the SQL Azure pricing page:

Database Size Price Per Database Per Month
0 to 100 MB Flat $4.995
Greater than 100 MB to 1 GB Flat $9.99
Greater than 1 GB to 10 GB $9.99 for first GB, $3.996 for each additional GB
Greater than 10 GB to 50 GB $45.954 for first 10 GB, $1.998 for each additional GB
Great than 50 GB to 150 GB $125.874 for first 50 GB, $0.999 for each additional GB

Based on the table above, that 1.7GB database would cost you $9.99 for the first GB, then you would be charged $3.996 for the second GB (since billing is in 1GB increments). Therefore, the total would be $9.99 + 3.996 = $13.986/month for 2GB of usage.

Q. What if I host a database for only a short period of time?  For example, I host a database for 1 day while I’m testing things out.

A. If you’re testing things out, you might have no charges if you’re using either a 90-day free trial account or your MSDN Subscriber benefits!  But, let’s say that you’re not on a trial account or MSDN, so you’re paying the “street price”.  In that case, according to the SQL Azure pricing page

“Customers are billed based on the peak database size in a day. SQL Azure Database is charged as a monthly fee for each database, but that database fee is amortized over the month and charged on a daily basis.”

In the example of that 1.7GB database above, if you hosted it for only one day your charge would be as follows:

($13.986/month for a 2GB database)/ 31 days = $0.451/day.

If you hosted it for a week, you’d be charged: ($0.451/day) * 7 days = $3.158

Q. Okay, that makes sense.  But I suck at math.  Is there a simple way to just figure out how much it will cost me for a given size?

A. Yes! Visit the new Windows Azure calculator page.  They have these fancy-schmancy sliding calculators that will show you what your bill will be based on a given amount of usage.  Slide it up and you’ll know exactly what you’ll pay per month!  Here’s a view of how much that 1.7GB database will cost:

SQLAzurePricingCalculator

Hopefully this post clears up any confusion you might have around the new SQL Azure pricing.  Still confused?  Leave me a comment here on this post and let me know what you think.  Thanks!