Virtual Machines

Virtual Machines

What is a virtual machine (VM)?

A virtual machine according to IBM is a virtual representation, or emulation, of a physical computer.

In other words, a virtual machine is a computer file, commonly referred to as an image, that emulates the behavior of a real computer. It can run in a separate computing environment in a window, often to run a different operating system, or even to function as the user's entire computer experience, as is common on many people's work computers.

Virtualization allows you to run multiple virtual machines on a single physical computer, each with its operating system and application.

overview-img.png

What are virtual machines used for?

  • Backing up an existing Operating System (OS)

  • Run incompatible software

  • Test a new Operating System
  • Investigate malware

  • Search the web securely

How does a virtual machine work?

Virtualization is the process of creating a software-based version of a computer with a dedicated amount of CPU memory and storage that is borrowed from the physical host computer. Because the virtual machine is partitioned from the rest of the system, the software running within it cannot interfere with the host computer's principal operating system.

Types of visualization

Desktop virtualization

Desktop virtualization enables the installation of numerous operating systems on a single workstation. A central administrator tool can use desktop virtualization to deploy simulated desktop environments to hundreds of actual workstations at once.

Network virtualization

Network virtualization divides a network's main tasks such that they can be dispersed across environments. This, in turn, improves network dependability, network speed, security, and data use monitoring.

Software virtualization

Software virtualization provides a complete computer system with hardware that allows one or more guest operating systems to run on a physical host machine.

Hardware virtualization

When hardware is virtualized, virtual versions of computers and operating systems (VMs) are created and merged into a single, primary, physical server. To manage VMs, a hypervisor interfaces directly with the storage space and CPU of a physical server.

Storage virtualization

Storage can be virtualized by combining numerous physical storage devices into a single unit. This improves performance and speed, as well as load balancing and cost savings, and aids in disaster recovery planning.

Benefits of using a virtual machine

Security

Because virtual machines can run various operating systems, employing a guest operating system on a VM allows you to run potentially dangerous software while also protecting your host OS. VMs also enable better security forensics and are frequently used to safely study computer viruses by isolating the viruses from their host computer.

Scalability:

VMs enable you to scale your apps more easily by deploying multiple copies of the same virtual machine to distribute the workload across multiple VMs. As a result, you will be able to improve the availability and performance of your apps.

Cost:

Running multiple VMs on a single physical computer instead of buying new servers saves space, time, and manages costs.

Portability:

Virtual machines (VMs) can be moved around a network as needed. This enables workloads to be assigned to servers with excess computing power.

Disadvantages

While virtual machines have several benefits over physical machines, they may also have some drawbacks:

  • Virtual machines are less efficient and operate at a slower rate than full-fledged physical computers. Most businesses use a combination of physical and virtual infrastructure (such as a hypervisor) to balance the benefits and drawbacks of each.
  • If infrastructure requirements are not met, running multiple virtual machines on a single physical machine can result in unstable performance.

Types of Virtual Machines

Process virtual machine

A process virtual machine allows a single process to execute as an application on a host machine, thereby offering a platform-independent development environment by concealing the underlying hardware or operating system information. Such as a Java virtual machine, which allows Java applications to run on any operating system as if they were native to that system.

System virtual machine

This is entirely virtualized to serve as a replacement for a physical machine. It allows several virtual machines, each running its own copy of the operating system, to share the physical resources of a host computer. This virtualization process relies on a hypervisor, which can run on bare hardware, for example, Microsoft and VMware virtual machines e.t.c.