Over the past couple of days we’ve been doing a lot of experimenting with Windows Azure. Why? to learn more about it and learn where it can be used. So here is some of the basics to hopefully assist you in deciding whether it’s right for your organisation.
Windows Azure is Microsoft’s play on a Cloud Operating System and to be fair, I think that analogy is pretty accurate. Applications or programs are deployed as roles and there are two types of roles, Web and Worker. Web roles are used to create Web applications and to host Web services/sites. Worker roles are used for background processing. All configuration of these roles is controlled/manipulated via Visual Studio with VS 2010 having a lot of the built in deployment configuration wizards baked into the product.
A role is deployed into Azure as a virtual machine/server and can be small, medium, large or extra large. When you create your service model in Visual Studio, you can specify the size of the virtual machine (VM) to which to deploy instances of your role, depending on its resource requirements. The size of the VM determines the number of CPU cores, the memory capacity, and the local file system size allocated to a running instance.
The following table describes each of the available options for VM size:
|VM Size||CPU Cores||Memory||Disk Space for Local Storage Resources|
|Small||1||1.7 GB||250 GB|
|Medium||2||3.5 GB||500 GB|
|Large||4||7 GB||1000 GB|
|ExtraLarge||8||14 GB||2000 GB|
There is plenty of information on the web around pricing so I won’t go into any detail but as a guide, the small VM will cost you $0.12 per hour or around $90 per month.
As a test, I redeployed our website onto Azure and to be honest, found it pretty easy and intuative especially considering I’d never used Visual Studio before. You can view the test instance here – http://redember.cloudapp.net
With any service which has been designed on the kind of scale Azure has, there are some limitations. The biggest one I have found is there is a 1:1 relationship between a website URL and the project within Visual Studio. As a minimum a project must have a Web role as per my test deployment of the Red Ember website. This means as a minimum you have to pay for 1 Small VM and you cannot host multiple websites on that Web role. However Azure does have some excellent benefits such as application segregation, dedicated resources, ability to scale and add more web roles and worker roles to your application as the demand for consumption increases.
If you’d like further information or would like to know if Windows Azure is right for your organisation, please drop us a line. (info at redember dot com dot au)