So I have installed a few different Virtual Machines(VMs) for Hyper-V and I am really liking it so far. I was very happy to see that I could create a new VM and point it to an existing .vhd file that I had used with Virtual PC or Virtual Server in the past and it worked just fine. This is a huge time saver if you have been using virtualization in the past.
So I think this is going to be useful for ASP.NET in two main places. Although it will be helpful in others as well, these two are going to be the big wins that you will get by using Hyper-V.
First it will be useful for support and we will be able to reproduce problems easier (Especially being able to convert a physical machine to a virtual machine). This will allow support to see issues instead of having to troubleshoot things remotely. And if you have ever tried to troubleshoot something remotely, you understand how much better it is when you can see the problem yourself instead of over the phone.
The other place is going to be with testing. You will be able to setup your whole system and test and make sure your deployment is ready to go before you actually send it to the production machine. You can also test things like load balancing, without the need of having multiple machines. Just create a few VMs that each hold the web server and point your load balancer to those. The other really useful feature is that you can test how RAM and other things affect performance. When you have a VM, you can change how much RAM it uses. So you can run your web site under 2 GB of RAM and see how it performs, and then switch to 4 GB or 8 GB and run the same tests.
This will change things. Because normally you have to rely on tests that others have done to see how RAM and other things affect performance. But if you look closely at any of those tests, they always say that your results may vary as it depends on the hardware, what your web site does, etc. So this will give you a true test to see how it will affect things and if you should invest in the extra hardware.
The other thing that I have noticed is that the snapshots seem to be working very well. This allows you to basically have a backup of the system that you can rollback to at any time. Which is very useful if you are testing some changes to your site and when done, want to put it back to a known state.