Virtualization allows multiple operating systems to run on a single machine by creating virtual versions of hardware resources. There are three main types of virtualization: partial, full, and para. A hypervisor manages virtual machines and allocates resources to guest operating systems. Cloud computing delivers computing as an on-demand utility over the internet by sharing resources. It provides software, platforms and infrastructure as services across public, private, hybrid and community clouds. Big data refers to massive volumes of structured and unstructured data that is difficult to process using traditional techniques and requires specialized infrastructure.