In Microsoft Windows Azure programs are deployed as roles. There are two types of roles, Web roles and Worker roles. Web roles are used to create Web applications and to host Web services. Worker roles are used for background processing.
When a role is deployed its instance size must be specified. A small instance gets a dedicated 1.6GH CPU core, 1.75 GB of memory, and costs about $75 per month. That seems reasonable; however, a small instance seems a bit slow. A medium instance gets two cores and 3.5 GB of memory. Its faster but costs $150 per month.
Also when a role is deployed, a number of instances is specified for it. Each instance runs in its own virtual machine running Windows Server. The number of instances is based on fault tolerance and scalability. Microsoft guarantees 95% uptime for a role running in one instance. To get 99.9% uptime, add another instance. If a role had a very large number of users more instances could be added.
For me, a huge number of users is not an issue, but I wouldn’t mind 99% uptime and good performance. So I want two medium instances. Now I’m up to $300 per month.
I’m OK with $300 per month; but here is the glitch. I want to deploy three separate applications. In Windows Azure, each application runs in its own role, which runs on one or more instances, each of which has its own virtual machine running on one or more dedicated CPU cores (what did he just say?). That means 6 virtual machines and 12 cores and $900 per month, which is too much!
The Windows Azure deployment model works for big businesses with large numbers of users, or for Web sites which huge spikes in demand. For small businesses though, we would end up paying for a lot hardware that is completely under-utilized. I thought the cloud was supposed to allow me to pay for only the hardware I needed at any moment in time.
This brings me to what I would change. I would like to buy a single medium instance and then deploy multiple roles to it. I should also have the option to replicate my medium instance with a small instance. If I could do that, my yearly cost for Azure would be $2700. From my point of view, that would be a good value considering I wouldn’t have to buy or administer servers.
While Windows Azure may not be perfect, it is a very powerful and unique cloud-computing platform. To learn more about it, come to Learning Tree course 2602: Windows® Azure™ Platform Introduction.