Virtualization

May 1, 2024·
Gitgotchi
Gitgotchi
· 13 min read
Photo by Shubham’s Web3 on Unsplash
Date
May 1, 2024 12:00 AM

Virtualization: An In-Depth View

Because of the increasing popularity and use cases of virtualization we now take a closer look on this subject. But before we start let’s briefly look at an overview what will be covered in this article:

Table of Contents

What does the term “virtualization” describe?

Virtualization is deduced from the term “virtualis” which was used in the latin language which then transformed in the middle-age to virtual (old-english) that meant a non-physical existence of something. Nowadays the term is mainly used when the subject or context is related to computers. There again you can mostly seperate between virtualization in terms of VR or virutal reality and virtualization in terms of hardware that is “virtualized” in a form of software. In this article we talk about the second term and will explore a bit deeper how this is achieved, what it is used for and what the advantages and disadvantages of it are.

The beginning of a new era

Virtualization had it’s early stages in the 1960s. Back then the concept was mainly used by IBM with the goal to leverage single hardware (HW) units for a better efficiency and more capacity utilization. Using an early kind of virtualization technology they wanted to provide computer ressources to a large group of users in the form of shared usage. Therefore the costs dropped dramatically but most important a new kind of a new way of using a computer/server has evolved and became an industry standard years after.

Concept of a hypervisor

To make it possible using the HW efficiently and partition it the concept of a so called hypervisor had to be invented. Basically what a hypervisor does is to make a seperate layer between your operating system (OS) that lays directly on the HW and the virtualized software mostly in the form of a guest/virtual machine (VM). Hypervisor function then as a manager for the ressources for all the virtual instances that run on your machine or server and fluently attache new HW or enable it again if it’s no longer in use. A hypervisor can run on any OS and also can run any OS virtualized.

Still there are two specific kind of hypervisors between you normally differentiate:

  • Type 1 hypervisor
  • Type 2 hypervisor

Type 1 or also called “bare-metal” hypervisors are directly implemented on the HW itselfe. They are really efficient in terms of speed and allocating ressources due the fact that they have “direct” access to the HW. On the other hand the type 2 hypervisor runs like an application on an already existing OS and is more commonly used not on servers like type 1 but instead on private machines like laptops.

Source: www.manageengine.com

Source: www.manageengine.com

Different products same goal

There are a lot of similar products out there of which we will cover a few for each type and have a bit a deeper look into the ones that are important for me in the next chapter.

Type 1 products:

  • Microsoft Hyper-V

    • Hyper-V is a product managed through Microsoft. Key features are remote connectivity (VMC), live migration, disaster recory and customized OS drivers.
    • Market share 2023: around 2.2%
  • VMware ESXi

    • ESXi is a hypervisor product selled by VMware. The key features are big ecosystem compatibility, seperate UI and a small file size.
    • Market share 2023: around 6.1% (VMware with all products has around 66%)
  • Citrix Hypervisor

    • The hypervisor of Citrix is now managed through XenServers. It’s key features are easy integration into existing infrastructures, zero downtime maintenance and the XAPI toolstack.
    • Market share 2023: around 16.2%
  • Red Hat Virtualization

    • This hypervisor is managed by Red Hat. The key features of Red Hats hypervisor are cross-platform support, autmation enhancment with OpenShift, HA and secure virtualization with sVirt and SELinux.
    • Market share 2023: around 0.3%
  • KVM

    • KVM is an open source virtualization technology (Kernel-based Virtual Machine) officially manage by Red hat. Key features are fine-grained control of resources, SELinux & sVirt and live migration.
    • Market share 2023: around 0.25%
  • AHV

    • Acropolis Hypervisor is managed through Nutanix. It’s key features are optimized UI, seamless integration into Nutanix Cloud, HA and lifecycle management.
    • Market share 2023: around 0.6%

Type 2 products:

  • VMware Workstation

    • Market share 2023: around 2.2%
  • Oracle Virtual Box

    • Market share 2023: around 0.5%
  • Parallels Desktop

    • Market share 2023: around 0.05%

Relevance at Amanox

The most important products for me personally are the three bare metal hypervisors AHV, VMware ESXi and Hyper-V through the fact that they can be used all on the Nutanix HW products that we sell. So let’s take a bit a deeper look into them:

AHV

