There was a time when an organization seeking web hosting had to choose between a shared server and a dedicated server. This could be a difficult choice because while dedicate hosting offered a server that only one organization had access to — ensuring memory, bandwidth, and complete control — it could be extremely expensive. A shared server, on the other hand, usually meant sharing the memory and bandwidth resources, as well as the IP address. If someone else on the server proved to be a resource hog or flooded the Internet with spam, one could find oneself blocked through no fault of one’s own, as ISPs took aim at the spammer sharing one’s turf. Server virtualization uses software to make one server act as if it were a number of separate servers, solving the problem.
Server virtualization, also known as a Virtual Dedicated Server (VDS) or Virtual Private Server (VPS), is cheaper than a dedicated server and solves the resource-sharing problems of a shared server by earmarking resources for each subscriber and allowing each virtual server to run completely separately from the others, even running separate operating systems, if desired. Server virtualization also has applications within organizations, as it can allow tasks and processes that are not compatible to be operated on the same server completely without interaction or overlap, making the use of the server more efficient. Another benefit of virtual servers is allowing for redundancy within a single piece of hardware. A second virtual server could contain the sample application and/or the same data to use as a backup in case of a failure.
Server virtualization can be accomplished in three different ways. The first is referred to as full virtualization or the virtual machine model; the second as paravirtualization or the paravirtual machine (PVM) model; and the third is called OS-level virtualization or virtualization at the OS (operating system) level. The virtual machine model requires hypervisor software, which acts as a platform for the operating systems of the virtual servers, keeping them separate and independent, which requires a lot of processing power. The PVM model allows the virtual servers to be aware of each other and coordinate resource use. With server virtualization at the OS level, there is only one host OS and the virtual servers are guests, which means they must all be separate and run on the same operating system but allows the system to be more efficient.