Virtualization allows multiple operating systems to run on a single physical machine by sharing hardware resources. A hypervisor manages virtual machines and isolates them so they can run independently without disruption. There are two types of hypervisors: type 1 runs directly on hardware while type 2 runs on a conventional operating system. Docker provides operating system-level virtualization through containers that package apps and dependencies. Amazon EC2 allows launching virtual servers in the cloud using Amazon Machine Images as templates. Users generate a key pair for authentication and launch instances to customize and connect to virtual servers in AWS.