The effects of the pandemic have meant in many cases a move to a cloud server that supports working from home and remote access. This transformation needs to be accomplished at little cost. One option is to use server virtualisation technology to use capacity in the existing infrastructure, or to move to a cloud server provided by a Managed Service Provider.
Simply put, virtualisation is the process of dividing a physical Cloud Server into multiple unique individual “virtual” servers. Each virtual server is entirely separate from others on the same physical platform.
Simply put, a virtualisation environment has three layers:
- The Host or Node is a Linux implementation on the physical server. It defines the virtual server environment and provides resource management services;
- The Guests. Each Guest has a virtual server hosting an OS; and
- The Virtual Servers themselves, sometimes called domains.
In virtualisation, a Hypervisor provides the Host layer and manages instances of virtual machines (“VM”). The hypervisor manages the physical server’s physical resources, allocating them as required to each VM at the Guest level. The VMs themselves are what the user sees. Each VM can operate its own guest operating system to create a Virtual Server.
An alternative to virtualisation is containerisation. containerisation is fundamentally different. There is no hypervisor. Instead, the physical server has an operating system. You can use its virtualisation software to create “containers”. Each container has its own applications, in effect, its own working environment.
It is easily seen that the significant difference is that a hypervisor allows multiple operating systems of different types. At the same time, containerisation supports only software compatible with the host system operating systems.
What you gain on the swings, you lose on the roundabouts. Containers are much less resource-intensive than hypervisors because they do not have an operating system overhead in each VM. However, they are much more prone to resource over-allocation than hypervisors.
Server Virtualisation Examples
A typical virtualisation implementation is KVM or OpenVZ. KVM is a hypervisor, and OpenVZ is a containerisation system. KVM was first brought forward as part of the primary Linux OS kernel and is Open Source software. You get it with the Linux kernel, and it can be installed at the start or added later. It provides a full virtualisation environment for both Intel and AMD processors. You need the mainline Linux kernel at level 2.6.20 or above. It supports several guest operating systems, including Windows, BSD, Solaris, and Linux. Each Virtual Machine (“VM”) has its own virtual resources allocated and managed by KVM.
OpenVZ is a container-based virtualisation application that provides support for deployment of separate operating system instances on a shared server.
It is based on containers containing basic OS functionality shared by all users. That environment supports other containers unique to a user that provides a dedicated OS environment, in effect, running a standalone server that can be managed independently of other servers running on the same hardware.
KVM versus OpenVZ
The first thing to know is that KVM supports most operating systems, both Open Source and Windows. OpenVZ supports Linux only. That could be a show-stopper for users who need to support both Open Source and Windows environments.
What are the advantages of a KVM virtual dedicated server?
Cost. As part of the Linux kernel, it’s free, open-source software.
Integration. Again, as part of the kernel, it is fully integrated with the OS.
Security. Once again, as part of the kernel, it is fully integrated with the OS and uses the Linux SE advanced security system.
No maintenance downtime
Adaptability, Being open-source, you can, if you wish, modify it to your exact requirements.
A significant advantage, and one that is very relevant today, is that most open-source cloud-based automation software solutions use KVM as its default hypervisor.
Migration. Because it is fully integrated into the kernel, moving from a virtual machine to a dedicated server is a simple process.
What are the disadvantages of a KVM virtual dedicated server?
It can be complex to set up and needs a lot of preparation.
A performance hit. KVM uses more resources than a partial implementation.
What are the advantages of OpenVZ virtualisation?
OpenVZ has better resource utilisation. Containerisation saves memory and CPU utilisation.
It is easier than KVM to configure and manage.
Cost. At the time of writing, it has the least costly container cost per server, including lower overhead costs.
Downsides of OpenVZ virtualisation
Some users have reported that the entire server sometimes crashes when a single VM crashes.
It is not true virtualisation. Some containers are shared, preventing customisation by individual servers.
It is easy to overcommit resources and achieve poor performance as a result.
OpenVZ limits access to any computer that is not virtualised. No physical devices can communicate directly with OpenVZ.