So I have discovered what is potentially the coolest feature in Hyper-V. So by now, you should be aware of the ability to make snapshots of your virtual environments. This in and of itself is really nice. However, there are some really awesome options with what you can do with these snapshots that make Hyper-V even more functional.
Imagine that you're doing a high-risk deployment to a production virtual machine. Things should go fine, but there's that chance that it doesn't. How hard is it right now to clean up all those changes and revert? Well, instead of doing that, take a snapshot of the VM right before you deploy. If the deployment goes sideways, revert to the old snapshot and you're back in your old production environment in less than a minute. That's a lifesaver to someone like me.
Let's take it a step further. Let's do this in the development VM, but when things go sideways, let's also take a snapshot of the failed deployment before we revert. Now make configuration changes and try to deploy again. Let's say the deployment keeps failing, and you keep snapshotting. You now have a branched set of snapshots that you can compare. Maybe there's a common thread you overlooked before, but now you can track down. Better yet, you can almost instantly swap between all of your snapshots without having to take down the VM each time.
The fact that you can now branch snapshots of your VMs is a massive help to development environments, but also is great for IT. Being able to set multiple configurations of a testing server allows infrastructure wonks really optimize new servers and services before they ever get into production.
So let me know, how do branching snapshots help you and your environment?