Virtual Machines 101

Sneh Chauhan - May 7 '22 - - Dev Community

Introduction

Alex : Hey Garry! Can you spin up a VM and test this application?
Garry : Sure, I'll do that right away.

How often do you hear that idiom "spin up a VM" while conversing in IT? It's quite common right? But for anyone who's just starting his career in cloud, it can be quite overwhelming.

So... what the heck are VMs? What technology does it use and what are hypervisors?

Read on to know more👇

What is Virtualization🤔?

Image description

As per Wikipedia,

Virtualization is the act of creating a virtual (rather than actual) version of something, including virtual computer hardware platforms, storage devices, and computer network resources.

Or to put it simply, Virtualization means splitting physical resource like memory, CPU and storage into multiple virtual resources.

It's a technology that allows us to utilize a machine's full capacity by distributing it's resources among multiple environments each isolated from one another.

Virtual Machine🔖

Image description

A "Virtual Machine" or "VM" is a virtual instance of a computer. Just like other computers it has a CPU, memory and storage.

These virtual machines run on a physical computer and a software called "Hypervisor" manages their allocation and access to the computing resources.

Hypervisor🔖

Hypervisor or Virtual Machine Monitor is a virtualization software which allows one to build and run different VMs. It lets one host computer support multiple guest VMs by sharing its resources like memory and CPU.

Hypervisors are of two types:

  1. Type-1 Hypervisor
  2. Type-2 Hypervisor

Type-1 Hypervisor🔖

Type-1 Hypervisor or Native Hypervisor runs directly on host's hardware and replaces the Host operating system.
As it sits directly on the hardware, it is also called Bare-Metal Hypervisor.

Type-1 Hypervisor

Usage:

  • It is very commonly used in data centers and other server-based environments due to its high performance.

Advantages:

  • Higher performance (as it has direct access to the hardware)
  • More Secure
  • No Single point-of-failure
  • Better Scalability

Disadvantages:

  • Needs a dedicated machine to administer different VMs and control hardware.

Few of the mostly widely used Type-1 Hypervisors are VMware ESXi, Microsoft Hyper-V and KVM.

Type-2 Hypervisor🔖

Type-2 Hypervisor or Hosted Hypervisor runs as an application on the top of the Host operating system.

Type-2 Hypervisor

Usage:

  • It is commonly used by people who want to try out different operating systems or want to test their application for compatibility.

Advantages:

  • Cost efficient
  • Simplified Management
  • Threat isolation

Disadvantages:

  • Compromised performance
  • Single point of failure

Few of the most widely used Type-2 hypervisors are VirtualBox, VMware Workstation and Parallel Desktop.

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .