Virtualization has become nearly ubiquitous in business as a way to cut IT expenses, enhance security, and increase operational efficiency. Some form of virtualization is being deployed in 92% of businesses.
Organizations are using virtual machines (VMs) for storage virtualization, application virtualization, virtual desktop infrastructure (VDI), and network and data virtualization.
What Is Virtualization?
Virtualization lets you carve up resources within a physical machine to run separate instances within the same machine. This allows you to maximize capacity on a physical machine and reduce the number of machines you need.
For example, instead of running separate servers for mail, apps, and web hosting. One server could host virtual machines for all three instances. Think of it as creating a computer within a computer. Each can work independently taking care of different tasks.
Virtualization Over Time
The concept of virtualization goes back to the 1960s. The technology that allowed it was developed more than 20 years ago to allow multiple users to access computers at the same time for tasks such as batch processing.
As the technology evolved, organizations moved from physical servers and single-vendor IT stacks to using less expensive servers. However, it was typically one server for one task. To make sure an organization had enough capacity to grow in the future, servers were typically being underutilized. Companies had to pay for the excess capacity they might never need or face having to add multiple servers in the future.
Virtualization allowed for multiple tasks or instances to be run on a single piece of hardware. By partitioning servers, organizations could run multiple operating systems and legacy apps within the same machine.
This helped reduce a major concern for companies: vendor lock-in.
As cloud computing became more widespread, virtualization became the standard. When you’re using cloud resources now, it’s likely a virtualized environment within shared machines.
How Virtualization Works
Virtualization uses specialized software to simulate an environment. In a bare metal virtualization, the software will simulate physical hardware in a virtual environment. It will act just as if it was a physical server even though it’s only software.
The host machine is where the VM will live. By running the virtualization software, it provides the computing power necessary, such as CPU, RAM, storage, and networking, for virtual machines to operate.
The virtual machine lives on the host machine within a virtual environment. It exists as if it were a single piece of hardware such as a server or computer. Everything is passed through what’s known as a hypervisor, which manages requests to the physical machine. The hardware returns data to the hypervisor, which relays it to the VM.
It’s possible to run multiple VMs on a single host machine. Each virtual machine will operate as if it’s the only system running on the machine.
It’s also possible to simulate other hardware, such as storage. IT teams can build virtual storage arrays that will appear to the hypervisor as if it were a series of physical hard drives tied together across the network rather than virtual storage.
The hypervisor is the piece of software that pulls it all together. It creates and managed the virtual environments within the host machine. The hypervisor controls and allocates the portion of resources that each operating system should get so that each VM can operate efficiently without disrupting other operations.
There are two types of hypervisors:
Type 1 Hypervisor
It’s also called a bare-metal hypervisor because it runs directly on
the system hardware. Each VM needs to run its own operating system.
Type 1 Hypervisor software options include:
- VMware ESX and ESXi
- Microsoft Hyper-V
- Citrix XenServer
- Oracle VM
Type 2 Hypervisor
This is a hosted hypervisor. Instead of running directly on the machine itself, it is run on the operating system in the hardware. Type 2 hypervisors are used most frequently on machines that run multiple VMs, rather than having to run independent operating systems for each virtual machine.
Type 2 Hypervisor software options include:
- VMware Workstation/Fusion
- VMware Server
- Microsoft Virtual PC
- Oracle VM VirtualBox
Provisioning a Virtual Machine
Virtual machines aren’t provisioned automatically when hypervisors are installed. The software has to be told what to do. It typically encompasses four areas:
- Provisioning: They must be provisioned to process resource requests, create templated, and configure VMs.
- Security and Compliance: Security and monitoring need to be put in place, such as validating user access.
- Resource Management: Projecting future needs, reclaiming unused space, or underused resources
- Managing Environments: Implementing virtualization across virtual, public cloud, private cloud, or hybrid and container environments.
Specialized virtualization software is used by enterprise organizations to manage interdependencies efficiently. Each of these 4 steps multiplies in complexity when new VMs are added.
In a hardware virtualization, the virtual machine manager is installed directly on the hardware system. The hypervisor will maintain memory, process, and other hardware resources. This type of virtualization is common on server platforms. Operating a virtual machine is easier than maintaining a physical server.
Virtualized systems work independently. Whether it is running on the hardware itself or nested within another virtual machine, it makes no difference. Virtual machines can have their own nested virtual machines. It’s like looking in the mirror with a mirror in the background. You can see the reflection of the reflection of the reflection. Nested virtualizations can be layered as deep as the resources will support.
Each virtual machine will work the same as if were a physical piece of hardware.
Operating System Virtualization
A virtual machine manager can also be installed on the host operating system for testing applications across platforms.
Storage virtualization makes it possible to control storage from a vast amount of resources. An array of servers can be controlled by a virtual storage system. This is commonly used for backup and disaster recovery for cloud systems.
Storage virtualization software options include:
- WMware vSAN
- Microsoft Storage Spaces Direct
- HPE StoreVirtual VSA
- Starwind VSAN
Applications are virtualized and delivered from a server to a device, rather than having to run the application on the device itself. This allows remote workers to connect to the application and its data without having to host it on their device.
Similarly, desktop virtualization allows access remotely to files and apps on a desktop machine using a virtual desktop infrastructure (VDI).
The Pros and Cons of Virtualization
Just like everything, there are advantages and disadvantages to running virtualized machines.
The Advantages of Virtualization
Virtualization offers a variety of benefits. Facilities can be simplified with fewer physical machines. This saves space and expense for hardware, maintenance, and operations. It also allows for centralized management and compatibility with applications. Here are some of the other benefits:
- Easier recovery in case of disaster
- Backups can be run on the same machine
- Makes migrating servers to new hardware transparent
- Balancing workloads is easier as virtualization software reallocated hardware resource dynamically when needed
- Since the machine in encapsulated, load balancing is enabled. It’s easy to change configurations to improve performance.
- Faster migration environments.
With fewer machines, there’s less physical space needed. It saves money on maintenance, power, and cooling costs.
Another advantage is flexibility with operating systems. Let’s say your company decides to migrate or upgrade to a new operating system that won’t support legacy applications. You would be able to keep your old operating system running in a virtual machine to support your legacy applications.
The Disadvantages of Virtualization
The biggest concern for virtualization is that if hardware malfunctions or a server goes offline, everything hosted on that server will also be affected.
When virtualizations are being developed, it’s important to pay attention to the resources each virtual environment uses. When several virtual machines are running on a host, there’s the potential to overload the system. Performance can suffer if there aren’t sufficient resources to manage concurrent sessions.
Managing total performance across the consolidation of virtual environments can be difficult, and RAM consumption can be an issue because it’s “split” among virtual machines and physical machines.
It’s also important to document the structure and hierarchy of virtual machines. It will require multiple links in a chain to work together cohesively. It can be complex to reverse engineer without a roadmap. Virtualization Monitoring can automate the process of generating dynamic maps of your infrastructure.