Course Structure Icon

Course Syllabus & Structure

Virtualization and Cloud Infrastructure

Back to Course Index


Course Overview

This 11-week course introduces 3rd-year undergraduates to virtualization and cloud computing using Proxmox VE and OpenStack on lab PCs (i7, 24 GB RAM). Students progress from foundational virtualization concepts through to advanced cloud infrastructure management and automation. The course emphasizes hands-on labs, supplemented by theoretical notes, practical demonstrations, and real-world scenarios.

Learning Outcomes

By the end of the course, students will: 1. Explain virtualization principles and hypervisor architectures (Type-1 vs Type-2) 2. Install, configure, and manage Proxmox VE for enterprise virtualization 3. Deploy and manage virtual machines (VMs) with proper resource allocation 4. Configure virtual networking using Linux bridges, VLANs, and network namespaces 5. Implement storage solutions including snapshots, backups, and templates 6. Work with containerization technologies (LXC, Docker, Kubernetes) 7. Build and manage Proxmox clusters with high availability (HA) 8. Understand cloud computing service models (IaaS, PaaS, SaaS) 9. Install and manage OpenStack cloud infrastructure 10. Deploy and manage cloud instances with proper networking and security 11. Implement persistent storage solutions using OpenStack Cinder 12. Automate cloud operations using APIs, scripts, and Infrastructure as Code tools


Week 1: Introduction to Virtualization

Objectives

Key Concepts

Lecture Content

  1. Why Virtualize?: Reduces hardware costs, simplifies management, enables dynamic scaling.
  2. Hypervisor Architecture: Type-1 hypervisors interact directly with hardware; Type-2 rely on a host OS. Use diagrams (hardware → hypervisor → VMs).
  3. Proxmox VE Introduction: Open-source, Debian-based platform using KVM for VMs and LXC for containers. Features web-based management.
  4. Comparison: Proxmox VE (enterprise, bare-metal) vs. VirtualBox (desktop, hosted) vs. VMware ESXi (proprietary, bare-metal).

Supplementary Video Resources

Lab Reference

Students install Proxmox VE 8.x on lab PCs and explore its web interface, reinforcing hypervisor types.

Interactive Session Suggestions

Assessment

Short quiz on virtualization concepts and hypervisor types.

Resources


Week 2: Virtual Machines (VMs)

Objectives

Key Concepts

Lecture Content

  1. VM Creation Process: Define parameters (CPU cores, RAM, disk type), select ISO, configure boot order.
  2. Resource Management: Balance allocation to avoid performance bottlenecks.
  3. Guest OS Installation: Use ISO images, automated installs.
  4. Proxmox VM Features: Cloning (identical VM copies), snapshots (state saves), console access (VNC/SPICE).

Supplementary Video Resources

Lab Reference

Students create an Ubuntu Server VM, install qemu-guest-agent, and test VM operations (start, stop, pause, clone).

Interactive Session Suggestions

Assessment

Submit screenshots of running VM with resource summary.

Resources


Week 3: Containers and Resource Management

Objectives

Key Concepts

Lecture Content

  1. Container Architecture: Containers share the host kernel, reducing overhead compared to VMs. Compare LXC (Proxmox-native), Docker (daemon-based, cloud-standard), and Podman (daemonless, secure).
  2. LXC in Proxmox: Managed via Proxmox’s web interface, similar to VMs. Example: Create an LXC container with pct create.
  3. Docker and Podman: Introduce Docker’s role in clouds (e.g., OpenStack’s Zun/Magnum) and Podman’s security advantages. Highlight Docker’s dominance in public/private clouds and Podman’s rise in Red Hat environments.
  4. Resource Limits: Set CPU/memory limits to prevent overuse (e.g., pct set <ID> -cpulimit 1 for LXC, docker run --memory 512m for Docker).
  5. Performance Comparison: Containers (LXC, Docker, Podman) have faster boot times and lower resource usage than VMs, critical for cloud scalability.
  6. OpenStack Connection: Preview how OpenStack (Week 7–11) uses Docker for container workloads (Zun) and orchestration (Magnum), with Podman as an alternative in secure deployments.

Supplementary Video Resources

Lab Reference

Students create LXC containers in Proxmox, set resource limits, and compare performance (e.g., boot times) with VMs. Optional: Install Docker or Podman in a VM to run a simple container (e.g., docker run nginx or podman run nginx) and compare with LXC.

Interactive Session Suggestions

Assessment

Reflective write-up comparing VM and container (LXC, Docker, or Podman) performance, including boot time and resource usage.

Resources


Week 4: Virtual Networking and Linux Networking Fundamentals

Objectives

Key Concepts

Lecture Content

  1. Linux Networking Basics: Introduce the ip command for managing interfaces (ip link), IPs (ip addr), and routes (ip route). Emphasize its role in configuring virtual networks.
  2. Network Namespaces: Explain how namespaces isolate network stacks, useful for simulating complex networks in Proxmox labs.
  3. Linux Bridges and veth: Cover bridges as virtual switches and veth pairs as connectors for namespaces or VMs, foundational for Proxmox’s bridge mode (vmbr0).
  4. VLANs: Discuss VLAN tagging for network segmentation, aligning with Proxmox VLAN mode.
  5. Open vSwitch (OVS): Introduce OVS as an advanced alternative to Linux bridges, supporting SDN and VLANs. Highlight its components (ovs-vswitchd, ovsdb-server) and basic setup.
  6. Proxmox Networking: Connect Linux networking concepts to Proxmox’s bridge, NAT, and VLAN modes. Example: vmbr0 as a Linux bridge.
  7. Use Case: Web server (public) + database (private) setup using bridges and VLANs.
  8. Troubleshooting: Address misconfigurations (e.g., incorrect bridge settings, firewall rules).

Supplementary Video Resources

Lab Reference

Students configure a Linux bridge, connect VMs, test connectivity with ping/SSH, simulate web+database setup using Proxmox. Pre-lab exercises: 1. Use ip link show to list interfaces. 2. Create two namespaces, connect with veth, test ping. 3. Set up a Linux bridge, attach veth interfaces, verify connectivity.

Interactive Session Suggestions

Assessment

Lab report with network diagram, proof of connectivity, and Linux networking exercise outputs (e.g., ip link show, ping results).

Resources


Week 5: Storage and Backup

Objectives

Key Concepts

Lecture Content

  1. Storage Models: Local (fast, limited) vs. shared (scalable, network-dependent).
  2. Proxmox Storage: Supports LVM, ZFS, NFS backends.
  3. Snapshots vs. Backups: Snapshots for quick recovery, backups for archival.
  4. Templates: Standardize deployments.

Supplementary Video Resources

Lab Reference

Students add storage volume, take/restore snapshots, create VM templates, optionally mount NFS storage.

Interactive Session Suggestions

Assessment

Submit exported VM template and backup log.

Resources


Week 6: Proxmox Cluster and High Availability (Optional)

Objectives

Key Concepts

Lecture Content

  1. Cluster Benefits: Centralized management, resource pooling, fault tolerance.
  2. Proxmox Cluster Setup: Requires synchronized time, static IPs, Corosync.
  3. HA Mechanisms: Monitors nodes, triggers VM restarts.
  4. Limitations: HA needs shared storage, three nodes for reliability.

Supplementary Video Resources

Lab Reference

Students join Proxmox nodes into a cluster, enable live migration, test failover (if hardware allows).

Interactive Session Suggestions

Assessment

Cluster configuration screenshots and short reflection.

Resources


Week 7: Transition to Cloud Computing Concepts

Objectives

Key Concepts

Lecture Content

  1. Cloud Computing Overview: On-demand, scalable resource delivery.
  2. Service Models: Compare IaaS, PaaS, SaaS with examples.
  3. OpenStack Introduction: Open-source IaaS for compute, storage, networking.
  4. Virtualization Role: Hypervisors enable scalability, multi-tenancy. Compare Proxmox VE (KVM) with ESXi, Hyper-V, Xen, and OpenStack’s hypervisor flexibility. Discuss Docker/Podman in OpenStack’s container services (Zun, Magnum).

Supplementary Video Resources

Lab Reference

Students deploy a nested Ubuntu VM in Proxmox for OpenStack installation.

Interactive Session Suggestions

Assessment

Short quiz on cloud types and OpenStack architecture.

Resources


Week 8: The Cloud Foundation (Identity, Images, Networking)

Objectives

Key Concepts

Lecture Content

  1. Identity (Keystone): Authentication vs Authorization.
  2. Images (Glance): Formats (QCOW2 vs ISO) and Metadata.
  3. Networking (Neutron): The "Provider Network" vs "Self-Service Network".

Lab Reference

Students create a "Tenant Environment": New Project, New User, Upload Ubuntu Image, Create Private Network + Router.

Assessment

Screenshot of the Network Topology view in Horizon.


Week 9: Compute Operations (Nova & Security)

Objectives

Key Concepts

Lecture Content

  1. Nova Deep Dive: The "Cell" architecture and "Shared Nothing" model.
  2. The Boot Process: Tracing the request from API to Hypervisor.
  3. Security Layers: Project Isolation vs Network Isolation vs Firewall Rules.

Lab Reference

Students launch instances into their Week 8 network, configure Security Groups for SSH/Web, and debug boot failures via Console Logs.

Assessment

Successful SSH login to a VM and cat /etc/hostname.


Week 9: Compute and Networking in OpenStack

Objectives

Key Concepts

Lecture Content

  1. Instance Lifecycle: Image upload to termination.
  2. Neutron Networking: Networks, subnets, routers, floating IPs.
  3. Security Considerations: Isolate internal networks.
  4. OpenStack Workflow: Image → network → instance → floating IP.

Supplementary Video Resources

Lab Reference

Students upload image to Glance, create network/subnet/router, launch instance, access via SSH.

Interactive Session Suggestions

Assessment

Documented steps and screenshot of running instance.

Resources


Week 10: Storage & Persistence (Cinder)

Objectives

Key Concepts

Lecture Content

  1. Storage Tiers: Performance vs Cost.
  2. Cinder Architecture: Helping the Hypervisor talk to the SAN.
  3. Data Safety: Snapshots (Instant) vs Backups (Off-site).

Lab Reference

Students attach a 10GB Volume to their Instance, format it (EXT4), write data, snapshot it, and restore it to a new volume.

Assessment

Screenshot of the mount command showing the attached volume.


Week 11: Automation and Cloud API

Objectives

Key Concepts

Lecture Content

  1. Why Automate?: Scalability, repeatability in clouds.
  2. OpenStack CLI: Commands for launching instances, networks.
  3. REST API Basics: HTTP requests for OpenStack services.
  4. Scripting Example: Python/Bash script for instance launch.

Supplementary Video Resources

Lab Reference

Students complete three labs: 1. Automation: Scripting instance launches with Bash and Cloud-Init. 2. Configuration: Managing server fleets with Ansible. 3. Infrastructure as Code: Deploying declarative stacks with Heat.

Interactive Session Suggestions

Assessment

Submit working automation script and output logs.

Resources



Instructor Notes


Instructions for Creating a Markdown File

  1. Copy the Text: Select all the text above.
  2. Paste into a Text Editor: Open a text editor (e.g., VS Code, Notepad++), create a new file, and paste the text.
  3. Save as .md: Save the file with a .md extension (e.g., Virtualization_Cloud_Notes.md).
  4. Optional Conversion to Word:
  5. Paste the text into Microsoft Word.
  6. Use Heading 1 for week titles (e.g., ## Week 3: Containers and Resource Management).
  7. Use Heading 2 for subsections (e.g., ### Objectives).
  8. Apply bullet points/lists for clarity.
  9. Adjust font (e.g., Arial, 12pt) and spacing (e.g., 1.15 line spacing).
  10. Save as .docx (e.g., Virtualization_Cloud_Notes.docx).

Notes on Updates