So yesterday I whipped up a quick post going over how to deploy a trivial MVC 2 application to Windows Azure. One of the most important things to realize here is that you incur costs in the cloud regardless of whether or not someone is actually using your cloud-based application. For grins and giggles, I wanted to see just how much of my free allotment I had used up. So I fire up the management portal, looking for some link to help out.
For the life of me, I couldn’t find any link remotely related to billing on this page. I did see the “Take me back to the old portal” link, so I clicked that to see what I could find. Ignoring Microsoft’s pleas to stay with the most recent “enhanced experience,” I was presented with the below display.
Woot, there was a link that had hope. Clicking that took me the Microsoft Online Services Customer Portal.
Utter hotness that I had to log in again. Once I did, the “View my bills” link was enabled, and I dutifully clicked it, then clicked “View Online Bill/Invoice” on the next screen corresponding to the one billing cycle I had accrued charges for.
Thank goodness, I don’t owe any money. But how close was I to owing any? Clicking “Windows Azure Usage Charges” produced the below.
Apparently my playing around yesterday had consumed over half of my free compute hours. When I had first started experimenting, I remember leaving my first deployment in a suspended state, despite having read a blurb somewhere that this still incurred charges. I certainly didn’t leave it running for 16 hours; 2-3 tops. So what the hell is a compute hour? The Windows Azure pricing page tries to answer me:
Compute time, measured in service hours: Windows Azure compute hours are charged only for when your application is deployed. When developing and testing your application, developers will want to remove the compute instances that are not being used to minimize compute hour billing. Partial compute hours are billed as full hours.
I find it pretty impossible that I left my application deployed for 16 hours. It would be very useful to be able see some sort of detail for my deployment, say start and stop times, but alas, there’s no way to get that information. I guess I’ll just have to be more careful going forward.

[...] This post was mentioned on Twitter by Tech news (BOT), Jeff Vera. Jeff Vera said: Blogged: Windows Azure – How Much Is It Costing Me? http://www.barebonescoder.com/2010/12/windows-azure-how-much-is-it-costing-me/ [...]
It’s too bad they don’t give more detail on how those charges were accrued. It would be very interesting to see how they got to 16 hours of usage based on your description. I keep wondering if it’s some kind of mismatch between the instance type provided by the free account (“small”, presumably single-core) and the instance type you actually used. If you accidentally used a “medium” or “large” instance, that might amplify the rate at which the charges accrue.
Along the same lines, I did a cost analysis of public versus private clouds for my team’s dev/test environment here. I found that for systems that are more-or-less continuously deployed, a private cloud is vastly less expensive than a public cloud, in part because of the ability to oversubscribe the hardware.
Anyway, interesting stuff, thanks for the writeup!
Its just crazy that you wouldn’t be able to anticipate your cost reliably. I’m hoping Amazon’s reporting is way better; no way I would feel comfortable with Azure’s model the way it is now.
Hi! I work on the Windows Azure team. If you really only had one small instance running for a few hours, your usage should just be a few hours. It’s no more complicated than the number of instances times the number of hours deployed.
One idea to ponder: staging costs the same as production, so if you had one instance in staging and one in production, that’s two instances. Is it possible you had more than one instance running?
Another idea: the minimum billing unit is an hour, so if you ran something for fifteen minutes and then shut it down, that still counts as an hour. Maybe you deployed, deleted, and deployed again a few times?
If none of that seems like it, I’d really encourage you to contact support. Either they’ll be able to help you figure out exactly where those sixteen hours came from, or they’ll find a bug in our billing/reporting.
Why on earth would the minimum compute time be an hour? What sort of a ripoff is that for developers who are trying it out?
[...] Windows Azure – How Much Is It Costing Me? >> Musings of the Bare Bones Coder “Apparently my playing around yesterday had consumed over half of my free compute hours. When I had first started experimenting, I remember leaving my first deployment in a suspended state, despite having read a blurb somewhere that this still incurred charges. I certainly didn’t leave it running for 16 hours; 2-3 tops. So what the hell is a compute hour?” [...]
I’ve seen this story over and over. One of the reasons I haven’t dived into Azure yet.
[...] Windows Azure – How Much Is It Costing Me? >> Musings of the Bare Bones Coder“Apparently my playing around yesterday had consumed over half of my free compute hours. When I had first started experimenting, I remember leaving my first deployment in a suspended state, despite having read a blurb somewhere that this still incurred charges. I certainly didn’t leave it running for 16 hours; 2-3 tops. So what the hell is a compute hour?” [...]