Microsoft has announced the general availability of backup for Azure IaaS virtual machines. Microsoft has also improved the functionality and performance of the service as a part of this release.
Azure Backup for Virtual Machines
I wrote a post back in March after Microsoft launched the preview of backup for IaaS VMs. In that post, I explained how to configure backup of virtual machines using the service as it was during the preview — the configuration hasn’t changed much.
One of my biggest concerns with deploying valuable business services in the cloud was that cloud services, such as Azure and AWS assumed that we were deploying stateless machines that we could afford to lose. I have worked in SME and enterprise environments, and I can’t remember a single server that we could lose, where the business would have been OK about it.
Microsoft adapted the Azure Backup service, which was originally designed for hybrid backup solutions to backup Azure virtual machines to a fault-tolerant Azure storage account called a backup vault. Microsoft launched a preview service earlier this year.
I put the preview of Azure Backup for virtual machines into use with my Azure account, which I use to run my personal blog. A few months ago, I had a catastrophic failure, and I needed to restore a backup of my virtual machine — it worked, thankfully!
The Design of Azure Backup for Virtual Machines
Microsoft used the following principles to guide the design of the new service:
Enterprise grade: Virtual machines can be backed up consistently and at scale, whether they are running or not.
Simple: The configuration of a backup policy and registering virtual machines is simple. There is almost no on-going maintenance.
Reliable: Backup and restore are predictable – my experience proved it to me.
Efficient: Only changes are backed up, saving time on backup jobs and storage space consumed.
A number of improvements were made before Azure Backup for IaaS VMs was made generally available. Service times were reduced:
Improved backup times: Many people found that backup jobs could run for a very long time. Microsoft worked on improving this with machines with multiple large data disks.
Registration: In the early days of the preview, registration of virtual machines was buggy, and it could be slow. Microsoft made registration reliable during the preview and the time required has been reduced.
A default protection policy is included in each created backup vault. This policy uses the same mechanisms to allow you to create either a simple or complex retention policy, keeping data for up to 99 years.
PowerShell support was added:
A set of cmdlets were added, make sure you update your Azure PowerShell module!
With PowerShell, you can restore disks to a storage account of your choice and use a virtual machine configuration of your choosing.
New regions were added; any region that offers virtual machine hosting can now protect those virtual machines using Azure Backup.
Monitoring, troubleshooting and audit compliance were also improved:
Any action initiated by customers or the system, on behalf of the customer, are logged for auditing purposes.
Notification emails can be sent to administrators, co-administrators, or an email address of your choosing.
Error messages with recommended remediation actions are logged to assist with troubleshooting.
Are there any other improvements that you would like to see with Azure Backup of Azure virtual machines? I have a few other things that I’d like to see:
Cross-Region Support: I would like the ability to set up a vault (maybe LRS) in a region of my choice, maybe East US, and use that to protect my virtual machines in another region, maybe North Europe. Currently a backup vault is limited to protecting assets in the same region, and the only way to get off-site storage is to use GRS storage to asynchronously replicate to the neighboring region.
Cross-Product Support: Azure IaaS doesn’t have an API for third-party backup tools. If you want to backup virtual machines using a third-party product, then you have to deploy OS agents into the guest OS of each virtual machine and backup the machines as if they were physical servers. You can only use Azure Backup to protect and restore the entire virtual machine. It would be nice to have support for third-party products that could offer more advanced features, albeit with additional third-party licensing costs.
Cross-Cloud Support: Cloud purists would argue that you should never rely on the services of just a single cloud. I would like to see Azure adding support to back up in-Azure virtual machines to backup products running either on-premises or in virtual machines on a third-party cloud. In an ideal world, I’d love to see AWS and Azure both offering an API that would allow Azure Backup to protect AWS virtual machines, and AWS to protect Azure virtual machines.