When virtualisation was new, we tried to virtualise everything, but then we noticed use cases where the our virtual machines were much slower than a bare metal.
For us, we use the following rules when deciding not to virtualise:
- Network IO intensive applications (i.e. with many interrupts/packets)
- Disk IO intensive applications (if not on SAN storage)
- RAM intensive (this is the most precious resource)
We have had these experiences with Xen and DRDB as well has Hyper-V's shared-nothing with DAS. Is this the case with all hypervisors?
What (other) metrics should I look for when deciding to virtualise an application/server or not?