I notice so many people using the terms “Windows Azure VM Role” and “Windows Azure Virtual Machines” interchangeably; as if they are the same thing. They’re not. And maybe that’s what describes a tiny bit of the confusion regarding the death of VM Role.

Windows Azure Virtual Machines are often described as “Persistent VM Role”, but again, many newcomers to this space don’t realise there is a difference between VM Role and Persistent VM Role.

image

Windows Azure VMs (the IaaS features of Windows Azure) offers fully functioning VMs with disks whose data persists across reboots. There is a special instance type in Cloud Services (the PaaS features of Windows Azure); VM Role. They are provisioned in a similar way to Web Role and Worker Role. Whenever you specify you need a new instance of any of these roles, the “original” image is used. If you make modifications to the file system of one of these roles and then shut it down, those changes are not saved. It makes provisioning very fast. There are specific reasons for using VM Role which might not be immediately apparent when you read those last few sentences.

Be aware that it is the VM Role instance type in Cloud Services that is being retired on May 31st 2013, not Windows Azure Virtual Machines, which came out of preview and went generally available (GA) on the 16th April. You can create new VM Role instances, up until 15th May. It’s a dead-end road so I’d suggest it’s best not to travel that route. Use Windows Azure Virtual Machines instead. You can mix IaaS and PaaS services in a hybrid model – there are labs in the Windows Azure Training Kit if you are not familiar with how to do it.