Analysis of Windows Azure virtual machine sizes
*Update* Microsoft have updated their FAQ with instance pricing
In my previous post on the newly released Azure SDK I touched on the ability to set a size for your VM instance.
Lets delve down into what size virtual machines are available (values from http://msdn.microsoft.com/en-us/library/ee814754.aspx)
VM Size | CPU Cores | Memory | Disk space for local storage |
Small | 1 | 1.7 GB | 250 GB |
Medium | 2 | 3.5 GB | 500 GB |
Large | 4 | 7 GB | 1,000 GB |
Extra Large | 8 | 15 GB | 2,000 GB |
The sizes are easy to follow, they are all just multiples of the base VM size. Microsoft have said in their FAQ that the pricing is based on multiples of the small VM size. It is based on “CPU cores / hour”, so $0.12 per hour for the small VM, $0.24 for medium, $0.48 for large, etc.
Lets draw up a matrix to compare the Microsoft Azure and Amazon EC2 pricing side by side:
Azure | Amazon EC2 | |||||||||
CPU cores | Memory | Platform | OS | cost / hour | "Compute units" | Memory | Platform | OS | cost / hour | |
1 | 1.7 GB | 64 Bit | Windows Server 2008 R2 | $0.12 | 1 | 1.7 GB | 32 Bit | Windows Server 2003 | $0.12 | |
2 | 3.5 GB | 64 Bit | Windows Server 2008 R2 | $0.24 | N/A | N/A | N/A | N/A | N/A | |
4 | 7 GB | 64 Bit | Windows Server 2008 R2 | $0.48 | 4 | 7.5 GB | 64 Bit | Windows Server 2003 | $0.48 | |
8 | 15 GB | 64 Bit | Windows Server 2008 R2 | $0.96 | 8 | 15 GB | 64 Bit | Windows Server 2003 | $0.96 |
(Values taken from http://msdn.microsoft.com/en-us/library/ee814754.aspx and http://aws.amazon.com/ec2/instance-types/ )
The Azure and EC2 packages are roughly equivalent to each other and the “CPU” speeds are roughly the same (Azure: 1.5-1.7GHz, EC2: 1.0-1.2GHz Xeon). Where they still do differ though is Amazon is still only offering Windows Server 2003, and the low end instance is only 32bit compared.
Conclusion
From a .Net developer’s perspective I see Azure winning here. For the same price I can get Windows server 2008 R2 over a 2003 instance, which gives me IIS7. If you are developing cutting edge .Net code (like ASP.Net MVC), IIS7 is going to be a lot easier to work with than IIS6. Of course if you need to control more in your instance then Amazon is going to offer you that over Azure.
Footnote: Amazon does have a few more instance types available that offer higher CPU processing or increased memory. Here I have just used the basic instance types for easier comparison.