Intro to VIRTUALIZATION

Intro to VIRTUALIZATION

One computer does job for many computers

In today’s tech landscape, cloud computing, containers, and Docker are buzzwords that often come up. But what do they really mean, and how did we get here? Let’s break it down in simple terms.

The Old Way: Before Virtualization

Imagine a world where each service needed its own server. For example, if you wanted to run MySQL, you’d need a dedicated server just for that purpose. Here’s the problem:

  • Isolation: To keep each service separate, each one needed its own physical server.

  • Overprovisioning: Servers were often over-provisioned, meaning they had more resources than needed.

  • Underutilization: Many servers ran at a fraction of their capacity, leading to wasted resources.

  • High Costs: This approach resulted in massive capital expenditure (CapEx) and operational expenditure (OpEx) because you needed to buy, maintain, and power a lot of hardware.

Enter Virtualization: A Game Changer

With the advent of virtualization technologies, the game changed dramatically. VMware, a pioneer in this field, introduced a way to optimize and maximize server use.

  • Virtual Machines (VMs): Virtualization allows a single physical computer to run multiple operating systems (OS) at the same time. Each OS operates in its own isolated environment, known as a VM. This means you can run multiple services on a single physical server.

  • Resource Partitioning: Virtualization partitions the physical server’s resources (CPU, memory, storage) into virtual resources, allowing for efficient use and isolation.

  • Isolation: Each VM runs in its own isolated environment, improving security and management.

  • Reduced Costs: By utilizing server resources more effectively, virtualization reduces both CapEx and OpEx.

Key Terminologies

  • Host OS: This is the operating system of the physical machine you’re using. For example, if you’re working on a laptop running macOS, that’s your host OS.

  • Guest OS: This is the operating system running inside a virtual machine. Each VM operates as if it’s a separate computer, with its own guest OS.

  • Snapshot: A snapshot is a backup of a VM at a specific point in time. It allows you to restore the VM to that state if needed.

  • Hypervisor: This is the software or tool that enables the creation and management of VMs. There are two types:

    • Type 1 Hypervisor (Bare Metal): Runs directly on the physical hardware of the host machine. It’s typically used in production environments and can be clustered for high availability.

    • Type 2 Hypervisor: Runs as software on top of a host OS. It’s often used for learning, testing, or development purposes.