Introduction to Virtualization
Creating Virtual Worlds
1 Purpose
This document introduces the foundational concept of virtualization: the process of creating a virtual, software-based version of something, be it a computer, a storage device, or a network. Understanding virtualization is critical for any modern IT professional, as it is the technology that underpins cloud computing and has revolutionized how we deploy software and manage infrastructure.
2 What You’ll Accomplish
By the end of this reading, you will be able to:
- Define the terms Virtual Machine (VM), Host, and Guest.
- Describe common use cases for virtualization.
- Explain the core difference between Hardware Virtualization (VMs) and Operating System Virtualization (Containers).
This reading maps to the following program and course learning outcomes:
- Course Learning Outcomes (CLOs):
- 1. Identify hardware and basic network components: This topic covers the virtual hardware components that are central to modern IT infrastructure.
This exercise develops the following skills, which align with the O*NET SOC Code 15-1232.00 for Computer User Support Specialists.
| Learning Objective | O*NET KSAs | Technologies Used |
|---|---|---|
| Define fundamental virtualization terms. | Knowledge: Computers & Electronics Skills: Reading Comprehension |
VM, Host, Guest |
| Compare hardware vs. OS virtualization. | Knowledge: Computers & Electronics Abilities: Category Flexibility, Information Ordering |
VMs, Containers |
3 Hardware Virtualization: The Virtual Machine (VM)
The most common form of virtualization is hardware virtualization, which results in a Virtual Machine (VM).
- Host: The physical computer that the virtualization software runs on. It owns the real CPU, RAM, and storage.
- Guest: The virtual machine itself. It is a self-contained software construct with its own virtual hardware (vCPU, vRAM, vDisk) and a full copy of an operating system (e.g., Windows, Linux).
- Analogy: Think of the host as an apartment building and each guest VM as a separate apartment unit. Each apartment is fully self-contained with its own plumbing and electricity, but they all share the building’s foundation and main utility lines.
3.1 Why Use VMs?
Virtual machines are used for several key purposes: - Sandboxing and Testing: A VM is isolated from the host system. You can run untrusted software, test a new operating system, or experiment with risky configurations inside a VM without any danger to your main (host) operating system. - Server Consolidation: Before virtualization, a company might have ten different physical servers, each running one application and using only 15% of its CPU. With virtualization, you can run those ten workloads as ten VMs on a single, powerful host server, saving electricity, cooling, and physical space. - Running Legacy Software: If a company has a critical piece of software that only runs on Windows XP, it’s a huge security risk to keep a physical Windows XP machine around. Instead, they can run Windows XP in an isolated VM on a modern, secure host.
4 Operating System Virtualization: The Container
A newer and more lightweight form of virtualization is operating system virtualization, which results in a container.
Unlike a VM, a container does not have its own full operating system. Instead, all containers running on a host share the host’s operating system kernel. A container only packages up the application and its specific libraries and dependencies.
4.1 VMs vs. Containers: The Core Difference
- Virtual Machines (Hardware Virtualization): A VM virtualizes the hardware. Each VM has its own complete, isolated operating system. This provides very strong security isolation but is “heavy” – a VM can be many gigabytes in size and take minutes to boot.
- Containers (OS Virtualization): A container virtualizes the operating system. All containers share the host’s kernel. This is extremely “lightweight” – a container is typically megabytes in size and can start in seconds. The trade-off is less isolation than a full VM.
We will explore the standards and types of containers in more detail in the following documents.
5 Reflect and Review
Now that you have reviewed this document, take a moment to reflect on your learning in your Microsoft Teams Student Notebook:
- 3 key terms you learned (e.g., Host, Guest, VM).
- 2 reasons why you would use a virtual machine.
- 1 question you still have about the difference between a VM and a container.
Answer these questions in your notebook to solidify your understanding:
- In a virtualized environment, what is the term for the physical computer?
- What is the primary difference between a virtual machine and a container?
- You need to test a piece of software that you suspect might contain a virus. Would a VM or a container be the safer choice for this test? Why?
- What is the main benefit of server consolidation using VMs?