Virtualization allows for more efficient use of existing hardware resources in the IT environment through arbitrary (within the hardware or software capabilities and design guidelines) modification of the characteristics of virtualized resources, adapting them to user requirements. ( cited wikipedia)
Virtualization is easily shown in the following graphic.
a) Server Virtualization
You need a virtualizer or a public cloud
Nowadays, we have several methods of server virtualization depending on the direction (opensource or commercial). It is up to us to choose which one.
Local virtualization methods depend on (Hypervisor) – the most popular (KVM, Virtualbox , Hyper-V, Esxi and others).
In addition we have different virtualization platforms such as Proxmox, Vmware , HCL-Nutanix and others.
b) VDI virtualization – the first common solution was the use of virtualized desktop (called RDP), it is still widely used by companies.
c) Containerization (Docker)
The idea behind Docker is to place an application and all its dependencies in a unit built for development, testing as well as deployment of software. Docker containers contain not only the program code. There are all kinds of tools and system libraries and configured runtime environment. That is everything that would have to be configured on the server. This solution guarantees that the software will always work in the same way, no matter in which environment it will be implemented. Docker allows you to create a project in a Node or Apache (or other) environment without forcing the developer to install any of those environments on the host operating system. When the project is no longer needed, the Docker image is deleted and the host system remains intact. Thus, Docker should be thought of as a tool to help solve common problems, more specifically software installation and distribution. In other words, Docker allows you to create, provision, and run code anywhere.
Servless, the use of off-the-shelf solutions in public clouds and private clouds
Advantages of using servless method:
- scalability of the service depending on the load (remember that costs also grow automatically)
- no upfront costs (no need to invest in environment)
Servless is very often used for prototypes, mock-ups or using methods which cannot be scaled.
Virtualization is primarily used in the broadly understood cloud computing.
Feel free to contact us