Computer virtualization has been a viable solution for leveraging the infrastructure of computer hardware equipment for many decades. Computer virtualization is a method of partitioning computers' hardware in a way that presents multiple virtual machines within one base computer platform. This technique creates the ability to run multiple operating systems and configuration settings without requiring multiple stand-alone hardware configurations.
Prior to the invention of computer desktops, most computer platforms used a centralized architecture model, leveraging a mainframe infrastructure. In an effort to create reuse within that hardware platform, the central server was partitioned into compartments that could be leveraged by multiple entities of an organization. This compartmental approach of managing the hardware of servers is an early example of computer virtualization.
Modern applications typically use an n-tier structure to distribute processing across multiple server configurations throughout an organization. Computer virtualization is used in a distributed model by creating multiple execution environments within the structural environment of a single server or sever cluster. This virtualization approach enables the vertical expansion of servers to support multiple applications, which allows for the highest usage possible of existing hardware equipment
Application virtualization is the technique of allowing applications to work in an environment that is not specifically designed support the application. This virtualization provides a way for the application to use appropriate protocols for the existing hardware and operating system. The utilization of application virtualization enables the standard use of one operating system that can be leveraged by all applications regardless of the interdependency between a specific operating systems and applications.
Enterprise software testing is a complicated paradigm for most organizations as it requires significant hardware and software configurations to support simultaneous multiple application testing environments. By leveraging computer virtualization within the testing paradigm, an organization can create multiple virtual machines to mimic the required platform of a specific testing environment. This approach will enable the reuse of the hardware testing environment for supporting multiple parallel testing processes.
The use of computer virtualization is not limited to large organizations as it has many benefits for home computers as well. Creating a virtual machine within the home computer allows for the reuse of a single computer to support multiple operating systems and system configurations within one computer shell. This has many advantages as any problems that arise within a virtual machine can be fixed by installing a new virtual machine rather then formatting the entire computer system.