
Compute Engine gives you three different ways to capture the state of a VM: snapshots, custom images, and machine images. They sound interchangeable. They are not. On the Professional Cloud Architect exam you will get scenarios that hinge on knowing exactly what each one captures and what each one leaves behind, so it is worth pinning down the differences before you get to a question that depends on it.
A snapshot is a point-in-time backup of a single disk. That disk can be a boot disk or an attached persistent disk. Either way, the snapshot captures the data on that disk and nothing else.
The important word there is disk. A snapshot of a boot disk gives you the operating system and system files on that boot disk. It does not give you the machine configuration that surrounded that disk: the machine type, the network settings, the metadata, the attached disks. None of that is in the snapshot. If you want to back up a VM with two disks, you need two snapshots.
Snapshots are stored in Cloud Storage and they are incremental, which makes them efficient and cheap. Typical use cases:
If the question is purely about disk-level data backup, snapshots are the right answer.
A custom image is a backup of a boot disk that is also a reusable, bootable template. The distinction from a snapshot is small but it matters.
A custom image captures the operating system, system configuration, and any applications baked onto the boot disk. You can build one from a running disk, from an existing snapshot of a boot disk, or by importing an image from outside Google Cloud. Once it exists, it lives in an image repository managed by Google Cloud. It is not stored in Cloud Storage like snapshots are.
The intended use is reuse. Custom images are how you stamp out identical VMs at scale. They are also the artifact that instance templates point at, which means they sit at the heart of managed instance groups and autoscaling. If you need a standardized environment that gets deployed over and over, a custom image is the cleaner choice than a snapshot, because it is already shaped as a bootable template.
The nuance to remember: a boot disk snapshot and a custom image both contain the boot disk's contents. The custom image is purpose-built to be redeployed. A snapshot is purpose-built to be restored.
A machine image is the most complete backup option. It captures the entire VM: the boot disk, every attached persistent disk, and the machine configuration itself, which means the machine type, network settings, and metadata.
That makes it the right choice for two specific situations. First, when you want to deploy identical VMs across multiple environments without rebuilding the configuration each time. Second, when you want a full restore path for a VM that fails or gets corrupted, including all of its attached storage.
You can also build a machine image from a snapshot. The process is straightforward: take a boot disk snapshot, attach the machine configuration that should run with that disk, and Google Cloud produces a machine image. This is useful when your existing backup workflow already produces snapshots and you want to upgrade some of them into full instance templates without rebuilding from scratch.
The cleanest way to remember the difference is to ask what each one includes:
Scenario questions on the Professional Cloud Architect exam will lean on these gaps. If a question asks for the cheapest way to back up a single data disk, snapshot. If it asks how to redeploy a standardized base OS across a fleet, custom image and instance template. If it asks how to back up a VM with multiple attached disks and rebuild it identically after a failure, machine image. The wrong answers usually look plausible because they swap one of these for an adjacent option, so the only defense is knowing exactly what each one captures.
My Professional Cloud Architect course covers snapshots, custom images, and machine images alongside the rest of the compute material.