We have recently rebuilt our entire development envirnonment and put a lot of shiny new PC's and server. Essentially, we are now working in a complete virtual environment, where our personal development servers, desktops, staging servers etc are all Virtual. Our physical PC's now run Server 2008 and Hyper-V
For those that don't know, Hyper-V is the next generation of Virtual Server and in the development environment give us great control over the server - my favourite being able to take a snapshot of a server at a given point in time, have a tree of these snapshots and being able to merge parts of the tree, or indeed all back into a single virtual disk. These snapshots can be taken at any time - an example being, if I was to install software, snapshot just before the install. If the install fails, revert back to the snapshot.
I'm hoping that Iain will blog about this in more detail very soon (not to Iain - publish these soon!
)
As part of our development process, we need to ensure that the staging servers are clean each time we deploy our code and features. To ensure this, we look to get some scripts to automtically turn off the virtual staging servers, scrap the disks and revert to a known good point (those who know the daily build process will be familiar with this). Rather than start from scratch, Taylor from the MS Hyper-V team has some startpoint scripts