New features of Windows Azure: Virtual Machines

It is not a secret to anyone that you can add almost anything to Azure.

Virtual Machines are a new addition to the services provided by Windows Azure. VMs allow much easier and more flexible to transfer the local infrastructure in the cloud, or to create new software solutions that are critical persistent storage. Creating VMs in Windows Azure is easy and flexible because Windows Azure provides three different ways of provisioning one.

VMs in Windows Azure can be used by almost all types of applications that could be used in the local infrastructure: business applications, CRM, Active Directory, custom applications, allowing to combine local and cloud infrastructure, creating a hybrid solution.

The difference between VM and VM-role

After the demonstration of the new service there has arisen a question – how does it differ from what we’ve seen before, namely VM-role in Cloud Services role model?

Let’s imagine a situation: you downloaded several virtual machines and with one of the virtual machines something happened (let’s say, a hardware failure). Everything that was at the machine had been lost- all unique data stored on disk and in memory etc. The reason was that Windows Azure launched a new virtual machine in response to an error. It was like it is normal for a simple application, but then turned into a big problem – considering the impermanent repository you had to redesign your application in such a way as to take into account this feature.

So the differences are:

1) Type of the storage. Earlier the VM-role – a service with a virtual machine, it had no permanent storage – so with a hardware error you lost all the data from that machine. It is a bit different with virtual machines – now you can add the persistent storage in the form of a disk with data. In addition, the disk of your virtual machine is constantly replicated in three replicas.

2) Deployment types. You had to create your VHD locally and upload to the cloud, then you could use it. With the new service, you can create, upload a VHD and use it and any other available in the gallery of images as well.

3) Setting up the network. The settings for the VM-role had to do in the service model, while the new service of VMs, you can configure on Window Azure Management Portal, and even automate them using Powershell or scripting.

Benefits of using VMs in Windows Azure

  • Runway to the cloud for existing applications – A virtual machine in Windows Azure stores operating system data. You can also attach a data disk to a virtual machine for storing application data. These features enable you to easily migrate your applications to Windows Azure as-is, without requiring any changes to the existing code.
  • Storage of operating system data – Changes that you make to the configuration of the operating system are preserved in Windows Azure Storage for high durability of data.

  • Single instance availability – In Windows Azure, operating system data for a virtual machine is stored for you, which means that customization of the virtual machine only applies to one running instance.

  • Full control of the operating system – As an administrator, you can remotely access the virtual machine to perform maintenance and troubleshooting tasks

The ways of creating VMs

  • Creating a VM from an image. Creating the virtual machine directly in the cloud using a number of images provided by Microsoft or partners. This is by far the easiest route to take to quickly spin up a new virtual machine.
  • Creating from a Custom Image. Building your own custom images and provisioning virtual machines from the resulting image. This involves creating a new VM using a platform image, customize it with your own software and settings, and then generalize it using sysprep within Windows or waagent -deprovision+user on Linux. Once the VM is generalized and shut down you can then use the capture functionality to save the VM as a custom image.

  • Bring your own VHD. Existing virtual machines in VHD format. This method also uses the csupload.exe utility. You can upload a generalized image or a non-generalized VHD. The generalized image can be used to provision new VMs in the cloud as a template and the non-generalized VHD can be used as an OS disk to boot from or just a data disk to mount as a data drive.

The process you choose for each of these creation methods is up to you. Windows Azure provides capabilities from a point and click web interface to full automation with PowerShell in addition to a REST based Service Management API.

As was mentioned at the beginning you could add almost anything to Azure. Now virtual machines store
fortune, just take an image of the disc and go into battle 🙂

Elvira Golyak

Business Development Manager