If you work with virtualization for a living, inevitably you’ll be asked what virtualization is. Trying to explain it to someone who doesn’t work with computers can often be challenging, and after you explain it they still may not know what it’s about. So how do you explain it to someone for the first time? I find that using analogies that anyone can relate to is a good way to explain things to people. Before I attempt a virtualization analogy I’ll try explaining it in basic computer terms.
Virtualization software, also called a hypervisor, emulates computer hardware allowing multiple operating systems to run on a single physical computer host. Each guest operating system appears to have the host’s processor, memory, and other resources all to itself. The hypervisor, however, is actually controlling the host processor and resources and allocates what is needed to each operating system, making sure that the guest operating systems (called virtual machines) cannot disrupt each other.
There are two types of x86 virtualization: bare-metal and hosted. Sometimes these types are referred to as Type-1 and Type-2 hypervisors respectively. Bare-metal means the virtualization layer (hypervisor) installs directly onto a server without the need for a traditional operating system like Windows or Linux to be installed first. “Hosted” means that an operating system must first be installed on a server, and the virtualization layer is installed afterwards, just like an application.
Bare-metal hypervisors include VMware ESX, Citrix XenServer and Microsoft Hyper-V Server. Hosted hypervisors include VMware Workstation, Fusion, VMware Player and VMware Server, Microsoft Virtual PC and Microsoft Server, and Sun’s VirtualBox. Some of the differences between hosted and bare-metal hypervisors are listed below.
- Requires a host operating system (Windows/Linux/Mac), installs like an application.
- Virtual machines can use all the hardware resources that the host can see.
- Maximum hardware compatibility as the operating system supplies all the hardware device drivers.
- Overhead of a full general-purpose operating system between the virtual machines and the physical hardware results in performance 70-90% of native.
- Installs right on the bare metal and therefore offers higher performance and scalability but runs on a narrower range of hardware.
- Many advanced features for resource management, high availability and security.
- Supports more VMs per physical CPU then hosted products.
- Because there is no overhead from a full host operating system performance is 83-98% of native. There is a small bit of overhead from the virtualization layer of the hypervisor
Why is virtualization such a great thing? Because most computers do not fully utilize the resources (memory, CPU, disk, network) that they have which is very wasteful. Would you rather have 10 computers that are all using less than 20% of their total resources, or three computers that are using 70% of their resources?
You might think you could avoid this by simply installing more applications on one computer but this is often a bad idea as the applications may conflict with each other and cause problems, and a single OS crash will take down all your applications. Virtualization solves this by allowing the applications to run on the same physical computer, but separates them by allowing each one to have its own isolated guest operating system.
Imagine computers as cars on the road in motion. Each car has its own resources, such as fuel, heat/cooling, radio, etc. Most cars are never filled to capacity, and many have only one person in them which is wasteful.
Imagine virtualization as a bus, instead of many people driving in many cars you now have many people being moved around by a few buses. A person may only ride one bus at a time, but if a bus becomes inoperable due to a flat tire or an engine problem, the people may simply get off and transfer to another bus that has unused seats. In virtualization, this “transfer” happens because of features like High Availability (HA).
A person may also hop from one bus to another if it becomes too crowded while it is moving. In virtualization, this is called VMotion, if you’re using VMware or Live Migration if you’re using Hyper-V. By utilizing buses that hold more people instead of cars, fewer resources are wasted, while all the people still get where they are going. Buying and operating one bus instead of 10 cars is a lot cheaper and more efficient.
Benefits to Virtualization:
Virtualization can help you shift your IT focus from managing boxes to improving the services you provide to the organization. If you are managing multiple servers and desktops, virtualization can help you to:
- Save money. Companies often run just one application per server because they don’t want to risk the possibility that one application will crash and bring down another on the same machine. Estimates indicate that most x86 servers are running at an average of only 10 to 15 percent of total capacity. With virtualization, you can turn a single purpose server into a multi-tasking one, and turn multiple servers into a computing pool that can adapt more flexibly to changing workloads.
- Save energy. Businesses spend a lot of money powering unused server capacity. Virtualization reduces the number of physical servers, reducing the energy required to power and cool them.
- Save time. With fewer servers, you can spend less time on the manual tasks required for server maintenance. On the flip side, pooling many storage devices into a single virtual storage device, you can perform tasks such as backup, archiving and recovery more easily and more quickly. It’s also much faster to deploy a virtual machine than it is to deploy a new physical server.
- Reduce desktop management headaches. Managing, securing and upgrading desktops and notebooks can be a hassle. Desktop virtualization solutions let you manage user desktops centrally, making it easier to keep desktops updated and secure.