Server virtualization is essential for the efficient operation of any datacenter. But what exactly is server virtualization and is it right for your business? Server virtualization in 2020 is a more complicated and involved topic than when the concept was first introduced nearly two decades ago. However, the core basic concepts and benefits remain the same.
- What is Server Virtualization?
- Benefits of Server Virtualization
- Drawbacks of Server Virtualization
- Server Virtualization Software Vendors
A physical server is a piece of data center hardware that includes compute, memory, storage, and network interface components. These servers are deployed on-premises and have multiple form factors including blade, rack, and tower. Virtualization takes the attributes of a physical server and abstracts them into multiple virtual assets. It emulates the function and performance of physical infrastructure using a layer of software-based abstraction.
With a traditional physical server (sometimes referred to as a bare metal server when devoted to a single customer) all of the components are tied to a single piece of hardware and are often used inefficiently. Many organizations have more server space than they actually use, and few workloads on those systems make use of the entire capacity and throughput of a processor.
Virtualization makes it possible for individual workloads and tasks to run more efficiently because they’re not directly tied to any specific piece of hardware. Virtual servers still require hardware to exist, but the availability/capacity is much more flexible and is usually defined by the organization’s needs instead of the hardware limitations.
Data center virtualization occurs when all servers are abstracted to create a fully virtualized ecosystem. This enables organizations to run application workloads across a cluster of server assets completely independent of the underlying physical server hardware. A healthy virtualized infrastructure maximizes the processor utilization and reliability of running workloads.
Depending on the approach, server virtualization uses a number of different components. These include:
- A host machine, which is the physical server hardware where virtualization occurs
- Virtual machines (VMs), or guest machines, which contain the assets that are abstracted from a traditional server environment
- A hypervisor, which is a specialized software that creates and maintains virtual machines and can be run natively on bare metal servers or hosted on top of an existing operating system.
- Hypercalls, which are messages sent between paravirtualized hypervisors and operating systems to share resources using an API.
- Containers, which are unique user environments that are created in virtualized operating systems. With a container engine, multiple containers can make use of the same interfaces and shared libraries of the underlying host operating system. Containers are often deployed inside of hypervisors or virtual machines to offer an additional layer of isolation from the server’s core host operating system.
At a high level, all virtualization technologies aim to achieve the same goal: optimizing physical server availability by dividing and enabling resources to be provisioned with more agility. The specific approach to virtualization depends on the needs and limitations of the organization looking to virtualize:
- Full virtualization leverages a hypervisor to create and maintain fully autonomous VMs that do not need to be modified to work with different operating systems. This can be done through a software-assisted approach, but hardware-assisted full virtualization has become the dominant approach since Intel and AMD created new x86 CPU expansions in the mid-2000s. Microsoft Hyper-V, Oracle VM VirtualBox, and VMware vSphere are among the leading full virtualization products.
- Para-virtualization uses an application programming interface (API) to send hypercalls between the hypervisor and operating systems. This means that each VM is aware of and can communicate with one another to share resources. Paravirtualization, sometimes referred to simply as PV, can run on system architectures that do not have hardware-assisted virtualization support. Most products that enable full virtualization also enable paravirtualization.
- OS-level virtualization occurs without a hypervisor. Instead, the physical server’s operating system contains a virtualization capability that acts like a hypervisor to create multiple user environments called containers. Oracle Solaris is one of the most prominent OS-level virtualization products.
Virtualization and cloud are two technologies that are often interlinked. Cloud technology delivers server compute resources on an elastic model that can scale up or down as needed. Physical servers are not elastic and have fixed capacity, which is why the cloud is built on top of server virtualization.
With cloud server virtualization, cloud vendors use server virtualization to abstract large pools of compute resources within data centers to be consumed by end users. Cloud services provide users with access to virtualized server capacity but not to the physical hardware itself.
For example, Amazon Web Services (AWS) might have tens of thousands of physical servers in a data center, but end users do not get access to the actual physical server hardware. Instead, the EC2 (Elastic Compute Cloud) service offers cloud server virtualization with different sizes and configurations of virtual machine cloud instances.
There are many benefits of server virtualization, especially when it comes to an organization’s innovation and efficiency. Server virtualization has many benefits, including:
- Operating costs are lower. Virtualized servers usually require less physical footprint and consume less energy than traditional infrastructure. They also have greater availability with less hardware, so the ongoing cost of maintaining the server hardware is dramatically less than what would be required for the same availability in a traditional environment.
- Workloads deploy faster. IT administrators can set up or duplicate VMs much more quickly than in a traditional environment, meaning both the servers and the admin teams can be more productive.
- Disaster recovery and resiliency are better. It’s much easier to backup and replicate data to other VMs as a precautionary measure for disaster recovery. When disaster inevitably strikes, virtual machines can quickly restore any lost data and avoid long, expensive downtimes.
Simultaneously, there are some drawbacks to server virtualization:
- Performance is less reliable. Business-critical applications usually experience better performance on bare metal servers compared to virtual ones, although this performance margin has narrowed as virtualization technology has advanced.
- Capital investment is more expensive. The initial cost of a virtualized server is usually more expensive than its bare metal counterpart, but as mentioned above, the ongoing cost balances this investment out over time.
- Not all applications can be virtualized. Therefore, some virtual environments must maintain some traditional server capacity and adapt into a hybrid ecosystem.
As server virtualization continues to grow in data centers around the world, many software vendors have become giants in the virtualization market. These include:
- VMware vSphere
- Microsoft Hyper-V
- Red Hat Virtualization
- Oracle VM VirtualBox
- Citrix Hypervisor
- Proxmox VE
- IBM PowerVM
For a detailed comparison of all of the vendors listed above, please read our guide to the Best Server Virtualization Software for 2020.