3-Introduction to Virtual Machines-26-07-2024

Virtualization Overview

  • Virtualization: Technology enabling the creation and use of a virtual version of:

    • Operating systems

    • Servers

    • Storage devices

    • Network resources

  • Purpose: Abstracts hardware resources so multiple OS or applications can run simultaneously on the same physical machine.

How Virtualization Works

  • Physical Server: Hardware foundation consisting of CPU, RAM, storage, and network interface.

  • Hypervisor: Software layer managing resource allocation and isolating virtual environments.

    • Type 1 (Bare Metal Hypervisor): Runs directly on hardware.

    • Type 2 (Hosted Hypervisor): Runs as an application on an OS.

  • Virtual Machines (VMs):

    • Virtual copies of physical servers.

    • Each VM operates independently with its own OS and applications.

Hypervisor Functionality

  • Hardware Abstraction: Presents a standardized set of resources to VMs.

  • Resource Allocation: Manages CPU, memory, and storage distribution among VMs.

  • Isolation: Ensures VMs operate independently to maintain stability.

  • Hardware Emulation: Emulates hardware components to provide necessary virtual devices to VMs.

  • Interruption Handling: Manages interrupts from hardware devices and routes them to the correct VM.

  • Security and Control:

    • Provides mechanisms for VM lifecycle management (start, stop, migrate).

  • VM Migration: Supports live migration for load balancing and maintenance with minimal downtime.

Virtualization Types

  • Bare Metal Hypervisors:

    • Run directly on the server hardware.

    • More secure but require dedicated management.

  • Hosted Hypervisors:

    • Operate as applications within a host OS.

    • Can run multiple hypervisors simultaneously.

Virtual Machines (VMs)

  • VM Structure:

    • Comprised of configuration files, virtual hard drive storage, and snapshots.

  • Definition: Simulates a physical computer using software instead of hardware to run applications.

Server Virtualization

  • Concept:

    • Multiple virtual servers on one physical server drawing from excess resources.

  • Benefits:

    • Enables the running of different applications and workloads on a single server.

    • Cost-efficient for businesses renting out server space.

Types of Server Virtualization

  • Full Virtualization: Utilizes hypervisors to allocate resources to guest servers; independent OS per VM.

  • Para Virtualization: Guest OS is aware of each other, reducing overhead and improving performance.

  • OS-Level Virtualization:

    • Does not use hypervisors, all instances share a single OS kernel.

    • Efficiency gains from lightweight containers but limits OS variety.

Desktop Virtualization

  • Definition: Technology allowing users to run desktop environments from a central server.

  • Types:

    • Virtual Desktop Infrastructure (VDI): Hosts desktop OS in VMs.

    • Remote Desktop Services (RDS): Shared environment providing centralized application management.

    • Desktop-as-a-Service (DaaS): Cloud-based desktops managed by service providers.

    • Application Virtualization: Delivers individual applications rather than full desktops.

Storage Virtualization

  • Concept: Physical storage devices presented as a single virtual storage pool.

  • Functionality: Simplifies storage management and enhances performance and data availability.

  • Types:

    • Block-level, file-level, and object-level virtualization.

    • Each type has unique application advantages depending on data handling requirements.

OS Level Virtualization

  • Overview: Allows containers to run on a single host OS; lightweight and efficient.

  • Benefits:

    • Quick scalability, improved resource utilization, process isolation, and portability across environments.

    • Each container encapsulates the application and its necessary dependencies.

Network Virtualization

  • Description: Decouples physical network infrastructure from applications for flexibility and scalability.

  • Components:

    • Virtual switches, routers, network interfaces, and functions like firewalls.

  • Benefits:

    • Cost efficiency, enhanced security, and simplified management through centralized control.

Software-Defined Data Center (SDDC)

  • Definition: An architecture where all resources (compute, storage, networking, security) are virtualized and managed via software.

  • Core Components:

    • Software-defined compute, storage, networking, and security for efficient resource allocation and management.