This document discusses cloud computing and virtualization technologies. It defines virtualization as splitting a physical computer into multiple virtual machines. Popular hypervisors like Xen and VMWare manage resources across virtual machines. Cloud computing provides on-demand access to shared computing resources over the Internet and is delivered through layers including SaaS, PaaS and IaaS. Virtualization underlies cloud computing by enabling the virtualization of servers, storage and networks as cloud resources.