Tice Tips

What are Virtual Machines?

Virtual Machines are used almost everywhere in the Tech world. But what are Virtual Machines? This guide will explain the basic principles of Virtual Machines and how you can use them to your advantage!

What are Virtual Machines?

A Virtual Machine is not much different from an actual computer. It has a CPU, Memory, and enough space to store your important files. However there is one major difference, they are not physical machines! You can’t just pick up a virtual machine and put it below your desk to game on. Virtual Machines are completely made out of code that uses parts of the resources of the physical server.

Software that allows you to run a Virtual Machine is called a Hypervisor. Almost every operating system can function as a Hypervisor (if it has additional resources it can share with the VM). A Virtual Machine is isolated from the Hypervisor and other Virtual Machines. Virtual Machines allow you to run multiple different operating systems on the same physical computer. 

There are different types of Hypervisors you can use for virtualization:

  • Type 1: A Bare Metal Hypervisor, this means that all resources and hardware of the system is directly allocated to the Virtual Machines.
  • Type 2: Hosted Hypervisor, these hypervisors are most commonly used by developers. The VM’s on a Type 2 hypervisor first have to go through a Host Operating System before executing against the (physical) hardware.

Below is a visualization of the differences between the 2 types.

An image displaying the multiple layers of the different types of hypervisors

What can I use Virtual Machines for?

There are multiple uses for virtual machines. In this chapter, we go over a couple of practical reasons to use Virtual Machines. 

Trying out a different operating system

Have you ever wondered what running a different OS is like? Now you can! With a Virtual Machine, it is really simple to run a separate OS inside the OS you are currently using. Say for example you are currently running windows, but you’ve always wondered what it is like to work on ubuntu.  You simply have to download the Ubuntu ISO Disk Image and install it on a Virtual Machine using a Hypervisor (For example the free hypervisor VirtualBox)

Run older software not compatible with your current OS

Oh no! The old software you found on a CD in your attic does not run on Windows 10! Not to worry! you can use Virtual Machines. You can run a Windows XP environment inside your Windows 10. This allows you to emulate a different environment and make the software think you are actually running Windows XP on your computer!

Try out a sketchy program you downloaded from the internet

Want to run a program you just downloaded, but are not sure if it could do damage to your PC? Try running it inside a Virtual Machine! I’ll press more on this topic later, but virtual machines are separated (not always!) from your other OS which protects you from bad actors!

Test software in a clean environment

Wow, you finally got your software running you’ve written yourself! Nice job! It would still be a good idea to test the software inside a Virtual Machine to make sure that it also works on the computer of a different person. You might have forgotten dependency 😉

This is merely the beginning! There are way more reasons to run Virtual Machines (way too much to discuss here)

Advantages of Virtual Machines

Other than reasons for what you can use Virtual Machines for, there are some advantages of running your applications inside Virtual Machines. Here are a few:

Utilize harware to its fullest extend

In the past, you would need a server per application you would want to host. This would mean that you needed to guess how many resources the server needed. Almost always, this would result in server resources not being fully utilized. VM’s aim solves that problem, you can now easily run multiple types of applications on a single server. You can assign each VM-specific resource of the host in order to best utilize all the resources.

Isolated Environments

Because most Virtual Machines are not connected to the host machine or other Virtual Machines, a breach of security inside a VM will have way less impact than it would have if the application was hosted on bare-metal.

Scaling the resources

On a normal computer, if you wanted to add some resources, for example, add more ram, you would need to shut down the whole machine. This is a little different on Virtual Machines, in order to add more resources you would only have to make a small change in the configuration of the VM and violá! You are done! Most Hypervisors allow you to upgrade the resources assigned to a VM on the fly, this ensures 0 downtimes during operation!

Effortless whole system backups

Most hypervisors allow you to create snapshots or images from a VM. Let’s talk about the snapshots first. A snapshot is a state of a VM at a particular point in time, this can either be a complete copy of the whole system or a snapshot of a particular part of the system.
An image is something else, you can create an image of an existing VM, or import an image to start a VM. An image is a completely configured Virtual Machine that is ready for deployment.
Most Hypervisors come with a standard set of images catered to their specific hypervisor, to get you on your way.

Hopefully, with this guide, you learned some more about what virtual machines are and how they can be useful!

You may also like:

Palworld Dedicated Server Docker set up guide Palworld has been released in early access! But how do you start a server to

Jellyfin Docker set up guide Completely new to docker? Read this guide! I’ve noticed that a lot of people who are just

By Thijs van Loef
Posted on: 25/08/2021

No Comments on What are Virtual Machines?

Leave A Comment