A smaller umbrella term within the larger umbrella term of "virtualization." It refers to several techniques that make running applications more protected, more flexible or easier to manage.|
Modern operating systems attempt to keep programs isolated from each other. If one program crashes, the remaining programs generally keep running. However, bugs in the operating system or applications can cause the entire system to come to a screeching halt or, at least, impede other operations. This is the major reason virtualization became desirable.
The terms "virtual" and "virtualization" are very popular and are used to convey that previous boundaries have been extended. Following are several application virtualization definitions. See virtualization, network virtualization and storage virtualization.
Rather than installing all applications in every user's machine, applications are delivered to each user's PC as needed. This enables the applications to be updated centrally and also provides a way to measure each users' application requirements over time. See application streaming.
Terminals to a Central Computer
The oldest network architecture, all applications and data are stored in a centralized server or cluster of servers. The user's PC functions like a terminal to the server or dedicated terminals are used. The applications are said to be "virtualized" because they function as if they were running on the client. See thin client.
Partition the Hardware
This is the traditional meaning of "virtualization" and refers to partitioning a computer in order to run several applications without interference, each in their own "virtual machine." Deployed in servers and clients, this is more accurately called "server virtualization" and "client virtualization." Contrast with OS virtualization. See virtual machine.
Write the Program Once, Run Everywhere
An interpreted programming language enables the same program to run on different machine platforms, with Java and Visual Basic being the major examples (see Java Virtual Machine and Visual Basic). The applications are said to be "virtualized" because they run on any platform that has a runtime engine for that language.
Dynamic Application Assignment
This approach treats servers in the datacenter as a pool of operating system resources and assigns those resources to applications based on demand in real time. The pioneer in this area is Data Synapse Inc. (see FabricServer). The applications are said to be "virtualized" because they can be run in any server.