A lot of times we use and hear these terms. Sometimes it’s
hard to understand the actual need of a particular one or when to prefer
images over snapshots. This post is thus about the proper differences among these
two, as it's essential to grasp the differences between images and snapshots.
SNAPSHOTS
A snapshot of a virtual machine (VM) records the state and data of the virtual machine at the moment the snapshot was taken. It behaves similarly to standard operating system snapshots. A VM snapshot is a complete duplicate of the VM that may be used for VM migration or to create numerous instances of the same VM. It may also be used to restore the VM to the state it was in when the snapshot was taken.
Essentially, these snapshots are particularly useful for two purposes:
isolating a virtual machine's disks from the write activity so they may be backed up; and
enabling a short-term failback during patching and software updates.
You should not maintain them once the requirement to roll back to a certain point-in-time state has passed; for example, after the updates have been successfully done. If snapshots are retained for longer than advised, they might expand in size and eventually cause performance difficulties.
Figure 1: VMware snapshot
IMAGES
A VM image is an executable image file from a VM that is in a unique storage format. By uploading the image file to the real system, we may build a new VM.
It allows for the obvious separation of different settings. It is simple to deploy and decommission. The entire environment (OS, database and/or application server) may be simply moved to another server.
Figure 2: VM image
SNAPSHOTS vs IMAGES
CONCLUSION
As per the above discussion, it's quite clear now that Images are meant to create a new VM, as it contains an operating system and a boot loader and may be used to start an instance. In the case of images, public can refer to official public images if they are supplied.
Alternatively, in the case of snapshots, they allow a virtual machine's disks to be isolated from the write activity so that they can be backed up and to provide a short-term failback during patching and software upgrades. Snapshots use quite a lot of disk space as well. As a result, storing too many snapshots on the same storage system might degrade performance. Snapshots are designed to be destroyed after a specified amount of time.
REFERENCES:
https://www.parallels.com/blogs/ras/vm-snapshot/;
https://ars.els-cdn.com/content/image/3-s2.0-B9780128014769000033-f03-12-9780128014769.jpg.