This answer to this question directly relates to the requirements. For
servers where you need many small environments, Virtuozzo or OpenVZ
would be my choices. For environments where a hypervisor environment
is necessary, VMWare or Xen would be my choices. And for server
environments where uptime is key, the supported solutions from
Parallels and VMWare are usually the way to go.