Virtual private server (VPS) is a marketing term used by Internet hosting services to refer to a virtual machine for use exclusively by an individual customer of the service. The term is used to emphasize that the virtual machine, although running in software on the same physical computer as other customers' virtual machines, is functionally equivalent to a separate physical computer, is dedicated to the individual customer's needs, has the privacy of a separate physical computer, and can be configured to run as a server computer (i.e. to run server software). The term Virtual Dedicated Server or VDS is used less often for the same concept.

Each virtual server can run its own full-fledged operating system and can be independently rebooted.

The physical server typically runs a hypervisor which is tasked with creating, destroying, and managing the resources of "guest" operating systems, or virtual machines. These guest operating systems are allocated a share of resources of the physical server, typically in a manner in which the guest is not aware of any other physical resources save for those allocated to it by the hypervisor.

In a fully virtualized environment, the guest is presented with an emulated or virtualized set of hardware and is unaware that this hardware is not strictly physical. The hypervisor in this case must translate, map, and convert requests from the guest system into the appropriate resource requests on the host, resulting in significant overhead. Almost all systems can be virtualized using this method, as it requires no modification of the operating system, however a CPU supporting virtualization is required for most hypervisors that perform full virtualization.

In a paravirtualized environment, the guest is aware of the hypervisor and interfaces directly with the host system's resources, with the hypervisor implementing real-time access control and resource allocation. This results in near-native performance since the guest sees the same hardware as the host and can thus communicate with it natively. UNIX-like systems, such as Linux, some variants of BSD, Plan9, and OpenSolaris are currently known to support this method of virtualization. However, installing operating systems as paravirtualized guests tends to require more knowledge about the operating system in order to have it use special hypervisor-aware kernels and devices.

Some examples of paravirtualization-capable hypervisors are Xen, Virtuozzo, Vserver, and OpenVZ. Paravirtualization was the reason we selected Citrix XenServer as our choice as it does offer near-native performance for VPS.