What is a Virtual Private Server (VPS)?

While Shared Plans use one physical computer to share the combined resources between a group of customers, Virtual Private Servers take a different approach: One physical server is divided into several “virtual” machines, where each user is completely isolated in his or her own compartment. It’s as if each hosting customer has their very own independent server. Computer resources such as CPU (the computer’s brain), memory, disk space, an the operating system get allocated to each virtual machine.

The virtual private server runs over a specialized virtualization platform that allows the owners to install software applications, review security and usage logs, do maintenance tasks, and even reboot the virtual machine if necessary.

Kernel Virtual Machine and Hypervisor illustration.

OpenVZ and KVM

There are two types of virtual servers, OpenVZ and Kernel-based Virtual Machine (KVM).

OpenVZ is strictly Linux based containers that are easy to setup and use right away. You get all the benefits of running your own virtual server without the necessary technical expertise required to initiate and maintain an actual server. One limitation is that your virtual machines can only be Linux operating systems.

KVM on the other hand is more complex to get it up and running, but it allows far greater flexibility giving you full control over the platform. For example KVM allows you to install any operating system that you wish, including MS Windows, Linux, Unix, or BSD. Moreover it also allows you to portion resources very specifically to each of your applications, create encrypted disk partitions, and create complex encrypted tunneling scenarios.

Which one to chose?

Both, OpenVZ and KVM, are excellent solutions that allow you to host your site or applications with efficiency while allowing you total control of the system. In practical terms, the main difference between the two types of virtual private servers is the granularity over the control of hardware and resources.

A VPS solution based on OpenVZ would be ideal for app developers or game designers that need to change their server configurations very quickly for testing purposes.

A KVM solution would be appropriate for companies that wish to have absolute control over their server resources, as for example, the use of a financial application that requires encrypted spaces and/or encrypted GRE tunneling.