Virtualization

This article is not assessed by the IB but may be helpful to deepen your understanding. Plus, I think it's cool.

Big Idea

Virtualization is the foundational technology that makes cloud computing possible. Without virtualization, modern cloud platforms could not scale, isolate workloads, or efficiently share hardware resources. At its core, virtualization abstracts physical hardware so multiple independent computing environments can run on the same physical machine.

For students learning cloud computing, virtualization is one of the essential architectural concepts to master. It explains how a single physical server can appear as dozens or hundreds of virtual servers, each running its own operating system, applications, and storage—securely and independently.

 

1. What Is Virtualization?

Virtualization is the process of creating a logical (virtual) version of a computing resource that behaves as if it were physical.
These resources may include:

  • Virtual machines (VMs)
  • Virtual CPUs (vCPUs)
  • Virtual memory
  • Virtual disks
  • Virtual networks
  • Virtual switches/routers/firewalls

The abstraction layer that enables virtualization is called the hypervisor.

 

2. The Hypervisor

The hypervisor is the control program that manages virtual machines, allocates system resources, and ensures isolation between VMs.

There are two major types:

Type 1: Bare-Metal Hypervisors

Runs directly on hardware.
Examples: VMware ESXi, Microsoft Hyper-V, Xen, KVM.

Characteristics:

  • High performance
  • Strong isolation
  • Used in data centers and cloud providers (AWS, Azure, Google Cloud)

Type 2: Hosted Hypervisors

Runs on top of an existing operating system.
Examples: VirtualBox, VMware Workstation.

Characteristics:

  • Easier to install
  • Lower performance
  • Intended for development/testing environments

 

3. How a Hypervisor Virtualizes Hardware

Virtualization requires a combination of hardware support (CPU instructions and MMU support) and hypervisor-level resource management.

Key virtualization mechanisms:

3.1 CPU Virtualization

The hypervisor exposes one or more virtual CPUs to each VM. These vCPUs map to physical cores or hardware threads through:

  • Time slicing (scheduling)
  • Pinning (optional)
  • Context switching between VM execution states

3.2 Memory Virtualization

Memory virtualization relies on:

  • Shadow page tables or
  • Extended Page Tables / Second Level Address Translation (SLAT)

Memory virtualization ensures:

  • Each VM believes it owns a contiguous region of memory
  • VMs cannot access one another’s memory
  • Overcommitment is possible (more virtual memory than physical), with performance considerations

3.3 Storage Virtualization

Virtual disks (e.g., VMDK, QCOW2) act as block devices, backed by:

  • Files on disk
  • Dedicated storage LUNs
  • Virtual SANs

Snapshots and clones are implemented at this layer.

3.4 Network Virtualization

The hypervisor provides:

  • Virtual NICs
  • Virtual switches
  • VLAN tagging
  • Network isolation (VXLAN, GRE tunnels)

This allows VMs to form virtual networks that behave identically to physical ones.

 

4. Why Virtualization Matters in Cloud Computing

Cloud platforms (IaaS, PaaS, and even SaaS) depend on virtualization for:

4.1 Multi-tenancy

Different customers share the same physical hardware, but with strict isolation.

4.2 Elasticity

Virtual machines can be:

  • Created
  • Deleted
  • Cloned
  • Resized

…in seconds.

4.3 Resource Pooling

Cloud providers pool CPU, memory, disk, and networking resources. Hypervisors allocate these resources dynamically.

4.4 Hardware Independence

Virtual machines are portable:

  • Move between servers
  • Replicate across data centers
  • Restart automatically after failure

This is the basis for cloud features such as auto-scaling, high availability, and disaster recovery.

4.5 Cost Efficiency

Instead of running a single OS per server (traditional model), virtualization allows dozens of workloads per server, greatly increasing utilization.

 

5. Virtualization vs. Containerization

Students often confuse virtualization with containerization.

Virtual Machines

  • Full OS per instance
  • Strong isolation
  • Larger resource overhead
  • Slower instantiation

Containers

  • Share the host kernel
  • Much lighter weight
  • Start in milliseconds
  • Ideal for microservices

Cloud providers use both, depending on the level of isolation and resource efficiency required.

 

6. Examples for Teaching and Demonstration

Example 1: How One Physical Server Hosts Ten VMs

Imagine a server with:

  • 16 physical CPU cores
  • 128 GB RAM
  • 2 TB SSD

A hypervisor could host:

  • 10 VM instances
  • Each with: 2 vCPUs, 8–16 GB RAM, 100–200 GB storage

The hypervisor schedules vCPUs, enforces limits, and isolates memory.

Example 2: VM Migration (Live Migration)

A live migration moves a VM from Host A to Host B without shutting it down.

Conceptually:

  1. Copy memory pages in the background
  2. Transfer CPU state
  3. Redirect network traffic
  4. Resume execution on Host B

Your students can relate this to context switching, but at a larger scale.

 

7. Security in Virtualized Environments

Virtualization introduces new attack surfaces:

Hypervisor attacks

If compromised, all VMs are at risk.

VM escape

A vulnerability allowing a process inside a VM to access the host.

Multi-tenancy risks

Cloud hosts must strictly isolate workloads.

Cloud providers mitigate these risks with hardened hypervisors, hardware security modules, strict patch cycles, and micro-segmentation.

 

8. How Virtualization Supports Cloud Service Models

Linking directly to A1.1.9 from the IB syllabus:

SaaS

Applications run inside virtualized data centers.

PaaS

Execution environments are provided on top of virtual infrastructure.

IaaS

Customers directly rent virtual machines, storage, and networks.

Virtualization is the enabling technology for all three.

 

Closing Summary

Virtualization is the architectural layer that transforms raw hardware into scalable, elastic, multi-tenant cloud platforms. It enables:

  • Resource abstraction
  • Hardware independence
  • High utilization
  • Security isolation
  • Rapid provisioning