Amazon relies on Virtualization for launching all of the EC2 instances in the cloud. Amazon uses a customized version of Xen virtualization. Xen is an open source virtualization platform built on top of x86 . One of the other popular Virtualization is VMware.
One difference between Xen is it is para-virtualized unlike Vmware which is fully virtualized environment. Xen provider higher performance and close to that of the real servers. So no wonder Amazon, RackSpace all of them are using it. It is faster because the overhead of the full virtualization is not present.
Xen supports 2 virtualization types, ( Meaning Amazon supports 2 types as it runs on Xen )
- Xen Para-virtulaization ( PV )
- Xen Full virtualization ( HVM )
HVM stands for Hardware-assited Virtual Machine.
Para-virtulaization ( PV )
- An OS or Kernel called Hypervisor is installed on the hardware.
- Dom0 is called the “privilged domain” which can issue commands to the hypervisor.
- Stability/Performance is close to the real servers and hardware virtualization.
- Overhead is very low
- Implementation is tough.
- Both the host & guest kernels has to be patched.
- Supports Linux only
- can’t change the OS options during install.
- Can’t compile and install a custom kernel
Stands for Hardware-assisted virtual machine. It provides complete hardware isolation. The hardware provides support to run independently for each OS
- Can run Linux and Windows
- Complete secure hardware isolation
- Resembles close to a physical server.
- Greater stability
- Low performance, because of the overheads at the hardware level
Your take away,
- Windows EC2 instances can only be HVM as PV does not support windows.
- Linux/Unix EC2 instances can be either HVM and PV.
- If you want a good performance for Linux/Unix then use PV