Module 9: Virtualization
VMs, Containers, and the Cloud
1 Purpose
This module provides a comprehensive introduction to virtualization, the foundational technology of all modern cloud computing and a critical skill for any IT professional. We will start by defining the core concepts of virtual machines (VMs) and hypervisors. We will then explore the world of containers, contrasting traditional application containers with full system containers. Finally, we will see how these technologies enable cloud computing service models and Virtual Desktop Infrastructure (VDI).
2 What You’ll Learn
By the end of this module, you will be able to:
- Differentiate between a virtual machine and a container.
- Compare Type 1 and Type 2 hypervisors.
- Explain the purpose of the Open Container Initiative (OCI).
- Contrast application containers (Podman) with system containers (Incus).
- Define the basic service models of cloud computing (IaaS, PaaS, SaaS).
- Install virtualization tools and run your first VM and container on Fedora.
This module maps to the following program and course learning outcomes:
- Course Learning Outcomes (CLOs):
- 1. Identify hardware and basic network components: This module focuses on the virtual hardware and software components that are essential to modern IT infrastructure and cloud services.
- 3. Troubleshoot hardware and basic network components: The exercises in this module provide a basis for diagnosing issues with virtualized environments.
This module will help you develop the following skills and knowledge, which align with the O*NET SOC Code 15-1232.00 for Computer User Support Specialists.
| Learning Objective | O*NET KSAs | Technologies Used |
|---|---|---|
| Differentiate virtualization technologies. | Knowledge: Computers & Electronics Abilities: Category Flexibility, Information Ordering |
VM, Container, Hypervisor |
| Explain container standards and types. | Knowledge: Computers & Electronics Skills: Reading Comprehension |
OCI, Podman, Incus |
| Install and use virtualization tools. | Knowledge: Computers & Electronics Skills: Systems Analysis, Technology Design |
KVM, virt-manager, Podman |
3 Module Content
This module is divided into the following sections, which build from foundational concepts to modern standards and cloud services:
Introduction to Virtualization: Defines VMs, hosts, and guests, and compares hardware virtualization with OS virtualization (containers).
Hypervisors and Virtual Resources: Explains the role of Type 1 and Type 2 hypervisors and the virtual resources they provide.
Container Standards: The OCI: Introduces the Open Container Initiative as the standard that makes tools like Podman and Docker interoperable.
Application vs. System Containers: Contrasts the single-process philosophy of application containers with the full-OS approach of system containers.
Cloud Computing and VDI: Covers the basic service models (IaaS, PaaS, SaaS) and explains the concept of Virtual Desktop Infrastructure.
4 Hands-On Activities
This module includes several hands-on exercises to be completed in your Fedora VM, allowing you to install and use the standard virtualization and container tools on Linux.
- Exercise 9.0: KVM Installation and Check: Install the core KVM/QEMU hypervisor tools and verify hardware support.
- Exercise 9.1: Create a Traditional VM: Use the graphical
virt-managertool to build and configure a new virtual machine. - Exercise 9.2: OCI Application Container (Podman): Run your first rootless application container with Podman and host a web server.
- Exercise 9.3: System Container (Incus) Introduction: Install and initialize the Incus system container manager.
- Exercise 9.4: Container vs. VM Network: Compare the networking and kernel isolation between a VM and a container.
- Exercise 9.5: Storage and Snapshots: Demonstrate and contrast the snapshot capabilities of VMs and containers.