Over the next 12 days; in a 12 Days of Christmas style, I’ll be breaking down the components of the Windows Azure Platform into little snippets to give you an idea of what’s going on in “The Could” and how it works. It’s not going to be of an eye-glazing technical nature, but more a user-friendly, easy to understand guide.
Yes, I’m sure you’re wondering why I’m starting now. Simple answer, I’ll be full of Christmas Spirit, if you know what I mean , and I’ll probably forget to do it.
So, on the first day of Windows Azure Platform Christmas my true love gave to me, the Compute Service.
What is the Compute Service?
In short, the Compute Service (and this is just my take on it), is the environment in which your Windows Azure application runs; the execution environment.
A closer look at the service reveals more. The Compute Service is built from one or more roles. A role defines a component that may run in the execution environment.
A Web Role is customised for web applications and allows the creation of applications using ASP.NET, WCF and other web-based technologies. Importantly, this is not just limited to Microsoft technologies; you can also create applications using PHP, Java or other non-Microsoft tools.
NOTE: Web Roles run in full IIS 7.0
Worker roles are useful for running a variety of tasks and e.g. rendering of large files (I think RenderMan may use this), but are most useful for performing background processing for a web role.
Virtual Machine (VM) Role
A Virtual Machine role runs a user-customised server image. This means that you can take a snapshot of the server (in your network) on which your application currently runs and apply it to a newly defined VM role in the Compute Service. The best part, once the image is up and running in Azure, you can RDP (Remote Desktop) to it and control it like it was back in your network.
The Compute Service can run one or more instances of a role e.g. your application. This allows for the workload on your application (when it gets too heavy) to be shared out to multiple virtual machines and the best bit, these VMs could be in different Microsoft Data Centres around the world and no-one would notice the difference
The ability to scale up the amount of roles/VMs used is controlled by the Fabric Controller, which I’ll be discussing on the 3rd day of Windows Azure Platform Christmas.
Tomorrow’s installment: Storage
P.S. If you have any questions, corrections or suggestions to make please let me know.