Isolating websites on a single machine from each other the underlying OS (i.e. without using a bare-metal hypervisor such as ESX) can be achieved using "container" technologies, such as:
- chroot
- OpenVZ
- KVM
- Xen
- FreeBSD jails
- Solaris zones
- LXC (Linux containers)
- (... more here ...)
What are the pros, cons and other important details of each?
The link from Warner is a good starting point :)
If you only do linux:
OpenVZ
LXC
Fact is these are more luxury chroot options: you don't really have independent VM's (Virtual Machines) with their own resources (i.e. they all use the same disk).
The "disadvantage" of freeBSD jails and Solaris zones are that they are more or less proprietary and have a smaller user base. Also with jails and zones you don't have real independent VM's.
If you want complete virtualization and have money to spare:
VMware's vSphere
would be my choice. With full licencing you get nice options like:
In the end the licensing cost will weight up to reduced costs on setting up server, hardware and power consumption, depending how much you virtualize of course. Big drawback in my opinion is vSphere depends on an administrative windows client (running vCenter).
Xen
I believe you still use templates to setup a VM (Virtual Machine) but with VMware it's quite easy to setup a kickstart server and PXE-boot/kickstart new VM's.
To be short: it all depends on your needs :)
chroot
Pros:
Cons: