Virtualization is one of the hottest trends in information technology today. So first let us understand what is virtualization and then I will demonstrate the implementation of virtualization.
First of all, what is virtualization? I guess that it can be explained from a very techy point of view or from a more basic aspect. I’m gonna go with the latter; Virtualization allows you to run several different virtual machines on one single physical system. This means that you for example can have your file server, DNS and print server all operating at the same time.
Lets first come to the existing model
The application is installed and runs directly on the operating system, which in turn runs directly on the computer’s hardware. The application’s user interface is presented via a display that’s directly attached to this machine. This simple scenario is familiar to anybody who’s ever used Windows.Notice 1 thing that the various parts are locked.That is the Operating System is heavily dependent on the hardware,the Application is dependent on the operating system and so on.
This is not the best way,the best way is portability which can only happen if we can find a way to decouple the “locked” aspects of the system.E.g. Operating system from the hardware,the application from the OS..and so on..
so lets come to the types of virtualization
Its basically about running multiple operating systems on a single physical machine.It is the most common type of virtualization.
The concept behind it is to create a VIRTUAL MACHINE that will emulate the hardware of a physical computer,i.e the hardware will be virtually implemented through the software.This can be viewed as a single piece of hardware running multiple operating systems ,and each operating system is unaware of the existence of another operating system on the same hardware since each OS has its unique VM which implements Hardware virtualization.
When used on client machines, this approach is often called desktop virtualization, while using it on server systems is known as server virtualization
I will show Desktop virtualization on my next post and discuss it in depth.
We now already have a brief idea about desktop virtualization which separates conflicting OSs and makes it feel as if it is running on two different machines.Consider this in case of Applications.Incompatibilities between two applications installed on the same instance of an operating system can occur.Application depend on the Os for a variety of needs from memory allocation to task scheduling.Thus conflicting application may result from same DLL file being modified by two applications or one of the applications may require a different version of the DLL which leads to DLL Hell.
So,to solve this problem application virtualization steps in.first it differentiates the shared resources between the conflicting applications.Other resources need not be changed since they do not conflict.The problem is solved by creating APPLICATION SPECIFIC copies of the shared resources .
This is used so that the user interface can be decoupled from the hardware and OS.In this the processing is done on the server and the user connected to that server is presented with a desktop UI irrespective of the hardware he is working on.
The advantages with Virtualization are plenty but the main advantage, at least according to me, is that it cut downs power and hardware costs. Another benefit with Virtualization is that it will simplify operations as well as ensure data protection and availability for people or businesses that are involved in a project on the web.