Virtual Machines
There were many challenges with bear metal computing, and these challenges prompted Engineers to come up with the concept of virtualization in order to eliminate some of those challenges. In a virtual machine the outer boundary is that of a the host (the physical system or the server). We may or may not use an operating system running on that Hardware. On the operating system layer we have hypervisor. And then we have virtual machines.
Note :- A Hypervisor is some combination of software and Hardware that allows us to carve up the physical resources.
Hypervisor allows us to carve up pool of resources into isolated smaller parts that we can then install our our systems onto. Hypervisor gives us a virtual hardware layer upon which we can then install an operating system, binaries and libraries and also install our applications. In bare metal computing we had both applications on the single physical host, while in virtual machines we have application #1 and application #2 each with their own isolated virtual machine running on top of the hypervisor.
Evolution of Virtualization in Cloud Computing
The applications of this day and age are running on cloud, but do you wonder how these applications used to be deployed before the advent of cloud technologies? Containers are the new norm for various companies irrespective of their domain and the work they do, but there has been an evolution from deploying applications in just the hardware itself towards containers and container technologies. Evolution of virtualization brought us from running applications directly in simple hardware systems to the world of virtual machines and containers.
In this article we will discuss the evolution of virtualization, what were the issues with bare metal computing? Why virtual machines and containers were introduced? and what problems they scored?