In this post I will explain as simple as possible what is hardware virtualization. One of the enabling technologies in Cloud Computing is Hardware Virtualization. It is a technique to make it seems that there are more hardware in a system than the actual number of hardware is. For example, in a system where we have one CPU, by hardware virtualization, we can make it like there are more than one CPU.
- Personal. For example, I only have one computer, but I want to run Windows, Ubuntu, CentOs and other operating systems at the same time. With hardware virtualization, I can pretend that I have more than one computer (hardware), and run each operating system in virtual hardware.
- Enterprise. One big super fast server. All employees are connected to this server to do their works instead of buying expensive computer for each of them.
- Infrastructure as Service. You can sell a portion of your servers to costumers. For example, a web hosting company.
- Efficient: Some hardware are not utilized 100% at all time. Like in my computer right now, I only use around 5% of my CPU. By sharing the hardware resources, the efficiency is improved and the cost of buying hardware is decrease.
- Flexible: Did you just buy a new computer? You must hate that you need to re-install all software that you already have from your previous computer into your new computer. A system running virtual machine is easily moved from one computer to another, no need to reinstall them.
- Reliable: If one of the software breaks the hardware, it is easily restarted without turning off all systems.
- Highly Available: Because it can move easily, your website/OS can run all the time even when you are upgrading components in your servers.
- Recoverable: The operating system running on virtual hardware can be saved as backup.
- Slower: Compare to using physical hardware, it is always slower to use virtual hardware. But the current technology can push virtual hardware to have performance near to physical hardware. As in it is only slower by 2-5%.
- Security/Reliability threat: Since there are more than one operating systems running on the same hardware, if the isolation is not secure, malicious operating system can wreak havoc the whole things.