O desenvolvimento em uma máquina virtual pode ser uma boa ideia se você não puder dedicar uma máquina a um sistema operacional diferente. Por exemplo, se você estiver escrevendo um aplicativo para o OS X, você poderá ativar uma VM e fornecer a mesma quantidade de memória necessária. Com a maioria das VMs, você precisará de uma margem extra de recursos, pois também está executando um sistema operacional host. Eu usei o VirtualBox para executar VMs do Windows e Linux e funciona muito bem. Para o VirtualBox, existe até mesmo um console baseado na web chamado phpvirtualbox para controlar as VMs remotamente.