In today’s world, technology and science play a huge role in competitive advantage. Those who know how to exploit the power of technology to help them meet their goals will exceed with less effort and will accomplish more with the same amount of time. Hardware-based virtualization is one of those technologies that can really have a significant impact in terms of efficiency.
I have previously written about hosted virtualization which allows an individual to install another operating system (OS) on top of the main operating system. It works by installing an application such as VirtualBox or VMware Workstation as a “virtual environment” on top of the main operating system. Then within this “virtual environment,” other operating systems can be installed. However, this is not “true” virtualization. For true virtualization, three things must co-exist (as defined by the famous “Popek and Goldberg virtualization requirements“):
- Equivalence / Fidelity
A program running under the Virtual Machine Monitor (VMM) should exhibit a behavior essentially identical to that demonstrated when running on an equivalent machine directly.
Resource control / Safety
The VMM must be in complete control of the virtualized resources.
Efficiency / Performance
A statistically dominant fraction of machine instructions must be executed without VMM intervention.
Since hosted virtualization runs on an application layer on top of the main operating system, none of the above three criteria can be met. And believe me, it is noticeable. Hosted virtualization is always noticeably slower than the main OS. This is not the case in “true” virtualization where the virtualization layer (hypervisor) is the main OS and it is practically impossible to tell that you are using virtualization.
bare-metal machine. This is exactly what VMWare’s ESXi does. This is possible because most of the latest processors have special “virtualization technology” support built right into the chip. For Intel chips the technology is called “Intel VT” and for AMD chips it is called “AMD-V.” You can check the processor manufacturer’s website to see if your processor supports hardware based virtualization.
Welcome hardware based virtualization – where the “virtualization layer”, or the “hypervisor” as it is commonly referred to, can be installed directly on the core
Even if your computer has an older processor that does not support virtualization, you can still install ESXi. This is possible through a method called “binary translation.” I won’t explain it here, but basically it uses emulation for parts of the instruction set that would otherwise be handled directly by the processor in hardware based virtualization.
So, what is so great about hardware-based virtualization. Well there are many things such as convenience and using computer resources efficiently. I have setup ESXi on a server in my house and installed Windows XP and Ubuntu Server on it. Both the operating systems are running at the same time on the server. I connect to the OS using VMware Infrastructure Client. Since it is true virtualization, it is just like running the OS on its own machine; I cannot detect any slowness/latency. The great thing about this is that, in less than 5 seconds, I can create a snapshot (backup) of the entire system and, if needed, in 5 seconds I can restore a prior snapshot. In effect, imagine your desktop or laptop computer being shrunk to one large file. That is effectively what has happened here.
The other day I accidentally typed in the wrong URL and was sent to a website that hijacked my browser and installed malware. I simply, logged out of Windows XP, which is what I was using at the time, and using VMware Infrastructure Client restored a prior snapshot in less than 5 seconds. At home, I basically use my laptop as a dumb terminal to log into Windows or Ubuntu running on ESXi. Once I log into the OS, I put the console in full screen mode. If you were to come over and use my computer, you would not know that the OS is actually not running on the local drive. I have been extremely impressed. The impact on time saving has been significant. Maintenance, backup, testing, and disaster recovery all positively impacted. In the corporate world, these benefits would only be exponential. I can only imagine the day when all desktop workstations are run remotely. Think of the ease of administration and cost savings in terms of resources!