By Jim White (Intertech Director of Training and Instructor)
During the Professional Developers Conference (PDC) 2010, Microsoft made several announcements about new released or soon-to-be-released features in the Windows Azure Platform. (Note, you can see a list of most of them here.) As a development community, we are still awaiting some of the larger features like VM Role, however, several of the features are already available - or at least available in beta form. Over the next few months, I plan on highlighting these changes in my blog entries.
Introducing the Extra Small VM
The first new feature is a real easy one to understand and use. It is the Extra Small VM for Compute Instances. In Microsoft's Windows Azure Platform (WAP), application code runs in Windows Azure Compute. There are three different kinds of applications/components or "roles"you can you run in Azure Compute: Web Roles, Worker Roles and the new VM Role (coming soon). Simply speaking, Web Roles are essentially Web applications (complete with IIS). Worker Roles are any kind of running process that are crunching data in the background - these are typically background processes without a UI. VM Role is the newest type of role. A VM Role is a custom virtual hard drive image configured and loaded with whatever software you would like to run in the cloud (more on VM Role in an upcoming blog post).
When creating the role, you have to configure the "vm size" (virtual machine size) of your role instance. Each role in Azure runs on its own virtual machine. The size of the instance determines the amount of computing resources dedicated to the VM running your instance. Until recently, you had 4 choices from small to extra-large for your virtual machine. The table below outlines the resources allocated to each VM size (see here for more details). Notice a new size has been added: the extra small VM.
VM Size | CPU | Memory | Disk Space | IO Performance |
| Extra Small | 1 core @ 1 GHz | 768 MB | 20 GB | low |
| Small | 1 @ 1.6 GHz | 1.75 GB | 225 GB | Moderate |
| Medium | 2 @1.6 GHz | 3.5 GB | 490 GB | High |
| Large | 4 @ 1.6 GHz | 7.0 GB | 1000 GB | High |
| Extra Large | 8 @ 1.6 GHz | 14 GB | 2040 GB | High |
Cost
The cost of the extra small instance, as you might expect, is cheaper. It is less than half the cost of a regular small instance.
VM Size | Cost per compute hour (USD) |
| Extra Small | 0.05$ |
| Small | 0.12$ |
| Medium | 0.24$ |
| Large | 0.48$ |
| Extra Large | 0.96$ |
Why the new Instance Size?
Why did Microsoft introduce the 5th VM size? While the extra small instance may serve the needs of some tiny applications, Microsoft has been clear in their communications that its real purpose is really there to assist developers and allow more people to test drive Azure. The extra small VM should "make the process of development, testing and trial easier for enterprise developers. The Extra Small instance will also make Windows Azure more affordable for developers interested in running smaller applications on the platform."
Configuring the Extra Small Instance
If you get the latest Windows Azure Tools for Microsoft Visual Studio 1.3, you'll see the "Extra small" option in the role configuration GUI editor in Visual Studio (you see the configuration GUI whenever you double click on the role in the Solution Explorer).
The VM Size, is of course, also reflected in the service definition file (XML) of the role.
As an important reminder, the service definition is static - meaning you cannot change this at runtime once the role is deployed to Azure. So if you need to upgrade a role from extra small to some other size in the future, you will need to upgrade the role (a bit slower and more cumbersome process than changing a configuration setting).
Deploying an Extra Small VM Role
Currently, the Extra Small VM is in beta testing. So, in order to use the extra small VM in the cloud, you need to sign up for the beta program. Login to the Windows Azure Developer Portal (windows.azure.com) with your Azure account, and then click on the Beta Programs link.
Follow the instructions to sign up for the program. It took me several weeks to get an email that notified me I had been accepted to the program. Once I was notified, the feature was available to me immediately. Once you have been accepted to the beta and you deploy a role configured for the Extra Small VM, you'll see the role size reflected in the status displays. Again, changes to the size require an upgrade of the role and specifically the service definition (not just a service configuration change).
That's all there is to it. The extra small VM should make those Windows Azure development and testing bills a little more tolerable.
If you would like some help learning Windows Azure consider taking Intertech's Complete Windows Azure class. If you need some Azure consulting help on your next project, contact Ryan McCabe at rmccabe@intertech.com. Finally, if you are an Azure developer or someone that just has a mild interest in Azure, please sign up for the Virtual Azure User Group - we meet in virtual space monthly. As I tell everyone that joins, its one of the few clubs you can join where clothing is optional :).