Clarification on Developer and Trial Azure Account Pricing
During my recent presentation at Lehigh Valley.NET a really great question was asked about Azure pricing.
What does a computing hour mean? If I run multiple instances at the same time do they both count or only the entire time used?
Not wanting to see any of developers friends get hit with large, unexpected, cloud computing bills I figured I would do some investigating.
Here is what i found…
Azure billing goes live on February 1st
This means all existing CTP accounts will need to be upgraded by January 31st. If you have not singed up for Azure yet there are a couple of options available to you.
MSDN Subscribers
The first is for MSDN Subscribers and includes several benefits such as free computing hours and storage based on the level of your subscription.
Microsoft Partners
Partners have several offers available to them as well with pricing up to almost half off.
Free Trial available to everyone
There is also an introductory special you can use to test out Azure.
Computing Instances
This is where some of the confusion set in. From the page we can see that the trial starts to charge $0.12 per hour for small instances once you pass 25 hours. But what exactly is a computing hour?
If you we click on more details for computing instances on the page we are given the following explanation:
The compute hours included with this subscription can be applied to any of the four compute instance levels at the rates shown in the Compute Instance Conversion Rate Table.
All compute hours are converted into small instance hours when presented on your bill. For example, one elapsed hour of a medium compute instance would be presented as two small compute instance hours at the small instance rate of $0.12 per hour on your bill.
We are also given the following table:
Seems a bit confusing eh? Fortunately so did my fellow teammate Jim O’Neil. After chatting it over with ourselves, going over a few scenarios, and Jim getting some clarification from our internal Azure groups we came up with the following.
- The minimum charge for one compute instance/role is an hour $0.12.
- Each instance runs in parallel and is charged at the same time.
- I think is the one most developers will hit since we’ll want to fire off a few instances for really intensive computing tasks. A scenario for this might look as follows:
- I load up 100 roles
- I run my application for 10 minutes
- Total Cost is $12
- Why? 100 roles running for 10 minutes rounds to 100 hours which is $12. Also note because of the rounding it would be $12 if the 100 roles ran for 59 minutes each as well.
- I think is the one most developers will hit since we’ll want to fire off a few instances for really intensive computing tasks. A scenario for this might look as follows:
- Hours are also correlated with wall time. That is the hours are calculated from 1 p.m. to 2 p.m,. etc. So deploying at 1:40 and shutting down at 2:35, which is 55 minutes, may still cost you two hours of time, because you used part of the 1-2 block and part of the 2-3 block.
Getting the most power for your money
Bottom line – be careful of how many instances you create during any given time period. Also deploying at the top of the hour will get you the most computing power for your money due to the rounding that takes place.
If you are like me and like to test just how much my app can do you might want to be careful of how many instances you create. Especially if you decide to do a test that will last for a longer period of time.
Hopefully this clarification will remove any fears you might have around billing for trial Azure accounts. As always, please feel free to contact me with any additional questions and I will post the responses here.