
Virtualization is the process of implementing multiple operating systems on the same set of physical hardware to better utilize the hardware. Companies with strong plans to implement virtualized computing environments look to gain many benefits, including easier systems management, increased server utilization, and reduced datacenter overhead. Traditional IT management has incorporated a one-to-one relationship between the physical servers implemented and the roles they play on the network. When a new database is to be implemented, we call our hardware vendor of choice and order a new server with specifications to meet the needs of the database. Days later we may order yet another server to play the role of a file server. This process of ordering servers to fill the needs of new network services is oftentimes consuming and unnecessary given the existing hardware in the datacenter. To ensure stronger security, we separate services across hosts to facilitate the process of hardening the operating system. We have learned over time that the fewer the functions performed by a server, the fewer the services that are required to be installed, and, in turn, the easier it is to lock down the host to mitigate vulnerabilities. The byproduct of this separation of services has been the exponential growth of our datacenters into large numbers of racks filled with servers, which in most cases are barely using the hardware within them.
Virtualization involves the installation of software commonly called a hypervisor. The hypervisor is the virtualization layer that allows multiple operating systems to run on top of the same set of physical hardware. Figure I.1 shows the technological structure of a virtualized computing environment. Virtual machines that run on top of the hypervisor can run almost any operating system, including the most common Windows and Linux operating systems found today as well as legacy operating systems from the past.
