Simply put, virtualization is using a single machine’s hardware to run multiple virtual machines within it. Virtualization helps solve the problem of underutilized resources between the hardware and the user. VM’s still need all of the same computing resources as a computer. Each VM still requires a certain allocation of the physical hardware’s CPU, RAM,and storage. Thus the total CPU, RAM, and storage of the individual VM’s cannot exceed the specs of the underlying hardware. 

For instance, previously companies used to have 4 physical servers; one mail server, one web server, and another two servers to run an application on. They each run at 25% capacity which was only a quarter of its full potential. It was not always easy for one server to perform 3 different functions, but that is what virtualization solved for. It is the same physical hardware, but now it is just utilized more efficiently

Benefits of virtualization include the following:

  1.  increased manageability because you have the ability to move, copy, or isolate VM’s
  2. Increased sustainability due to the energy savings from running less hardware and using less electricity
  3. Increased availability  in order to snapshot, clone, and run redundant VM’s
  4. And increased security due to the isolation of the VM’s and various applications

The picture below is a great depiction of what virtualization looks like. On top of your physical hardware you have a hypervisor. On top of this you have your virtual machines with their own guest operating systems. Finally, on top of all of these layers is your application.

Here are some links which we used in our journey to grasp the concept of virtualization better: