RemNote Community
Community

Introduction to Virtualization

Understand the fundamentals of virtualization, hypervisor architectures, their advantages, and the relationship between virtual machines, containers, and cloud computing.
Summary
Read Summary
Flashcards
Save Flashcards
Quiz
Take Quiz

Quick Practice

What is the general technique of virtualization?
1 of 10

Summary

Virtualization: Creating Multiple Computers from One Introduction Virtualization is one of the most important technologies in modern computing. The core idea is elegantly simple: instead of having one operating system and one set of applications running on a single physical computer, you can create multiple "virtual computers" that all run simultaneously on that same hardware. This technique has revolutionized how organizations manage their servers and how cloud computing operates at scale. What is Virtualization? Virtualization is the technique of creating a logical (software-based) version of something that normally exists in a physical form. In computing, this means running multiple isolated operating systems and applications on a single piece of physical hardware. To understand this, consider an analogy: imagine a large office building with multiple separate office suites inside it. Each suite has its own entrance, its own utilities, and its own occupants—but they all share the same building infrastructure. Similarly, in virtualization, multiple virtual machines (VMs) share one physical computer. A virtual machine is a software emulation of a computer. To its operating system and applications, a virtual machine appears to have its own dedicated CPU, memory, storage devices, and network interface. In reality, these resources are shared among multiple virtual machines on the same physical hardware. How the Hypervisor Makes Virtualization Work The key to making virtualization work is a special piece of software called a hypervisor (also known as a virtual machine monitor). The hypervisor sits between the physical hardware and the guest operating systems, acting as a traffic controller that manages how resources are allocated to each virtual machine. Think of the hypervisor as a manager in that office building: it decides which virtual machine gets access to the CPU at any given moment, allocates memory to each one, and ensures that one virtual machine's activities don't interfere with another's. Two Types of Hypervisors There are two main architectural approaches to hypervisors: Type 1 Bare-Metal Hypervisors run directly on the physical hardware with no host operating system underneath. The hypervisor itself takes complete control of the hardware. This design is highly efficient because there's no extra operating system layer consuming resources. Examples include VMware ESXi, Microsoft Hyper-V, and Xen. Type 1 hypervisors are typically used in data centers and enterprise environments where maximum performance is critical. Type 2 Hosted Hypervisors run as applications on top of an existing host operating system. This means you install them like normal software on Windows, macOS, or Linux. The host OS handles hardware management, and the hypervisor manages virtual machines on top of it. This approach is less efficient than Type 1 because the host OS adds overhead, but it's easier to set up and suitable for development and testing. Examples include VirtualBox and VMware Workstation. The key tricky distinction: Type 1 hypervisors are the operating system for the hardware, while Type 2 hypervisors run on an operating system. Why Organizations Use Virtualization Virtualization offers compelling advantages: Resource Efficiency and Utilization: A single physical server can host multiple isolated workloads. Before virtualization, a server running one application might use only 20% of its CPU capacity—the rest would sit idle. With virtualization, you can run multiple applications on multiple virtual machines on that same server, increasing utilization to 70-80% or more. This means fewer physical servers, which saves money. Workload Isolation: Each virtual machine is isolated from the others. If one virtual machine crashes or is compromised by malware, the other virtual machines continue running unaffected. This containment is crucial for security and reliability. Simplified Testing and Development: Developers can quickly create virtual machines with different operating system versions or software configurations without needing separate physical computers. Testing a new application on Windows 10, Windows Server 2019, and Linux? Just spin up three virtual machines. Live Migration and Load Balancing: Virtual machines can be moved between physical hosts while they're still running. If one server is getting overloaded, virtual machines can be migrated to less-busy servers automatically. This flexibility is impossible with traditional physical servers. Cost Reduction: By consolidating workloads, organizations need fewer physical servers, reducing both capital expenditure (buying hardware) and operating expenses (electricity, cooling, space). Containerization: A Lighter-Weight Alternative While virtual machines are powerful, they have one limitation: each VM includes its own complete operating system, which uses memory and disk space. An organization running 50 virtual machines might have 50 copies of Windows or Linux running. Containerization offers a lighter-weight alternative. Instead of virtualizing the entire computer, containers virtualize only the application layer while sharing the host operating system kernel. To continue our office analogy: instead of creating separate office suites with separate buildings (virtual machines), containerization is like creating cubicles within a single large office space (containers sharing one OS kernel). All containers on a host share the same operating system kernel, which eliminates duplication and reduces overhead. Key differences between containers and virtual machines: Virtual machines include a full guest operating system, making them heavier but more isolated and flexible Containers include only the application and its dependencies, making them lighter and faster to start, but requiring all containers on a host to use the same OS kernel Docker is the most popular containerization platform. Containers are ideal for modern application development and microservices architectures, where you need many lightweight, fast-starting isolated environments. For an introductory course, the important takeaway is this: both virtualization and containerization solve the problem of running multiple isolated workloads on shared hardware, but they do it at different levels and with different tradeoffs. <extrainfo> Virtualization as the Foundation for Cloud Computing Virtualization provides the technical foundation for cloud computing. Cloud providers like AWS, Microsoft Azure, and Google Cloud Platform run massive numbers of virtual machines on large server farms. The ability to dynamically provision virtual machines on-demand, scale them up or down, and migrate them between physical servers is what makes cloud computing possible. When you "rent" a server from a cloud provider, you're actually renting a virtual machine. </extrainfo>
Flashcards
What is the general technique of virtualization?
Creating a logical version of something that normally exists in physical form.
What does virtualization mean specifically in the context of computing?
Running one or more virtual computers on a single physical computer.
How does a virtual machine (VM) behave regarding its hardware resources?
It behaves as if it has its own dedicated CPU, memory, storage, and network resources.
Where do the resources for a virtual machine actually come from?
They are shared among many virtual machines on the same physical hardware.
What is the primary role of a hypervisor (virtual machine monitor)?
It sits between the physical hardware and the guest operating systems to manage virtual machines.
How does a Type 1 (bare-metal) hypervisor operate?
It runs directly on the hardware without a host operating system.
How does a Type 2 (hosted) hypervisor operate?
It runs as an application on top of an existing host operating system.
What is the definition of containerization?
A technique that isolates only the application and its dependencies while sharing the host OS kernel.
Why are containers considered lighter weight than virtual machines?
They do not include a full guest operating system.
What resource do all containers on a single host share to reduce overhead?
The host operating system kernel.

Quiz

Which statement describes a Type 1 (bare‑metal) hypervisor?
1 of 17
Key Concepts
Virtualization Concepts
Virtualization
Hypervisor
Virtual machine
Containerization
Type 1 hypervisor
Virtualization Management
Live migration
Resource utilization
Workload isolation
Cloud computing
Type 2 hypervisor