VPS (Virtual Private Server) is a «sharing» of physical server resources. As a result, there are several separate virtual servers. All of them are at the same computer, however, actually user works with VPS as an independent machine with an own IP address and operating system.
A number of technologies allow creating virtual machines within a computer system. These technologies may be divided in two groups: OS core-based and hypervisor-based virtualization.
OS Core-based Application Virtualization
Application Virtualization technology is based on server resources sharing at OS core level. With the help of operating system resources sandboxes or containers are created. If we look at this from the point of the user that only administrates website hosting, a virtual server doesn’t really differ from a dedicated one.
However, from the point of the server administrator there are some limits, such as operating system choice. As long as all the virtual machines are collected at one computer, a user can install only the coherent operating system. For instance, Linux-based systems can operate only with Linux distributives (CentOS, Debian, Ubuntu), and on Windows-based systems one can use only the version that is installed on the core.
- Almost no limits of processor architecture;
- Plan scalability. Any moment you can change the amount of system resources: RAM, disk space or processor computing power;
- Physical server applies only one core; therefore, processor resources and disk space are not wasted.
- No particular resource division, which means that hosting providers tend to oversell. Just look at it this way, if the powerful server resources are rationally shared, everyone is in profit: users have stable VPS for a reasonable price, and hosting providers don’t suffer from equipment downtime. However, it often happens that choosing a cheap VPS means repeated system failure, slow website loading and other troubles, caused by server overloading;
- All the virtual machines use a unified file system, so if one user has problems, everyone else will suffer as well. Using a unified file system may also cause security problems;
- Requests of the guest OS-based software are processed in the general server core and only then get redirected to the hardware resources. As a result, the process of command execution slows down.
- Such servers are not suitable for placing resource intensive projects like game or proxy servers, streaming servers, etc.
This virtualization type gives guest operating system access to server hardware resources through the hypervisor. As a hypervisor one can use an electronic circuit (hardware virtualization – Intel VT and AMD SVM technologies), or a software (paravirtualization and full virtualization). Conditionally hypervisor is similar to proxy server within a computer system.
Hypervisor-based virtualization demands for the separation of each virtual machine. Each hypervisor-based VPS has an own core and an own file system (one or more hard drive partitions). There is a strict limit on RAM size and processor computing power available (usually one or two cores, but not just a part of one).
- Strict division of hardware resources. Even if a neighbor-system is loaded, your system won’t be affected – all the dedicated resources are entirely in your disposal;
- Each virtual machine is entirely separated from the others, which makes such problems as DDoS attacks almost harmless;
- Any operating system may be installed. Moreover, it is possible to install an operating system from your own ISO image, if approved by your hosting provider;
- VPS may be used for any purpose, likewise an allocated physical server. For instance, you may place a game server or deploy a VoIP telephony based on Asterisk;
- Overselling and other manipulations are prevented by strict hardware resources division.
- Higher hosting price;
- It may be troublesome to change the plan. Usually, one has to apply to the hosting provider. In some cases, one has to reject a poor plan and begin deploying a whole project again on the more expensive one.
The most reliable variants for VPS division
It is the most popular solution for virtualization on OS core level. OpenVZ allows running separate OS copies at one server. The technology is free of charge and exists long enough for the developers to fix the majority of the bugs.
- Free of charge and highly reliable;
- Supports the majority of the panels, both free and paid;
- If resources are rationally dedicated by the hosting provider, capacity of each machine will be high and disk space will be saved from waste;
- Simple to use. A user can automatically change system settings.
- Slow disk operating;
- Low security level, due to shared file system for all users;
- Shared cache – more popular projects may displace smaller ones, which consequently slows down their loading.
Virtuozzo is a commercial version of OpenVZ. It has maximum stability as well as flexibility in backing up and data recovery by simpler data transfer from VPS to a physical server, etc.
The main disadvantage is high price.
This application hypervisor supports paravirtualization. Guest operating system reaches hardware resources via hypervisor, which in this case is software. Pravirtualization even allows creating guest operating systems on processors that don’t support hardware virtualization.
Xen paravirtualization provides high level of virtual machines separation. As a rule each VPS has an own OS core, dedicated RAM and a separate disk. Only processors are shared. Actually, such VPS is as flexible as a dedicated server, which also includes the coherent price.
- Full server resources control;
- High stability of the server;
- It is possible to transfer a virtual server to another virtual machine, if necessary;
- Suitable for resource intensive projects.
The main disadvantage is high price.
That is another hypervisor-based virtualization technology. It operates only on processors that support hardware virtualization technologies, such as Intel VT and AMD SVM. It shares all advantages with Xen, also having some of its own.
- Simple to use;
- Allows you to administrate VPS, as if it was on your local machine.
- Does not operate on all processors.
This is the full virtualization technology. It costs rather high, and therefore is not so widespread.
- Full VPS separation;
- You can change the amount of available hardware resources on the spot;
- Maximum stability of system operating.
- High price for virtual server hosting.
|The Technology||KVM||OpenVZ/ Virtuozzo||XEN||VMWare|
|Own file system of any type||+||-||+||+|
|Dedicated RAM space with full access and right to fine-tune||+||-||+||+|
|VNC at early stages of loading||+||-||limited|
|Kernel mode NFS server||+||-||-||+|
|Independent core modules||+||-||limited||+|
|Full control over sockets and processors||+||-||-||+|
|Full support of guest operating systems||+||-||limited||+|
|PCI / PCIe cards emulation with full access||+||-||limited||+|
In this article we have given an overview of the most wide-spread technologies, which live up to the most hosting providers’ approval by their high stability and functionality. If optimize correctly, for an acceptable price you’ll get a stable VPS, no matter which way of division you choose.
Unfortunately, today we don’t have a universal system to solve all our problems; however, there is a wide range of technologies that can help with one particular task. All in all, you only have to choose the tools.