As a seasoned virtualization expert (mostly with Hyper-V environments), I totally agree with the concept of building your VMs (virtual machines) and virtualization hosts to meet a particular need.
Often, I talk to SQL DBAs (database administrators) or Exchange administrators who swear that these platforms can NEVER be virtualized. This line of thinking is so wrong that Microsoft itself has bet their business around it (e.g., Office 365, Microsoft.com, etc.).
The most important piece of advice I give to virtualization newcomers is to treat a VM like you would a physical server. If a physical Exchange server needs 16GBs of memory and 4 CPUs, then building a VM with only a single virtual processor and 2GB of memory is going to result in a bad user experience, obviously.
HDD (hard disk drive) performance is always a concern with VMs. If you are creating a VM to run a disk intensive SQL server, then you will certainly care about your disk performance. With the more recent versions of Hyper-V, there is little noticeable performance reduction when choosing dynamically expanding VHD (virtual hard disk) vs. using a fixed size VHD. The big downside is that you now have to monitor and manage your storage on the host since your VMs can quickly consume physical space.
If extra disk performance is really needed, there is an option of using a pass-through disk. Pass-through disks will use an unused volume on the physical Hyper-V host as if that volume were its own. With pass-through disks you’ll get true hardware-level performance. The downside is that your VM is now tied to this physical storage making it difficult (or impossible) to migrate to a different host… so plan accordingly.