EXACTLY when does charging start for your free Windows Azure subscription? The simple answer is when you've gone over one of the free limits (compute, storage, IO). Storage and IO are easy to calculate - you get a certain amount of storage for free, so if you store more than that, you get charged: similarly for IO. The one that has all the debate is compute hours.
If you think about it, Windows Azure is a business a little like, say, a car-rental business. When you rent a car, it means no other customer can use the car (and generate income for the rental company). Even if you park the car and it sits there idle, doing nothing other than just, well, sitting - it is not possible for the resource, the car, to generate income from another customer. All the time the car is rented to you, you have exclusive access to it, even if it is idle in a car-park.
It's like that with VM instances in Windows Azure. When an instance is allocated to you, no other customer can use it. A little like the car. Whether the instance is actually running your code or not (a bit like the car being parked) is irrelevant to that instance's availability to generate income from another customer. Look at the screen-shot below of the management portal. As soon as you click Deploy Windows Azure is going to hunt around for a free instance and that instance will be allocated to you. That is the point at which your hours start counting up. Even if you haven't clicked the Run button the instance is a resource that can no longer be allocated to another customer - just like the rental car. If you want to avoid hours coming off your free subscription (or you want to avoid being charged if you have exceeded the free hours) you need to delete the service, not just stop it.
Question: What happens to your hours when you click Deploy?
Once your application is deployed, if you click Suspend - you will still be charged. Even though the application itself isn't running, the VM instance is running. THe Azure portal warns you with this message:
Figure 2: You will still be charged!
Remember, it's just like the car you have rented being parked with the engine switched off and doing nothing. You still pay for the rental... They warn you again with this message embeded in to the status page:
Figure 3: It continues to accrue charges
If you want to take advantage of one of the free introductory offers for Windows Azure - follow this post so you don't end up with a little surprise the next time you get a credit card statement.
There are 2 main offers:
So, if the offers are free, why are you prompted for credit-card information? If you go over the allocated amount of time/storage/IO, there isn't a built-in mechanism to simply detect this and "undeploy" your service off a VM instance. That would be akin to the sort of laptop that just dies without warning on battery-low, usually when you are doing the best work of your entire life... The assumption the Azure team make is that you'd like to be in control of your service so they allow it to continue to run. As time advances your service out of its last free hour you will start to clock up a credit card bill for the compute/storage/IO you are using. Remember - you are charged all the time you have an instance allocated to you.
You also need to make sure you sign up for the correct offer - there are a few which have preferential rates, but they are chargeable for all service usage - there is no free element. I've created a simple click-by-click video that shows you how to sign up and get 25 hours free in the Introductory Special service to get you started.
Click the image above to view the click-by-click signup video
And to put an end to all confusion, I've also created a similar video for the Windows Azure Platform MSDN Premium offer.
Click the image above to view the click-by-click video
Enjoy your time with Windows Azure knowing how to get access to the free hours and knowing the criteria for being charged (or not!)...