What is a virtual machine?


As organizations seek to maximize resource efficiency while adapting to ever-changing technologies and customer expectations, the use of virtual machines (VMs) is growing exponentially. Understanding how virtual machines work is therefore important for IT professionals, as they become a central part of growth and IT strategies.

machine_virtuelle.jpg

VMs in detail

A virtual machine (VM) is a computing resource that uses software instead of a physical computer to run programs and deploy applications. One or more 'Guest' VMs are running on a 'Host' physical machine. 

Each virtual machine runs its own OS and operates separately from other VMs , even when they are all running on the same host. This means, for example, that a Linux virtual machine can run on a Windows environment.

Virtual machine technology is used in many environments that rely on cloud computing services . More recently, public cloud services are using virtual machines to deliver virtual application resources to multiple users at once, for an even more cost-effective and flexible calculation.

How does a virtual machine work?

A VM provides an isolated environment for running its own OS and applications, independent of the underlying host system.

The operating system of a VM, commonly known as the guest operating system, can be identical to or different from the host OS and the OSs of other VMs on the host. A single computer can therefore host several virtual machines running different OSs and applications, without them affecting each other.

Although the VM still depends on the host’s hardware, these resources are virtualized and distributed among the VMs, and can be reallocated if necessary. This allows different environments to operate simultaneously to accommodate fluctuating workloads.

From the user’s perspective, the VM works the same way as a physical machine . In most cases, users who connect to a VM do not know that they are using a virtual environment.

Users can configure and update the guest OS and its applications as needed, and install or remove new software without affecting the host or other VMs. Resources such as processors, memory, and storage appear the same as on a normal PC.

Why use virtual machines?

Virtual machines (VMs) allow businesses to run an OS that behaves like a completely separate computer in an application window on a desktop. Virtual machines can be deployed to meet different levels of processing power , to run software that requires a different OS, or to test applications in a secure, sandbox environment.

Virtual machines have always been used for server virtualization , which allows IT teams to consolidate or pool their IT resources and improve their efficiency .

In addition, virtual machines can perform specific tasks considered too risky to be performed directly in a host environment, such as accessing virus-infected data or testing OSs. Because the virtual machine is separate from the rest of the system, the software on it cannot alter the host computer.

Advantages of virtual machines

Virtual machines are easy to manage and maintain, and offer several advantages over physical machines:

  • VMs can run multiple operating systems simultaneously on a single physical computer, saving physical space, time and management costs.
     
  • Virtual machines support existing software, which reduces the cost of migrating to a new operating system . For example, a Linux virtual machine running a Linux distribution as a guest operating system might exist on a host server running a non-Linux OS, such as Windows or Mac.
     
  • Virtual machines can also offer integrated disaster recovery and application provisioning options.

The different types of virtualization

All components of a traditional datacentre or IT infrastructure can be virtualized today, with several specific types of virtualization:

Hardware virtualization:

When hardware is virtualized, virtual versions of computers and operating systems (VMs) are created and consolidated into a single primary physical server. A hypervisor communicates directly with a physical server's disk space and processor to manage the virtual machines. Hardware virtualization, also known as server virtualization, enables a company’s resources to be used more efficiently and allows different OSs to run simultaneously on the same machine.

Software Virtualization:

Software virtualization creates a computer system with hardware that allows one or more guest OSs to operate on a physical host machine. Applications can be virtualized and streamed from a server to an end user’s device, such as a laptop or smartphone. This allows developers to access hosted applications centrally when working remotely.

Storage virtualization:

Storage can be virtualized by consolidating multiple physical storage devices so that they appear as a single storage device. Benefits include increased performance and speed, load balancing, and reduced costs. Storage virtualization also helps with disaster recovery planning, as virtual storage data can be duplicated and quickly moved to another location.

Virtualisation of the network

Multiple subnets can be created on the same physical network by combining devices into a single software-based virtual network resource. Network virtualization also divides available bandwidth into multiple independent channels, each of which can be assigned to servers and devices in real time. The benefits of virtualization include improved reliability, network speed, security, and control over data usage. Network virtualization can be a good choice for businesses with a large number of users who need access at all times.

Desktop Virtualization:

This type of virtualization separates the desktop environment from the physical device and stores a workstation on a remote server. This approach allows users to access their workstations from anywhere on any device. In addition to ease of access, the benefits of virtual desktops include improved data security, savings on licenses and software updates, and ease of management.

Both types of existing virtual machines

Users can choose between two types of virtual machines: process virtual machines and system virtual machines:

A process virtual machine allows a single process to run as an application on a host machine. The VMs therefore provide a programming environment independent of the platform by hiding the information of the underlying hardware or operating system. An example of a process virtual machine is the Java virtual machine, which allows any operating system to run Java applications as if they were native to that system.

A system virtual machine is fully virtualized to replace a physical machine. A system platform supports sharing a computer's hardware among multiple virtual machines, each running its own copy of the operating system. This virtualization process relies on a hypervisor, which can run on raw (unconfigured) hardware, such as VMware ESXi, or on top of an operating system.

Virtual machine vs container: what's the difference?

Like virtual machines, container technology, such as Docker, allows isolated applications to run on a single platform. While virtual machines virtualize the hardware layer to create a “virtual machine”, containers group only one application with its dependencies . Kubernetes, on the other hand, is used to orchestrate and automate Docker containers and the underlying infrastructure.

VMs are often managed by a hypervisor , while container systems provide shared operating system services from the underlying machine. They allow software to be isolated using virtual memory hardware.

One of the main advantages of containers is that they have fewer constraints than VMs . Containers include only necessary binaries, libraries, and other dependencies. Containers on the same host share the same operating system kernel, making containers much lighter than virtual machines.

As a result, containers start faster, optimize server resources, and make applications easier to provision.

Virtual machines are bigger and slower to start than containers. They are logically isolated from one another, with their own operating system kernel, and offer the advantages of a completely separate OS.

Virtual machines are ideal for running multiple applications simultaneously, for monolithic applications , for isolation between applications, and for legacy applications running on older operating systems. Containers and VMs can also be used together.

Cloud containers and bare-metal servers

Cloud containers have become a standard for application deployment and management. They offer application isolation, auto-scaling, and ease of deployment, making them a great choice for many workloads.

On the other hand, the term “bare-metal” refers to non-virtualized physical servers . Unlike virtual machines, which run on a hypervisor layer, applications run directly on the hardware in a bare-metal environment.

By integrating cloud containers and bare-metal servers, you can enjoy the benefits of both systems. Containers enable simplified application management, while bare-metal provides optimal performance and isolation for sensitive workloads.

OVHcloud and virtual machines

VMware

VMware virtualisation managed and operated by OVHcloud

A 100% dedicated, hosted​ and managed virtual infrastructure, available in just a few clicks.

With theManaged Bare Metal Essentials range, you can choose high-availability VMware virtualisation and stay focused on your business.

database

Gain a competitive edge with our managed databases

Harness the power of your data while maintaining control of your resources. With our managed database services, we take care of your database infrastructure and administration – including configuration, backup, scalability and security – saving you time and money. This means you and your team can focus on building and deploying your cloud-based applications. Choose from a wide range of popular engines and deploy your Public Cloud database now.

managed private registry

A Managed Private Registry service compatible with the cloud native ecosystem

The OVHcloud Managed Private Registry service makes it easy to store, manage and access your container images and Helm charts, and offers enterprise-grade features and predictable pricing.