What is server virtualization?
Server Virtualization is a technology which enables the creation of a virtual instance of any operating system on a virtual platform. Before server virtualization became mainstream, each individual operating system required a physical platform, typically a dedicated server with CPU, Disk, Memory and other associated hardware to host the operating system. On a physical server, an operating system has access to all available computing resources of the host hardware. As servers have become more powerful, this approach has proven very wasteful on hardware resource availability.
In typical server virtualization, many virtual machines are associated to a physical server, a hypervisor is used to share the host hardware with each individual virtual machine. Server virtualization allows resources to be shared with many other virtual machines, enabling organizations to greatly reduce their datacenter hardware footprint and the associated costs of running vast amounts of physical hardware.
A Brief History of Server Virtualization
While server virtualization has recently exploded in popularity, the technology of virtualization has been in development for well over 50 years. During the 1960s, IBM pioneered the first virtualization of system memory; this was the precursor to virtual hardware. In the 1970s, IBM virtualized a proprietary operating system for the first time called VM/370. This OS-Level virtualization had little use outside of mainframe computing, but it eventually evolved into a product which became z/VM, the first commercially marketed virtual platform for servers.
Today, server virtualization dominates the IT industry, with many companies moving towards fully virtualized cloud-managed IT ecosystems. The popularity of virtualization increased greatly in the late 1990s, with VMware’s release of VMware workstation. This product enabled the virtualization of any x86/x64 architecture and brought virtualization mainstream. It was now possible to run Linux, Windows and MacOS on the same host hardware. This ground-breaking technology has played a key role in shaping IT infrastructure services for the last 20 years. How does server virtualization work?
In all fully virtualized server platforms there must be a host or vendor hardware available. This hardware, usually a server, requires virtualization software called a hypervisor. The hypervisor presents generic virtualized hardware to every operating system that is installed onto the hypervisor.
This generic hardware includes all components required by the operating systems to start, components such as hard disks, SCSI drivers, network drivers, CPU and memory allocations. The virtual machine can only interact with the generic hardware and is independent from any other VM; the hypervisor manages the host resources and allocates to each VM. The administrator can then set the hypervisor to allocate different resources to each virtual machine depending on its requirements.
Today, virtualization technology can deploy almost any operating system; Linux, Windows, Aix are widely virtualized. More recently, hardware manufacturers have started offering virtual appliances of their hardware devices. A good example of this is Network Load Balancers, which typically would have been a physical device in a rack, but today, they are often virtualized. Host hardware has become so powerful that offering a virtualized dedicated appliance is more commonplace.
Types of Hypervisor
The Hypervisor is the key software required to enable server virtualization. There are 2 types of hypervisor available. The Type 1 hypervisor, which is often called a “bare-metal”, is a hypervisor which is installed directly on top of the host hardware. A type 1 hypervisor directly manages all the server hardware resources installed inside the bare-metal tin. Each hardware resource is then allocated to the virtual machines via the Hypervisor Operating System. A typical Type 1 example is VMware vSphere ESXi.
The Type 2 Hypervisor runs directly on top of a conventional operating system as a process or application. This kind of hypervisor virtualizes the hardware resources of the conventional operating systemWhile Type 2 hypervisor have some architecture limitations, they are still very popular in non-production environments. A typical example of a Type 2 hypervisor is VMware Workstation or Virtual Box.
Server virtualization hypervisors
There are many types of hypervisor available today. The most popular is the vSphere ESXi hypervisor from VMware. VMware has dominated virtualization, and as a result, this hypervisor is used extensively throughout the world’s datacenters. Microsoft introduced its hypervisor called Hyper-V in 2008. Microsoft bundles Hyper-V with all Microsoft server operating systems and has recently started bundling it with Windows 10 Professional. The hypervisor with the leading market share in the open source community is called Xen. Xen was created by Cambridge university in the late 1990s and is a key player today. In 2006, Xen it was selected by Amazon as the virtual platform for its cloud-based Amazon Web Services (EC2). Amazon dominates the cloud ecosystem, and this has lead other companies to use Xen as a commercial product; Rackspace uses Xen, as well as Citrix, who markets it as Citrix XenServer.
Hardware manufacturers and server virtualization
Server Virtualization is not just used by software manufacturers. IBM, who manufacture most of their server hardware as well, also play a significant role in server virtualization. IBM platforms System P, System I and System Z use a para-virtual hypervisor. Essentially, all the guest virtual machines are aware of each other and their resource requirements via the host. The host hardware resources are sliced up and allocated to the Virtual Machine (or Logical Partition). IBM Z/VM founded this para-virtualized technique, and nearly all IBM mainframe solutions use this method of virtualization. For Example, IBM System P uses a pooled virtualized hardware layer that is managed by a HMC to distribute resources to logical partitions. Each partition is aware of the other partitions’ requirements, and resources are shared to ensure each server has at least the minimum hardware that it has been defined.
Benefits of server virtualization
Arguably the key benefits of virtualization to an organization are its flexibility and cost savings potential. Server Virtualization is much more efficient on host hardware than individual physical servers. As a result, companies need to procure significantly less hardware for new infrastructure, and older, less economical hardware can be migrated to new efficient hardware. This all benefits the environment, as datacenters will require less power and cooling. The consolidation of hardware also reduces the datacenter footprint; this will reduce the costs associated with managed service providers.
Functionality is also a key benefit of virtualization. Key functions such as the ability to roll back changes made to systems using a snapshot eliminated the previous requirement to rebuild a server from scratch. Other key server management features, such as vMotion, Cloning, Fault tolerance, DRS and High Availability changed how server administrators could increase uptime of infrastructure and offer better service level agreements to customers. New virtual machines can be deployed near-instantly using templates, and more recently it has become possible to build an entire new virtual infrastructure from scripts, again improving server provisioning drastically. Tools such as Terraform can be used to build the infrastructure, and other configuration toolsets such as Ansible can be used to configure the newly deployed infrastructure exactly and uniformly to your requirements.
Disaster recovery (DR) has benefitted greatly from server virtualization as well. No longer do you need to restore from tape to reprovisioned hardware; instead the entire virtual infrastructure can be replicated between sites, and using tools such as VMware Site Recovery Manager, the DR process can be automated. Products such as CloudEndure can replicate servers direct to the cloud and replicate entire infrastructure in a staging area, which can be activated when a DR scenario is invoked.