I was on a call with a solution architect this week and he had a significant amount of experience with backup and recovery in prior positions.
He went on and on about how cloud washed backup software has always been ‘ridiculously complicated’.
What struck me the most about our conversation was that most people don’t understand the difference between VM snapshots and backups. Knowing the difference between them is critical when your data is at stake. Just to confirm once and for all, snapshots are NOT backups. While it is true that modern backup services use native snapshots as part of a backup — a snapshot by itself is not a backup. They are two distinct processes designed to address different needs. In this blog, I’ll work through the differences between persistent disk snapshots and backups and talk through scenarios where each may be useful.
What Really Is a Snapshot?
A snapshot is a point-in-time copy of a VM instance’s disks. The VM can be turned off, turned back on, or suspended when snapshots are taken. When you take multiple snapshots they get arranged in a parent-child relationship. The first snapshot on Google Cloud Platform (GCP), for example, is a full copy of the disk at that point in time. Subsequent snapshots only contain the changed blocks from the first snapshot.
A snapshot creates a virtual copy of your disk in the background. It is on disk and appears to be another copy of your filesystem or device. In most cases, snapshots are used to test software updates or for risky operations on a VM. If something goes wrong, you can return to the initial state— think of it as a placeholder. Since all but the first snapshots only contain the changed blocks of the source disk, they are not sufficient to restore a VM if the primary snapshot storage has failed or is corrupted.
When should I use snapshots?
When thinking about use cases for virtual machine snapshots, there are many scenarios where snapshots are used. Administrators may use VM snapshots in a virtual environment as a check point before performing upgrades, changing installed software, uninstalling components, etc. Snapshots are super helpful for development purposes. A group of VMs may have snapshots created for “continuous integration / continuous delivery” development to provide a failsafe when a deployment has errors.
Should I use Snapshots as a backup solution for production environments?
To fully protect your data and to satisfy your backup compliance requirements, that’s not recommended!
Data integrity is the single most important reason that you should NOT rely on snapshots for backup.
In today’s world of compliance, regulations, ransomware, and complex user permissions – data integrity is now more important than ever. With snapshots, you’re not making a true copy of the virtual hard disk, you are only tracking changes made to the hard disk. While this provides short term recovery, you can’t depend on snapshots alone to protect your applications. Snapshots are also typically stored on more expensive “hot” disk. This makes snapshots too expensive for long term storage. In summary, Snapshots don’t protect you against disk breakdowns, malware, or user errors and will be too expensive as a long term data protection strategy. Snapshots without backup will compromise your data integrity.
How are backups different than snapshots?
A backup is an application consistent, VM disk copy that enables you to easily recover in case the original data is compromised by a disaster or a human error. As opposed to snapshots, backups do not depend upon the VM being available. You can restore the entire VM and all its settings to a point in time. For example, on GCP, backups can be stored in GCP coldline buckets across regions and zones. This is a huge cost savings compared to snapshot storage. At HYCU, we have built a backup and recovery solution for GCP. This service has numerous beneficial features not present in scheduled snapshots or scripts. While HYCU’s service leverages snapshots, we also process all your backup data and create a data catalog for more robust restore options. All backups are stored in compressed file format with metadata in the cloud, providing you multiple restore options for your business-critical applications. You can choose – restore the entire VM, or get granular application items, even file level recovery. This simple recovery saves time and reduces errors in the case of a real emergency. HYCU also monitors your compliance to your data protection policies and will alert you if your data is not protected for any reason. HYCU was purpose built for Google Cloud. Full IAM and API integration plus unified HYCU/Google billing means that you benefit from the reliability, scalability and security of Google while getting enhanced data protection, backup and recovery from HYCU.
If you are using Snapshots today, you can sign up for a free two week trial of HYCU on the GCP Marketplace. During this free trial period, you can quickly discover your VMs, back them up, and see for yourself the true benefits of having a complete backup and recovery solution as opposed to just snapshots.
I hope this high level blog provided valuable education on the differences between snapshots and backups. Many have learned at their peril that snapshots in a virtual environment are not a reliable way to protect data or cloud infrastructure long term. While snapshots have special use cases and can be used effectively for their designed purpose, companies should always have backup software in place to enable a standalone process for business continuity.