I remember years ago whenever I wanted to play with a new server OS, it always required me to have a separate physical machine to run it on. This was a major drawback and made it difficult to experiment with designing server infrastructures consisting of multiple servers and tiers(clustering, load balancing, etc,.). If I wanted to load balance an Apache server and see the effects it had on the running application, it was difficult to emulate a bunch of Apache nodes running behind a load balancer because I only had access to one or two physical machines. Another example is when I was trying out Novell Netware and wanted to test out replication of eDirectory.
Granted there were early versions of virtualization software such as VMware around, they just didn’t have the performance to make a large number of virtual servers on one physical machine usable. Now I am running four different virtual machines on one of my servers, and they all seem to be running and sharing resources very well. This has enabled me to do design and do some test cases on different configurations that wouldn’t have otherwise been possible and easy.
I’m using VMware Server, a free version of VMware’s virtualization software, that allows you to run a number of virtual machines in the background(geared toward servers obviously).