Moving applications to the cloud is all about creating the right image. Server image, that is. The Windows Azure VM role lets you run a virtual hard disk image, store that image in the cloud and load and run it on demand.
You understand benefits of cloud computing, the efficiencies to be gained, the ability to scale your infrastructure based on immediate need and make more strategic use of IT staff. But what’s the best way to move your applications to cloud? The last thing you really want to do is start recoding applications and make changes to their deployment process.
Enter the Windows Azure Virtual Machine (VM) Role, which allows you to run a customized instance of Windows Server 2008 R2 in Windows Azure, making it easier to move applications to the cloud. The quick explanation is that a VM role runs an image, a virtual hard disk (VHD) of a Windows Server 2008 R2 virtual machine. This VHD is created using an on-premise Windows Server machine, and then uploaded to Windows Azure. You can configure and maintain the operating system and use Windows Services, scheduled tasks, etc. in the VM role. Once it’s stored in the cloud, the VHD can be loaded on demand into a VM role and executed. There’s no need to re-code to use Windows Azure, your existing applications can start to work for you in the cloud immediately.
IT Professionals can use Hyper-V or the Automated Installation Kit for Windows Server to build and upload their Windows Server 2008 R2 applications to the Windows Azure VM role. For packaging an application so that it runs in Windows Azure in the VM role, the Windows Azure SDK also includes command line tools. For more detail, see the Overview of the Windows Azure VM Role.
Our focus in this edition of TechNet ON is two-fold: to understand why you’d want to use the VM role and how to create VMs for Windows Azure.
In his TechNet Magazine article Taking Your Virtual Machines to the Cloud [[need URL]], Joshua Hoffman explains that the VM role lets you build virtual machines for Windows Azure to leverage the scalable infrastructure and cost savings that come with cloud computing.
Is the VM role a platform-as-a-service (PaaS), since it runs on Windows Azure, or is this Microsoft’s Infrastructure-as-a-Service (IaaS) play, as some speculated when the VM role was first announced. As explained in Windows Azure VM Role: Looking at it a different way, the VM role is a PaaS application that runs on Windows Azure, subject to the service model and all the other benefits and constraints, just like the Web and Worker Roles. The fact that it spins up a VM to house the application doesn’t change the fact that it is still a Windows Azure application.
Next you should understand why you would want to use the VM role to configure the operating system for a virtual machine, and how to create a hosted service for Windows Azure. A VM role is the same as the other Windows Azure roles in needing the service definition and service configuration files to be hosted as a service in Windows Azure. To begin, get a quick Overview of Creating a Hosted Service for Windows Azure.
In Your Virtual Machines to the Cloud [[need URL]], Hoffman walks through the steps of building your VMs for Windows Azure. Here are some key things to understand:
An image of the Windows Server 2008 R2 operating system is needed for a VM role in Windows Azure. To see what is involved in creating that VHD image, read Getting Started with Developing a Server Image for a VM Role. To create instances of a VM role, you must deploy a service model package to Windows Azure. Check out the TechNet Library article How to Create and Deploy the VM Role Service Model for details on deploying a service model package to Windows Azure, including how to how to create the base VHD for a VM role in Windows Azure, upload a VHD to Windows Azure and define the service model files.
Since Windows Azure Integration Components are required in a VM role that is hosted as a service in Windows Azure, you’ll also need to learn how to install the Windows Azure Integration Components. The Windows Azure Integration Components install the service runtime APIs to the image, so that the VM role instance may gather dynamic information from the Windows Azure environment.
When you are ready to deploy your VM role(s), check out Avkash Chauhan’s Expert Tips on VM Role Deployment with Windows Azure SDK 1.4
Last but not least, get some hands-on time with the Windows Azure VM role.