Virtual Machines: complete simulated computers with an OS, memory, storage, input, output, etc…
Hypervisor: Middleware enabling and managing multiple kernels to run on it.
Native/Bare metal: Run directly on hardware. Ex - Hyper-V, KVM (built-in in Linux).
Hosted: Run atop a “guest” OS. Ex - VMWare, Oracle Virtual Box.
Hypervisor is also called a Virtual Machine Manager (VMM).
OS-level virtualization: In conventional virtualization, multiple full blown OS run on a single machine. In OS-level virtualization, multiple isolated spaces (often called “containers") run on a single OS.
Container: Lightweight standalone runtime environment having only parts of the “full” kernel. Ex - Docker, LXC, etc… Kernel is “trimmed down” and contains only libraries and tools required for a specfic use case.
IaaS (Infrastructure as a Service): Rent pre-configured hardware (aka infrastructure) and do anything you like with it minus the maintainance.
Advantages: