raywoo - Fotolia
Cloning, as its name implies, is making a copy of a volume. A storage snapshot is taking that original picture, and then each subsequent picture is only of the difference from the previous one.
So a clone is making a complete copy of something, while snapshots make one initial copy, then just make simple subsequent changes.
Where it gets a little tricky is how they're implemented and where they're implemented -- the different approaches that vendors take can vary quite a bit. But looking at it in the simplest way is, if I'm cloning something, I'm making a complete copy.
If I'm doing snapshotting, I'm taking a copy of a point in time that I may then do a clone of. What that means is that I'm going to make a clone of that particular point of time to reconstitute, to make a new, complete copy of something.
So a storage snapshot can be used to create clones. For example, you've got vendors such as EMC, NetApp and a bunch of others that support the ability to do a full clone, but also a snapshot, and then you've got the ability of creating different types of clones off those snapshots. I might need a clone of a particular point in time to create a database, file system or virtual machine.
This is where you get into the different implementations -- some snapshot approaches have very large copies, or have more overhead than others.
Some implementations are space-saving in that as you make the snapshot, not only are they creating smaller deltas or tracking the differences, but they have the ability to create a flexible clone -- when you make a clone, you can actually be doing modifications. You can be doing reads and writes, as opposed to just a straight read, such that any other subsequent clone can have less overhead than otherwise having the full model of the clone.
In many environments, like databases, for example, you need to have different versions, but only a small amount of data actually changes. Space-saving, space-efficient snapshots with flexible clones give you the ability to make copies of copies for production, tests, development and quality assurance. You can make more copies without the overhead.
So think of it this way -- the clone is the full copy, and the snapshot is the picture in time of a particular version.
How snapshots, replication aid in data protection
What to know first about snapshot technology