Virtualization

Virtualization

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.

Container vs VM image

IaaS (Infrastructure as a Service): Rent pre-configured hardware (aka infrastructure) and do anything you like with it minus the maintainance.

Advantages:

  • elasticity
  • load balancing