Intuition to Why we need Virtual Machines?
Note : If you are comfortable with why virtualization concept has been introduced, you can Skip to the Benefits of virtual machines section
Consider two individuals Kiran and Navya who are developing some applications individually and want to test their application on multiple platforms or different versions of a specific OS etc.
Kiran’s system has Windows 11 installed and now he wants to test his application on Linux, Windows 7 and Windows 10. Whenever he wants to test, he will switch between OSes leading to unnecessary booting and switching time between OSes.
Where as Navya has the same Windows 11 machine and she has installed a Virtualization software by which she can create virtual machines and she has installed the Linux, Windows 7 and Windows 10 OS on the top of Virtualization software, where she can run multiple OS on the same Windows 11 machine and test those simultaneously without rebooting and switching between multiple OS.
Also, Both wants their applications to be deployed, fortunately they both used .NET for application logic and MySQL for database and wants to deploy application server on a Windows machine and Database Server on a Linux Machine. Moreover Users demand for resources like CPU , Database vary upon time (Like for sometime if need for processing or serving web pages is in demand, may be dealing with database might be low and vice-versa). Now for running those Linux and Windows machines, Kiran thought obviously he needs two physical servers as he though he cannot run multiple OS on a single physical server and bought them and then installed windows on one machine and Linux on the other.
Here, Both the machines are not utilizing the hardware efficiently most of the time. As Both machines might have a idle time and sometimes they might not require the full capacity of the machine like power of CPU, RAM, Storage it has etc..
So, unnecessarily More Cost for buying 2 physical servers, maintenance time when upgradation required, lesser efficiency in resource utilization of hardware.
But Navya bought a single physical server and installed virtualisation software and created Virtual Machines with Windows OS and Linux OS -one running application server and the other running the database server, Now the only single machine is providing the resources like hardware, CPU etc for both the virtual machines here, If any point of time, if any resource requires high utilization and other machine needs less resources, Hypervisor can automatically share the resources among VM’s what they require.
Here Navya have incurred Lower Expenditure Costs, Maintenance Costs as upgradation is very easily and almost no manual involvement, and Higher efficiency in Resource Utilization as the hardware is shared by two machines here.
– So let us look at the advantages of using virtual machines.
How to Run Multiple Virtual Machines Windows and Linux Inside VirtualBox?
Virtual Machines are the software applications/files which emulate the physical computers.
This process of emulating a physical computer and making able to run instances of it on a single physical machine is called Virtualization.
A Virtual Machine (VM) allows us to run multiple or different Operating systems on a single physical machine and share the same hardware, networking, storage among them. Virtualization helps us to utilize the underlying hardware more efficiently.
A normal single computer system or a machine runs only one OS at a time, where as VM’s allow us to run multiple OS at a time.
We call it virtual because, there are no actual machines present, it creates an illusion as if we are actually using different machines each having it’s own hardware, input/output devices, CPU, storage, networking components etc.
In this article, we will primarily see :
- what are virtual machines?
- Working of a virtual machine.
- Benefits of using them.
- Popular Virtualization Software
- Installation of VirtualBox
- Creating Windows 10 and Linux Virtual Machines
- Running Windows 10 and Linux VM’s on a Windows 11 platform.
Before going into the detail of Virtual Machines, lets see some primary terminologies.