What is Virtualisation?

What is Virtualisation?
Image by designwebjae and ra2studio/ Canva

Have you seen The Matrix? It's a 1999 sci-fi action film that tells the story of a computer hacker named Neo who discovers that the world he lives in is actually a simulated reality, known as the Matrix, created by sentient machines to subdue the human population. If you haven't seen it, I suggest you check it out!

Why am I talking about the Matrix? What does it have to do with virtualisation? Well, where the Matrix meets computing, it gives us the exciting world of virtualisation! If you recall, in my last blog, I mentioned that a crucial technology makes cloud computing possible, and that is virtualisation technology. Virtualisation allows us to create virtual realities that appear to be physical devices but are actually virtual constructs running on a single physical machine.

Come with me, and let's have a look at the following:

  • What is Virtualisation?
  • Role of Virtualisation in Cloud Computing
  • What is Hypervisor?
  • Benefits of Virtualisation
  • Types of Virtualisation

What is Virtualisation?

Virtualisation is a technology that allows multiple virtual environments to run on a single physical host machine. Each virtual environment operates as if it were a separate physical device with its own operating system, memory and CPU resources. What I mean by the virtual environment is virtual computers. These computers are fake computers, but it doesn't know they are fake. 🤫 These fake computers can't exist without the physical computer, known as the host computer.

Role of Virtualisation in Cloud Computing

Virtualisation is an important part of cloud computing because it helps make it possible. Think of it like a big apartment building where each unit is a virtual computer with its own operating system, memory and processing power. The virtual computers can be easily rented out to tenants who can use them for their own needs without worrying about the physical computer or the other tenants.

In cloud computing, virtualisation is used to create virtual computers that customers can rent out on demand. This way, customers can use virtual computers for their own needs without investing in and maintaining their own physical computers. And because virtual computers can be easily created and managed, the cloud provider can offer services to many customers at once, making the best use of their resources and providing cost-effective computing.

What is Hypervisor?

Hypervisor sounds rather cool, and intimidating. It's just a term for software that enables multiple virtual machines to run on a physical host. There are two types of hypervisors:

  1. Type 1, aka Bare-Metal Hypervisor
  2. Type 2, aka Hosted Hypervisors

Type 1

This type of hypervisors run directly on the host's hardware to control the hardware and manage guest operating systems. For this reason, they are also known as bare metal hypervisors. This type of hypervisor has better security.

This type of hypervisor is most common in an enterprise data centre or other server-based environments. Examples of Type 1 hypervisors include VMware ESXi, Microsoft Hyper-V, and Citrix XenServer.

Type 2

This type of hypervisors run on an operating system and creates virtual machines that run on top of it. It has lower performance and Security than Type 1 hypervisors but is easier to set up and manage. Examples of Type 2 hypervisors include Oracle VirtualBox (free), VMware Workstation, and Parallels Desktop for Mac.

Type 1 and Type 2 Hypervisors
Type 1 and Type 2 Hypervisors

Benefits of Virtualisation

Virtualisation offers several benefits, including:

  • Improved resource utilisation: it allows multiple virtual machines to share the same physical resources, such as CPU, memory, and storage, resulting in better utilisation of hardware resources and increased efficiency.
  • Cost savings: it helps reduce hardware costs by allowing multiple virtual machines to run on a single physical machine, reducing the need for physical hardware.
  • Improved disaster recovery: it makes it easier to recover from failure, as virtual machines can be quickly moved to a different physical host, reducing downtime and minimising the impact of outages.
  • Improved security: it allows an organisation to create isolated virtual environments, reducing the risk of data breaches and minimising the impact of security incidents.
  • Increased agility: it makes it easy to create, clone, and delete virtual machines, enabling organisations to respond quickly to changing business needs.
  • Enhanced testing and development: it allows developers to create isolated virtual environments for testing and development, reducing the risk of conflicts and making it easier to test applications in a controlled environment.

Types of Virtualisations

There are several types of virtualisations, including:

  • Server virtualisation: this is where the central server (physical server) is divided into multiple different virtual servers.
  • Desktop virtualisation: this type of virtualisation allows users operating systems to be remotely stored on a server in the data centre. It allows the user to access their desktop virtually, from any location by a different machine.
  • Application virtualisations: this type of virtualisation allows users to access and use an application from a separate machine from the one on which the application is installed.
  • Storage virtualisations: this is the pooling together of physical storage from multiple devices into what appears to be a single virtual storage device. You can think of it as consolidating all the different storages into one.
  • Cloud computing virtualization: this type of virtualisation enables providers to virtualise computing resources, such as servers, storage, and applications in a cloud environment. Examples: Amazon Web Services (AWS), Microsoft Azure, and Google Cloud Platform.

That's it, folks. I think you'll agree with me that virtualisation is an epic technology! We are, in some sense bending reality, just like in the Matrix! How cool is that!!! 😎

If you want to learn more about virtual machines and how to create a computer within your computer, check out this video by NetworkChuck!