One of the concerns with moving more infrastructure services into a public cloud is cost. It’s all very well that the costs are low, and that the CapEx has switched to OpEx but it’s also good to be able to budget. Subscription-based charging models can make that difficult at times.
Over the last couple of weeks, I’ve been brushing up my knowledge of both Amazon’s and Microsoft‘s infrastructure as a service (IaaS) offerings and I found something that’s quite alarming. Not only is the Windows Azure IaaS offering less fully-featured than Amazon EC2 but, from a cursory glance, it could potentially cost a lot more because of the way that Microsoft charges for compute service provision.
Whereas Amazon only charging for the hours when a virtual machine is “powered on”, Microsoft charges for the fact that the virtual machine has been provisioned, regardless of whether it’s actually doing anything. This sounded odd, so I asked a question of one of the evangelists at Microsoft UK, who used a rental car analogy to explain that when I have a virtual machine deployed in Azure I’ve still taken resources that can’t be allocated to someone else until I “undeploy” it (think of booking and returning the hire car). On the other hand though, Amazon only charges for the time I use the virtual machine (although I will of course have to pay for the storage that it is actually using), so the analogy is more one of a pool of shared cars.
I tried to confirm this with Amazon Web Services (@awscloud) and Microsoft Windows Azure (@windowsazure) but
have not received a response at the time of writing; however Dave Hood alerted me to a clause in the Windows Azure pricing details:
“Compute hours are charged whenever the Virtual Machine is deployed, irrespective of whether it is running or not.”
That could work out quite expensive for those who have spare virtual machines deployed, ready to fire up at a moment’s notice, but not normally in operation (e.g. in a disaster recovery failover scenario).
[Update 12:22]: Microsoft’s Windows Azure team have responded via Twitter to confirm that VMs are charged, even when not running: