This document discusses virtualization and cloud computing. It defines virtualization as creating an illusion of computer hardware or resources. Cloud computing is defined as on-demand network access to configurable computing resources. The traditional server concept of dedicating physical servers is described as well as the benefits of the virtual server concept, including scalability, fault tolerance, and efficiency. Virtualization techniques like full virtualization, paravirtualization, and hardware-assisted virtualization are covered. Hypervisors are defined as the software that creates virtual machines, and the differences between type 1 and type 2 hypervisors are explained. KVM is provided as an example of a type 2 hypervisor for Linux.