Skip to main content
IMHCloud Logo
Back to glossary

Hypervisor

A hypervisor is software that creates and manages virtual machines by allowing multiple operating systems to share a single physical server's hardware resources.

What is a Hypervisor in cloud hosting?

A hypervisor is software that creates and runs virtual machines (VMs) on a physical server. It sits between the hardware and the virtual machines, allocating CPU, memory, and storage to each VM while keeping them isolated from one another.

In cloud hosting environments, hypervisors enable a single physical server to host multiple independent virtual machines. Each VM operates as if it has dedicated hardware, even though it shares the underlying physical resources with other VMs on the same server.

Related Terms

  • Instance: A virtual machine created and managed through a cloud platform, such as one launched in OpenStack Nova.
  • Nova: The OpenStack compute service that schedules and manages instances across hypervisors in a cloud environment.
  • Flavor: A predefined resource template that specifies how much CPU, RAM, and disk a hypervisor should allocate to an instance.
  • Live migration: Moving a running virtual machine from one physical hypervisor host to another without shutting it down.
  • Virtual Private Cloud (VPC): An isolated network environment where instances created by hypervisors can communicate securely.

Why Hypervisors Exist

Before hypervisors, each application or workload required its own dedicated physical server. This led to low hardware utilization because most servers sat idle for large portions of time. Purchasing, powering, and maintaining separate hardware for each workload was expensive and wasteful.

Hypervisors solve this problem by allowing multiple virtual machines to run on a single physical server. Each VM can run a different operating system and application stack without interfering with others. This increases hardware utilization, reduces costs, and makes it possible to provision new servers in minutes rather than weeks.

Without hypervisors, cloud computing as it exists today would not be possible. The ability to create, destroy, and migrate virtual machines programmatically is the foundation of on-demand cloud infrastructure.

What Do Hypervisors Actually Do?

  • Partition physical resources: Divide a server's CPU cores, RAM, and storage among multiple virtual machines according to each VM's configuration.
  • Isolate workloads: Prevent one virtual machine from accessing another VM's memory, storage, or network traffic, even when they share the same physical hardware.
  • Emulate hardware: Present each virtual machine with a standardized set of virtual hardware, regardless of the actual physical hardware underneath.
  • Manage VM lifecycles: Start, stop, pause, resume, and snapshot virtual machines on demand.
  • Enable live migration: Move running virtual machines between physical hosts without downtime, allowing for hardware maintenance and load balancing.
  • Enforce resource limits: Prevent any single VM from consuming more CPU, memory, or I/O than allocated to it.

When Would I Use a Hypervisor?

You use a hypervisor whenever you need to run virtual machines on physical hardware. In practice, most cloud users interact with hypervisors indirectly through a cloud platform like OpenStack.

Common scenarios include:

  • Running multiple isolated environments: You need development, staging, and production environments but want to use a single physical server.
  • Consolidating workloads: You have several applications that each use only a fraction of a server's capacity and want to run them together efficiently.
  • Providing on-demand compute: You need to create and destroy servers programmatically based on user requests or automated scaling.
  • Testing different operating systems: You want to run Windows and Linux workloads on the same physical hardware.
  • Enabling high availability: You need the ability to migrate running workloads to different physical hosts during maintenance or hardware failures.

When Would I NOT Use a Hypervisor?

Hypervisors add overhead because the hypervisor software itself consumes some CPU and memory. In certain scenarios, this overhead matters.

  • Maximum performance workloads: If you need every possible CPU cycle for a single application (such as high-frequency trading or scientific simulations), running directly on bare metal eliminates hypervisor overhead.
  • Latency-sensitive applications: Some applications require predictable, sub-millisecond response times that can be affected by hypervisor scheduling.
  • Hardware passthrough requirements: Certain specialized hardware (GPUs, network cards, storage controllers) may not virtualize well or may require direct hardware access.
  • Single-tenant isolation requirements: Some compliance or security requirements mandate physical separation between workloads, not just logical isolation.
  • Container-only environments: If all your applications run in containers and you do not need full VM isolation, you might use container runtimes directly on bare metal instead.

Real-World Example

Company A runs an e-commerce platform with separate applications for their web frontend, payment processing, inventory management, and order fulfillment.

Before using hypervisors, Company A operated four physical servers, one for each application. Each server was sized for peak holiday traffic, meaning they sat mostly idle during normal business periods. Their utilization averaged 15% across all servers.

After migrating to a hypervisor-based cloud environment, Company A runs all four applications as virtual machines on two physical servers. The hypervisor allocates resources dynamically based on each VM's current demand. During normal periods, the web frontend VM uses minimal resources while the inventory VM handles more traffic. During peak sales events, the hypervisor allocates more CPU and memory to the payment and order VMs.

Company A reduced their physical server count by 50% and improved average utilization to 60%. They can now provision additional VMs during sales events and remove them afterward without purchasing new hardware.

Frequently Asked Questions

What hypervisor does OpenStack use? OpenStack supports multiple hypervisors, but KVM (Kernel-based Virtual Machine) is the most common choice. KVM is integrated directly into the Linux kernel, provides near-native performance, and supports features like live migration. OpenStack also supports other hypervisors including QEMU, VMware vSphere, and Xen.

Is there a performance difference between running on a hypervisor versus bare metal? Yes, but for most workloads the difference is small. Modern hypervisors with hardware-assisted virtualization (Intel VT-x or AMD-V) typically add 2-5% overhead for CPU-intensive workloads. I/O-intensive workloads may see more overhead depending on how storage and networking are configured. For workloads that require maximum performance, bare metal instances eliminate this overhead.

Can I run containers inside virtual machines on a hypervisor? Yes. Many organizations run container orchestration platforms like Kubernetes on virtual machines managed by hypervisors. This provides an additional layer of isolation and allows using existing VM management tools. The containers run inside the VM, which runs on the hypervisor, which runs on the physical server.

What happens if a hypervisor host fails? If the physical server running the hypervisor fails, all virtual machines on that host stop running. Cloud platforms like OpenStack detect this failure and can automatically restart the affected VMs on other healthy hypervisor hosts. This recovery process takes longer than a VM simply being migrated, so critical workloads should be deployed across multiple hosts with application-level redundancy.

Do I need to manage the hypervisor myself in a cloud environment? In a managed cloud environment like InMotion Cloud, the provider manages the hypervisor infrastructure. You interact with virtual machines through the cloud dashboard or API without needing to configure or maintain the underlying hypervisor software. In a self-managed or on-premises deployment, your infrastructure team would be responsible for hypervisor configuration, updates, and maintenance.

Summary

  • A hypervisor is software that creates and manages virtual machines on physical hardware, enabling multiple isolated workloads to share a single server.
  • Hypervisors exist to increase hardware utilization, reduce costs, and enable on-demand provisioning of compute resources.
  • KVM is the most common hypervisor in OpenStack-based cloud environments due to its performance, Linux kernel integration, and support for live migration.
  • Most cloud users interact with hypervisors indirectly through cloud platforms rather than managing them directly.
  • Bare metal servers remain the better choice when workloads require maximum performance, predictable latency, or direct hardware access.