There are many contributors to the explosion of technology around the globe. But one of the most important is the concept of virtualization, which involves using software to emulate computer hardware. Virtualization radically transformed traditional computing by making it possible to run a wide variety of software-created ‘virtual machines’ on one computer. There are huge benefits to scalability and creativity, since virtualization allows many different operating systems to run on one piece of hardware.
“It has become the industry standard, to the point where people may not realize how much they are using a virtual environment,” said TDK Chief Technology Officer Mark Henman. “An example is a small business with a decent sized server. If they have specialized applications that need different operating systems, virtualization software allows them to run on the same machine.”
How Virtualization Works
Virtualization software, also known as a hypervisor, allows multiple operating systems to run on the hardware of a single computer. Each of these operating system installations is known as a virtual machine. The hardware resources available to each virtual machine are managed by the hypervisor, which ensures that the virtual machines do not conflict with each other. Sometimes the hypervisor is also referred to as the virtualization layer. This layer can either sit directly on top of the hardware, or it can run as an application in a native operating system like Windows, Linux or MacOS.
“If you are buying hardware to dedicate to virtualization, with everything sub-divided into virtual machines, using a thin virtualization operating system is going to be your best bet,” Henman said. “You are essentially running a machine with in a machine. Each virtual machine is then dedicated to a task. It uses whatever operating system is most appropriate and whatever software is most appropriate. But its isolated and dedicated for security benefits,” Henman said.
There is a wide array of reasons to use virtualization. Most computers simply do not utilize all the resources available to them, which is the most common reason it is used. It is true that virtual machines are inherently slightly less efficient than accessing a real machine directly. This is because the virtualization layer does require a small amount of overhead. If the layer rests on a native operating system, that also requires overhead. However, that overhead is typically more than made up for by the hypervisor’s ability to efficiently allocate unused resources to all the virtual machines it manages.
“The hypervisor is a resource manager that slices and allocates the CPU cores, memory, disk space, network and other resources. It partitions the available resources, subdividing a larger machine into smaller ones,” Henman said. “The layer itself takes a few percent or so of the computer’s resources to operate. If you need 100 percent of a machine’s resources to run applications, you will not want to go with a virtual machine.”
Since virtualization allows for a more efficient use of unused computing resources, it can often result in lowering the required number of physical servers. This not only saves in the direct cost of hardware purchasing, it lowers physical maintenance costs as well. Fewer servers also result in increased energy efficiency.
Software Developer’s Dream
Business processes can also be improved by virtualization technology. A prime example is software development and testing, which can be streamlined using a programming language like Java that can be deployed to any operating system running a Java Virtual Machine. When that option isn’t ideal, virtualization can allow software to be developed and tested on multiple operating systems without purchasing multiple physical servers. Development and test servers can also be rapidly provisioned and destroyed as needed.
“The approach allows for easy cloning of workloads, enabling developers to test various versions of software over a period of time. Virtualization and the cloud work together well to do large scale testing. You can set it up and tear it down after the testing. That was not possible previously, when actual physical computers were needed,” Henman said.
Virtualization can also improve infrastructure scalability. Even the most complex configurations can be rapidly provisioned to new servers using virtualization technology (horizontal scalability). More hardware can be added to physical servers, which improves the performances of the virtual machines using those resources (vertical scaling). Scaling can also occur dynamically based on the changing resource needs of a system.
Virtualization provides backup, uptime and disaster recovery benefits as well. Because the entire system is encapsulated in a set of files which can be easily backed up, entire systems can be recovered with minimal effort. Since the virtual machines are entirely independent of their hardware, backup and failover hardware doesn’t necessarily need to be as expensive as production grade hardware. Additionally, when virtualization lowers the required number of physical production servers, those same cost benefits apply to backup and failover server requirements as well.
Applications of Virtualization
The benefits of virtualization give rise to many applications of the technology. Hardware can be kept up to date without requiring the retirement of the legacy operating systems and application support. Applications which might normally require multiple physical servers can be run on the same server within separate virtual machines and their distinct execution environments. User workstations can be rapidly deployed with a company standard set of applications. Loads and resources of virtual machines can be dynamically balanced across multiple physical servers to ensure high uptime and performance. Virtual layers and sandboxes can be created to add security to a system. Private and public clouds are created using virtualization technology.
“New uses are gaining popularity, where we see the virtualization of the entire network. That is where we are not just setting up virtual machines, but virtual networks. It is possible to design an entire data center using software, virtual switches, LAN, and security layers,” Henman said.
The applications of virtualization are nearly endless. That being said, virtualization is not an ideal solution for every situation. An IT consulting firm with virtualization experience can help identify when and how virtualization works best.