Virtualization allows for the creation of virtual versions of hardware resources, operating systems, servers, storage, and networks. It is a key technology for cloud computing by enabling the sharing of infrastructure among users. There are different types of virtualization including hardware, operating system, server, and storage virtualization. Hardware virtualization involves installing a virtual machine monitor directly on hardware to control virtual machines. Operating system virtualization installs a virtual machine monitor on a host operating system. Server and storage virtualization virtualize physical servers and storage, allowing them to be more efficiently utilized.