Virtualization
In computing, virtualization (or virtualisation) is the creation of a virtual (rather than actual) version of something, such as a
hardware platform, operating system (OS), storage device, or network resources.
While a physical computer in the classical sense is clearly a complete and actual machine, both subjectively (from the user's point of view)
and objectively (from the hardware system administrator's point of view), a virtual machine is subjectively a complete machine (or very close),
but objectively merely a set of files and running programs on an actual, physical machine (which the user need not necessarily be aware of).
Virtualization can be viewed as part of an overall trend in enterprise IT that includes autonomic computing, a scenario in which the IT
environment will be able to manage itself based on perceived activity, and utility computing, in which computer processing power is seen
as a utility that clients can pay for only as needed. The usual goal of virtualization is to centralize administrative tasks while improving
scalability and overall hardware-resource utilization. With virtualization, several operating systems can be run in parallel on a single
central processing unit (CPU). This parallelism tends to reduce overhead costs and differs from multitasking, which involves running several
programs on the same OS.
Hardware
Hardware virtualization or platform virtualization refers to the creation of a virtual machine that acts like a real computer with an
operating system. Software executed on these virtual machines is separated from the underlying hardware resources. For example, a computer
that is running Microsoft Windows may host a virtual machine that looks like a computer with the Ubuntu Linux operating system; Ubuntu-based
software can be run on the virtual machine.
In hardware virtualization, the host machine is the actual machine on which the virtualization takes place, and the guest machine is the
virtual machine. The words host and guest are used to distinguish the software that runs on the actual machine from the software that runs
on the virtual machine. The software or firmware that creates a virtual machine on the host hardware is called a hypervisor or Virtual Machine Manager.
Different types of hardware virtualization include:
- Full virtualization: Almost complete simulation of the actual hardware to allow software, which typically consists of a guest operating
system, to run unmodified.
- Partial virtualization: Some but not all of the target environment is simulated. Some guest programs, therefore, may need modifications
to run in this virtual environment.
- Paravirtualization: A hardware environment is not simulated; however, the guest programs are executed in their own isolated domains,
as if they are running on a separate system. Guest programs need to be specifically modified to run in this environment.
Hardware-assisted virtualization is a way of improving the efficiency of hardware virtualization. It involves employing specially designed
CPUs and hardware components that help improve the performance of a guest environment.
Hardware virtualization is not the same as hardware emulation. In hardware emulation, a piece of hardware imitates another, while in hardware
virtualization, a hypervisor (a piece of software) imitates a particular piece of computer hardware or the entire computer. Furthermore, a
hypervisor is not the same as an emulator; both are computer programs that imitate hardware, but their domain of use in language differs.
Desktop virtualization
Desktop virtualization is the concept of separating the logical desktop from the physical machine.
One form of desktop virtualization, virtual desktop infrastructure (VDI), can be thought as a more advanced form of hardware virtualization.
Rather than interacting with a host computer directly via a keyboard, mouse, and monitor, the user interacts with the host computer using another
desktop computer or a mobile device by means of a network connection, such as a LAN, Wireless LAN or even the Internet. In addition, the host
computer in this scenario becomes a server computer capable of hosting multiple virtual machines at the same time for multiple users.
As organizations continue to virtualize and converge their data center environment, client architectures also continue to evolve in order to
take advantage of the predictability, continuity, and quality of service delivered by their Converged Infrastructure. For example, companies
like HP and IBM provide a hybrid VDI model with a range of virtualization software and delivery models to improve upon the limitations of
distributed client computing. Selected client environments move workloads from PCs and other devices to data center servers, creating well-managed
virtual clients, with applications and client operating environments hosted on servers and storage in the data center. For users, this means they
can access their desktop from any location, without being tied to a single client device. Since the resources are centralized, users moving between
work locations can still access the same client environment with their applications and data. For IT administrators, this means a more centralized,
efficient client environment that is easier to maintain and able to more quickly respond to the changing needs of the user and business.
Another form, session virtualization, allows multiple users to connect and log into a shared but powerful computer over the network and use it
simultaneously. Each is given a desktop and a personal folder in which they store their files. With Multiseat configuration, session
virtualization can be accomplished using a single PC with multiple monitors keyboards and mice connected.
Thin clients, which are seen in desktop virtualization, are simple and/or cheap computers that are primarily designed to connect to the network.
They may lack significant hard disk storage space, RAM or even processing power, but many organizations are beginning to look at the cost benefits
of eliminating thick client desktops that are packed with software (and require software licensing fees) and making more strategic investments.
Moving virtualised desktops into the cloud creates hosted virtual desktops (HVD), where the desktop images are centrally managed and maintained
by a specialist hosting firm. Benefits include scalability and the reduction of capital expenditure, which is replaced by a monthly operational cost.
Software
Operating system-level virtualization, hosting of multiple virtualized environments within a single OS instance.
Application virtualization and workspace virtualization, the hosting of individual applications in an environment separated from the underlying OS.
Application virtualization is closely associated with the concept of portable applications.
Service virtualization, emulating the behavior of dependent (e.g., third-party, evolving, or not implemented) system components that are
needed to exercise an application under test (AUT) for development or testing purposes. Rather than virtualizing entire components, it virtualizes
only specific slices of dependent behavior critical to the execution of development and testing tasks.