Virtual machines (also known as VMs or Virtual Machines) are no different in use from physical computers or any other physical machine (smartphone, tablet or server).
A virtual machine requires physical resources to function. It has a CPU, memory, file storage disks and the ability, if required, to connect to the Internet. Whereas a traditional computer is actually made up of physical, tangible hardware, the virtual machine simply exists in code. Many companies find it more advantageous to use virtual machines than traditional computers. Find out more about the advantages of this technology.
What is the purpose of a virtual machine?
Using a virtual machine means creating a software version of a computer with all the dedicated quantities of processor, memory and storage resources that are extracted from the physical host computer. These virtual machine resources can be extracted from a single PC or from a remote server.
In practice, a virtual machine is a file, usually called an image, which behaves like a real computer. It can be used from a separate computer window to run a different operating system. It can also act as a complete user experience, as is often the case with physical computers used in a business environment. This is possible because the virtual machine is separate from the rest of the system. It cannot influence the host computer’s main operating system.
What is a hypervisor?
A hypervisor, also known as a virtual machine monitor, is a process that creates and manages virtual machines. A hypervisor enables a host computer to support multiple guest host machines by virtually sharing physical resources.
Two types of hypervisor can be distinguished: the first runs directly on the host machine’s physical hardware and does not need to load an underlying operating system. The second is generally installed on top of an existing operating system. It relies on the host machine’s pre-existing operating system to manage calls to CPU, memory, storage and network resources. Here’s a diagram showing a type 1 hypervisor managing 3 virtual machines:
Virtual machines and hypervisors: how do they work?
A virtual machine or virtual computer is a virtual environment created using one of the open-source or pay-as-you-go virtualization software packages currently on the market. It functions as an autonomous virtual computer system, equipped with a processor, memory, network interface and storage. It is created on a physical hardware system (off-site or on-site).
When is a virtual machine right for you?
Virtual machines are solutions mainly used by cloud providers (AWS, GCP, Azure…) to make available a defined quantity of hardware, i.e. a certain number of processor cores and GB of RAM.
Indeed, these companies have state-of-the-art hardware, and virtual machines make it possible to divide the computing power of their machines.
There are also other applications for virtual machines, such as running applications not normally available on a particular operating system.
One example is Power BI, which only runs on Windows and therefore requires the use of a virtual machine to run on a physical machine running macOS or Linux. We can also mention that these virtual machines add a layer of isolation in front of the host machine’s operating system, which can be interesting when handling potentially dangerous files.
What are the advantages of a virtual machine?
A virtual machine can offer several advantages over traditional physical hardware:
1. Flexibility
This is their main advantage. Creating a virtual machine is much faster and easier than installing an operating system on a physical server. A virtual machine can be cloned with the operating system already installed. Software developers and testers can create new environments on demand to handle tasks as required.
2. Better use of resources and optimized return on investment
As most virtual machines run on a single physical computer, there’s no need to buy a new server to run a different operating system. You can make the most of the hardware you already have.
3. Scalability
Thanks to cloud computing, it has become easier to introduce multiple copies of the same virtual machine to better manage increased workloads.
4. Portability
New virtual machines can be moved between physical computers on a network as required. This allows workloads to be distributed to servers with additional computing power.
5. Security
Virtual machines offer enhanced security. In fact, it’s a file that can be used to detect malware originating from an external program. If it is compromised, simply delete it and quickly recreate it, speeding up the recovery of malware-infected files.
What's the link with data?
In the more specific field of data processing, virtual machines are mainly used for application deployment. Indeed, the virtual machines made available by the various cloud providers offer great flexibility in the computing power made available and, when used in conjunction with other tools such as Docker, enable the deployment of applications that are adaptable in terms of size. Prediction models requiring continuous training on the data supplied to them can be put on virtual machines to run 24 hours a day.
Conclusion
If there’s one thing to remember about virtual machines, it’s that they offer the flexibility essential to any data project. Combined with the other services offered by cloud providers, this is even truer. In our Data Engineer course, you’ll have the opportunity to use virtual machines to deploy applications or APIs.