written 6.2 years ago by |
Virtualization is an approach to pooling
and sharing technology resources to simplify management and increase asset use so that IT resources can more readily meet business demand. With servers or networks, virtualization is used to take a single physical asset and make it operate as if it were multiple assets.
The benefits of virtualization are as follows:
Virtualization Increases Business Agility:
When business and government conditions are changing more rapidly today than before it’s vital for organizations to be able to respond in an instant. Virtualization makes it much easier and quicker to spin up computing resources.
Although it used to take days (if not weeks) to install, configure, and begin operating server, network, and storage
resources, these processes can now be accomplished in minutes. Virtualization allows dynamic provisioning of resources to support applications when capacity is needed most, helping close the gap between what an organization needs and what IT can deliver.
Virtualization Increases IT Operational Flexibility:
Virtualization can help you deal with hardware failures or application/operating system crashes. Virtualization software can be configured to keep track of virtual machines and, if one goes down, immediately restart another instance on the same machine or even a different machine. Virtualization reduces IT Operations Costs:
Virtualization can make maintenance and upgrades significantly easier and less expensive. On servers, it enables a running virtual machine to be migrated to another server very quickly, freeing up the original server to be worked on.
Virtualized PCs allow for centralized upgrades, patching, and repair because some or all of the PC’s applications and data reside in the data center rather than on the PC itself.
Virtualization reduces IT operational costs in a more direct way.
By allowing software virtual machines to take the place of physical machines, operational costs related to hardware maintenance may be cut by 60 percent or more, depending on the ratio of virtual servers to physical servers.
High Availability:
The high availability can be considered as disaster or downtime avoidance. You want business applications to remain online and accessible in the event of failures to hardware, software, or facilities.
Server virtualization can help to avoid both planned and unplanned downtime, including the ability to move live, running virtual servers from the affected host to another host.
Some shared storage systems also feature no-single-point of failure architectures to keep storage online through a variety of failure scenarios. These architectures, when combined with server virtualization provides high availability capabilities, minimize downtime without the complexities of traditional server clustering approaches.
Quality of Service:
Virtualization when managed effectively and efficiently can raise the quality of service provided by IT organizations.
By implementing consistent management practices backed up by software systems that track and manage IT infrastructure, whether physical or virtual, IT organizations can ensure that IT services avoid outages or uncoordinated activities.
Disaster recovery:
Disaster recovery is like life insurance for IT organizations. When disaster strikes, IT operations must be brought back online as quickly as possible. Virtual machines can be easily transferred within seconds or minutes to a backup data center; in tough circumstances, many virtual machines can be run on a smaller number of physical servers, reducing the cost of physical resources required for disaster recovery.
The mechanisms for virtualization are as follows: Common virtualization layers include the instruction set architecture (ISA) level, hardware level, operating system level, library support level, and application level The idea is to virtualize a computer’s resources, such as its processors, memory, and I/O devices.
The intention is to upgrade the hardware utilization rate by multiple users concurrently. runs as a process. Therefore, application-level virtualization is also known as process-level virtualization.
The most popular approach is to deploy high level language (HLL) VMs.
In this scenario, the virtualization layer sits as an application program on top of the operating system, and the layer exports an abstraction of a VM that can run programs written and compiled to a particular abstract machine definition.
Any program written in the HLL and compiled for this VM will be able to run on it.Eg: The Microsoft .NET CLR and Java Virtual Machine (JVM).
Other forms of application-level virtualization are known as application isolation, application sandboxing, or application streaming.
The process involves wrapping the application in a layer that is isolated from the host OS and other applications.
The result is an application that is much easier to distribute and remove from user workstations. An example is the LANDesk application virtualization platform which deploys software applications as self-contained, executable files in an isolated environment without requiring installation, system modifications, or elevated security Mechanism for virtualization: There are three mechanisms used for virtualization of systems which are as follows: BINARY TRANSLATION: Binary translation is all about scanning the code that the kernel of the guest OS should execute at a certain moment in time and replacing it with something safe (virtualized) on the fly. he BT does not optimize the binary instruction stream, and an instruction stream that has been translated is kept in a cache. In case of a loop, this means that the translation is done only once. Binary translation is one specific approach to implementing full virtualization that does not require hardware virtualization features. It involves examining the executable code of the virtual guest for "unsafe" instructions, translating these into "safe" equivalents, and then executing the translated code. Alternatives to binary translation are binary patching, and full system emulation. In the case of Binary translation, the native OS must first scan the guest OS instruction stream and make modifications to the stream as needed.
HARDWARE ASSIST: In computing, hardware-assisted virtualization is a platform virtualization approach that enables efficient full virtualization using help from hardware capabilities, primarily from the host processors. Full virtualization is used to simulate a complete hardware environment, or virtual machine, in which an unmodified guest operating system (using the same instruction set as the host machine) executes in complete isolation. Hardware-assisted virtualization was added to x86 processors. It is a new processor technology that avoids change in the system state and calls the vmm directly . The hard ware assisted VMMs interrupts the execution of the VM code only when the interruption is extremely necessary or cannot be avoided.
PARA VIRTUALIZATION: Para-Virtualization on the other hand is a technique where the source code of the guest os is modified. All system resource access related code is modified with Hypervisor APIs. In the case of para-virtualization, the source code has already been modified. Such an image directly calls hypervisor APIs. Para-Virtualization incurs lower overhead.