AHV or Acropolis Hypervisor is the most used hypervisor for HCI and is probably selled about 85% of the time at Amanox. One advantage of it is that you can you is it for free when you buy HW from Nutanix. Other advantages that come with it are an easy to handle GUI, costefficiency, central management unit and a lot more.

Even tho you would have a lot of advantages the most benefits you get when using also the HW in combination. With that you get a lot of optimized features and efficient SW that support AHV compared to some other hypervisors. A few impressions:

AHV virtualization / Source: www.nutanix.com

AHV virtualization / Source: www.nutanix.com

Nutanix GUI / Source: www.nutanix.com

Nutanix GUI / Source: www.nutanix.com

  • Benefits:

    • hyperisor is free if you already use the Nutanix HW
    • has a central UI to manage all your infrastructure
    • is optimized for HCI and can manage a lot of virtualization
  • Drawbacks:

    • hypervisor comes only with HW
    • problems with UEFI (server 2012 & 2016)

VMware ESXi

VMware is the biggest provider of virtualization software viewed globally. Tho in the market of HCI it is only the second biggest after Nutanix AHV. They are famous for having a robust and really efficient hypervisor which can be managed over the vCenter within vSphere. With a lot of different features included in the vSphere client it’s a really asked choice. Those features include LCM, vMotion (live migration), HA or DPUs (Distributed Service Engines). A few impressions:

VSphere Client / Source: www.blogs.vmware.com

VSphere Client / Source: www.blogs.vmware.com

ESXi, VCenter & VSphere interaction / Source: www.parkplacetechnoligies.com

ESXi, VCenter & VSphere interaction / Source: www.parkplacetechnoligies.com

  • Benefits:

    • hyperisor free for Windows users
    • optimized for Windows applications and Windows Servers
  • Drawbacks:

    • limited support
    • lack of some todays “standard” virtualization features compared to its competitors

Hyper-V

Hyper-V is the Microsoft native hypervisor and is with nearly every Windows Pro and Enterprise edition available. It can be activated and used directly over Windows. The VMs are getting manage over the Hyper-V desktop app called Hyper-V Manager and support different operating systems from nearly all Windows distros and the most commons Linux operating systems. After that nearly everything can be configured and manage with Windows Powershell which is directly integrated. Some basic configurations of the VMs can be made with the Hyper-V Manager. For a mroe centralized view you can integrate it into SCVMM (System Center Virtual Machine Manager) with which you also get some extra features like live migration or network virtualization. A few impressions:

  • Benefits:

    • small hypervisor size (150 MB)
    • a lot of HW and SW supplieers support it
    • Built in encryption
  • Drawbacks:

    • You need vCenter for a centralized managment (not free)
    • Few configuration options
Hyper-V-Manger / Source: www.pugetsystems.com

Hyper-V-Manger / Source: www.pugetsystems.com

SCVMM UI / Source: www.computerwoche.de

SCVMM UI / Source: www.computerwoche.de

Today’s usecases

Desktop virtualization

With virtualization there also came new ways to use this new technology: One of those was desktop virtualization. With that you can run multiple different operating systems on one single computer. But you still have to differentiate between local desktop virtualization and virtual desktop infrastructure (VDI). With the local one you just use it for more testing purposes or something like that because you normally just run one other OS beside your host OS to play around with that VM without making any severe changes to the host OS. VDI on the other side is used on a central server to provide different clients using different operating systems without ever installing them on their local computer.

Network virtualization

Another usecase is network virtualization. Using virtualization in the network segment of computers you can virtualize basically your whole network and have a view on all the different parts centrally without the need to see the HW in front of you. On top of that there is also the possibility to virtualize HW itselfe. Examples for this can be a switch, router, firewall or even a loadbalancer. A typical SW which is using that advantage is Nutanix with Prism. Here a short impression on how that can look like:

Network virtualization GUI in Prism / Source: www.joshodgers.com

Network virtualization GUI in Prism / Source: www.joshodgers.com

Storage virtualization

With the so called storage virtualization we can nowadays access multiple storagedevices and different HW like SSDs or HDDs in one single GUI. Due to virtualization now the whole capacity can be “pooled” and data can be efficiently saved as well as distributed evenly across all the available HW. Simple reference from Nutanix would be the storage pool you see when you log into Prism Element for example. Even tho down in the data center there are a big amount of different disks you can handle it as one big storage pool.

Data virtualization

In todays computer world with have a lot of information that we can store. But not every type of information has the same file format. There are hundreds of different file formats which can be exhausting to always have the right application installed for reading or editing this data. Therefore you can virtualize a layer in between the application and the storage that basically can read any type of data.

Application virtualization

Application virtualization helps us to choose where we want to shift the load of an application. This is because you virtualize the running application so you dont have to install it directly on your computers HW. But we have to specifically differentiate between:

  • Local application virtualization: here it actually runs on your HW but in a virtualized environment
  • Application streaming: using this kind of virtualization the app runs on a server and the data is getting sent over the internet piece after piece so you directly interact with it
  • Server-based application virtualization: In this case we only make changes on the server itselfe because we only get a connection to the interface from the server without ever receiving data on our own computer

Data center virtualization

Using virtualization for virtualizing data centers brings us back to Nutanix again. Using the “out of the box” solution it basically is the 3 tier architecture compress into one single cluster. This hyperconverged infrastructure is only possible due the fact that Nutanix does a lot of virtualization. This includes network virtualization, HW virtualization, VPCs and a lot of other things. With this there is only the advantage of an infrastructure as a service (IaaS) in which case you indeed host your HW by yourselfe but it can be configure by other and updated as well as managed also from external people without even being on-site.

CPU virtualization

Central processing units are the heart of a computer or server at caculate all the stuff to even process data. Because we can use virtualization we can also divide one single CPU into multiple virtual CPUs (vCPU). That can help us seperate workloud and distribute it evenly so all have for example the same priority.

Cloud virtualization

As people found this new technology the first step in the enterprise sector that came up was the “Cloud”. Now it was possible for Google, AWS, Microsoft etc. to scale their computing and storage ressources even better and give clients only as much as they want to buy and dont be limited to the hardwares constraints. This new concept also brought new selling models like Infrastructure as a service (IaaS), Platform as a service (PaaS) or Software as a service (SaaS).

Possible advantages

Finding a new technology always brings some advantages and disadvantages with it. A few of them I will now provide while we already met a lot of them in the previous sections:

  • Testing and development -> using VMs is ideal for creating isolated testing environments without making changes to the live system and can be easily provisioned if new ones are needed.

  • Scalability -> With virtualization scalable got one of the most easiest things. You can just add new HW (virtualized HW) or environments (network or software) which make it simple and less time consuming to extend the already existing one.

  • Cost and resource efficiency -> Virtualization makes it possible to utilize 100% of your HW due the fact that you can distribute applications and services across the whole HW and dont have to buy always a new device for every new service (keyword: servers, VLAN, storage pool). With using it more efficiently you also have less expenses buying always new HW even the already existing one is not fully used. That results in also less electricity consumption and employee work hours.

  • Less downtime -> Of course if your complete HW fails your still not safe without redundancy but if for example just one single service of a server fails you don’t have to exchange a whole piece of hardware. You just set up a new VM with the same service again and there you go.

  • Automation -> Because of virtualization most of the things you will use are softwarebased. This leads to more automation processes because everything softwarebased can be automated to some degree.

  • Easy migration -> Using VMs or other forms of virtualized software makes things pretty easy to migrate.

  • Isolation -> Virtualization also has the side effect of isolating right away if you create different environments which can be pretty useful and also enhance the security in a few aspects.

What are the negative side effects?

But like every other technology also virtualization has it’s negative aspects:

  • Complex backups -> Even you can do snapshots of VMs to backup a whole server with different virtualized environment needs much more complex backup software to monitor all the data stores and replicate them correctly.

  • Management -> If you can’t use a central point of view to manage all your services or VMs it can be a complex task to have a good overview.

  • Single point of failure -> Due to the fact that a all the virtualized softwares are depending mostly on the same HW it still hast the problem that if a downtime of a key unit happens you have a cascading effect on all virtual services or applications.

  • Perfomance costs -> You can use your HW cost and resource efficiently but to get a good performance you need a lot of initial HW to run the virtualized things properly and fluenlty.

Future outlook

As we saw virtualization changed a lot in todays IT buisnesses and plays a key role in most technologies we use today. It not only changed so many things it will also play an important role in the future as well. Cloud computing is getting bigger and bigger, streaming services develope really fast and traditional application or servers disappear slowly.

Source collection