In today’s world where data is the new oil and almost everything revolves around data one way or another. This also means keeping data secure and resilient to failures should be one of the top priority. Cloud vendors provide us different options such as IaaS, PaaS or SaaS to host our application. While hosting our application on IaaS we are more prone to failures since we are responsible for managing the infrastructure as well.
In this article I only talk about different backup options Azure Virtual Machine (IaaS). You can protect your data by taking backups at regular intervals. There are several backup options available for virtual machines (VMs), depending on your use-case.
Table of contents:
You’ll use Azure Backup for most use-cases involving backup operations on Azure VMs running production workloads. Azure Backup supports application-consistent backups for both Windows and Linux VMs. Azure Backup creates recovery points that are stored in geo-redundant recovery vaults. When you restore from a recovery point, you can restore entire VM or specific files.
Azure Site Recovery protects your VMs from a major disaster scenario. These scenarios may include widespread service interruptions or regional outages caused by natural disasters. You can configure Azure Site Recovery for your VMs so that your applications are recoverable in matter of minutes with a single click. You can replicate to an Azure region of your choice, since recovery isn’t restricted to paired regions.
You can run disaster-recovery drills with on-demand test failovers, without affecting your production workloads or ongoing replication. Create recovery plans to orchestrate failover and failback of the entire application running on multiple VMs. The recovery plan feature is integrated with Azure automation runbooks.
In development and test environments, snapshots provide a quick and simple option for backing up VMs that use managed disks. A managed snapshot is a full, read-only copy of a managed disk. Snapshots exist independently of their source disks.
Snapshots can be used to create new managed disks when a VM is rebuilt. They’re billed based on the used portion of the disk. For example, if you create a snapshot of a managed disk with provisioned capacity of 64 GB and actual used data size of 10 GB, snapshot will be billed only for the used data size of 10 GB.
At this time, you can use Azure REST APIs to back up and restore your VMs. This approach is most often used by independent software vendor (ISVs) or organizations with a relatively small number of VMs to manage.
You can use the API to create a VM restore point collection. The restore point collection itself contains individual restore points for specific VMs. Each restore point stores a VM’s configuration and a snapshot for each attached managed disk. To save space and costs, you can exclude any disk from your VM restore points.
Once created, VM restore points can then be used to restore individual disks. To restore a VM, restore all relevant disks and attach them to a new VM.
Choosing the correct option can always be tricky but it all boils down to below questions:
- What is our RPO and RTO
- What’s the agreed SLA with the vendor/client
- Tool being used for the solution
- Approved Budget
In my opinion Azure backup is the best bet to ensure you have a restore point available in case of any disaster. Azure backup provides you an option to chose flexible retention, you can also configure GRS enabled vault to ensure your backups are prone to geographic disasters. But you might have to compromise on the RPO since this only allows one scheduled backup and 3 manual backups.
Azure Site Recovery (ASR) is also an automated way to configure disaster recovery of the virtual machine, however this doesn’t provide long term retention, and it can be retained only upto 15 days. ASR on the contrary provides high RPO since a snapshot is taken every 5 minutes and you will have the most recent data available in case of disaster.
Managed snapshots is a manual way to taking snapshot of the virtual machines. This would be ideal for dev or test environment where you want to maintain snapshot of a virtual machine state.
Virtual machine restore point is specific to ISVs and can be taken only with the help of Azure REST APIs. This is ideal for organizations with a relatively small number of VMs to manage.