In this article I want to explain how you can backup Azure virtual machines using Azure Backup. I’ll also describe how to price up this solution.
Backing up VMs
Believe it or not, up until a few weeks ago, there was no supported way to backup production virtual machines in Azure. That meant you had no way to protect data/services that were running in Azure. There were work-arounds, some that were unsupported and some that were ineffective (both solution and cost-wise). Azure Backup for IaaS VMs was launched in preview, and even if it was slow, it worked (I relied on it once to restore the VM that hosts this site).
The service is pretty simple:
- You create a backup vault in the same region as the virtual machines you want to protect.
- Set the storage vault to be LRS or GRS. Note that Azure Backup uses the Block Blob service in storage accounts.
- Create a backup policy (there is a default one there already)
- Discover VMs in the region
- Register VMs and associate them with the backup policy
Like with on-premises Azure Backup, you can retain up to 366 recovery points, and using an algorithm, retain X dailies, weeklies, monthlies and yearly backups up to 99 years. A policy will backup a VM to a selected storage account once per day.
This solution creates consistent backups of your VMs, supporting Linux and Windows, without interrupting their execution:
- Application consistency if VSS is available: Windows, if VSS is functioning.
- File system consistency: Linux, and Windows if VSS is not functioning.
The speed of the backup is approximately:
The above should give you an indication of how long a backup will take.
There are two charges, a front-end charge and a back-end charge. Here is the North Europe pricing of the front-end charge in Euros:
The front-end charge is based on the total disk size of the VM. If a VM has a 127 GB C:, a 40 GB D: and a 100 GB E: then there are 267 GB. If we look at the above table we find that this VM falls into the 50-500 GB rate, so the privilege of backing up this VM will cost me €8.44 per month. If I deployed and backed up 10 of these VMs then the price would be €84.33 per month.
Backup will consume storage. There’s three aspects to this, and quite honestly, it’s hard to price:
- Initial backup: The files of the VM are compressed and stored in the backup vault.
- Incremental backup: Each subsequent backup will retain differences.
- Retention: How long will you keep data? This impacts pricing.
Your storage costs are based on:
- How much spaces is consumed in the storage account.
- Whether you use LRS or GRS.
If have 5 VMs in North Europe, each with 127 GB C:, 70 GB D:, and 200 GB E:. I want to protect these VMs using Azure Backup, and I need to ensure that my backup has facility fault tolerance.
Let’s start with that last bit, the storage. Facility fault tolerance drives me to GRS. Each VM has 397 GB. There are 5 VMs so I will require at most €1985 for the initial backup. Let’s assume that I’ll require 5 TB including retention. If I search for storage pricing, and look up Block Blob GRS, I’ll see that I’ll pay:
- €0.0405 per GB per month for 1 TB = 1024 * €0.0405 = €41.48
- €0.0399 per GB per month for the next 49 TB = 4096 * €0.0399 = €163.44
For a total of €204.92 for 5 TB of geo-redundant backup storage.
The VMs are between 50-500 GB each, so they fall into the €8.433 per protected instance bracket. That means the front-end cost will be €8.433 * 5 = €42.17.
So my total cost, per month, to backup these VMs is estimated to be €42.17 + €204.92 = €247.09.