Virtualization is a way to abstract applications and their underlying components away from the hardware supporting them. The goal usually is one of the following: higher levels of performance, scalability, reliability or to create a unified security or management domain. How does this relate to access to applications?
In the past, applications were written to support a specific type of user access device - usually a terminal of some sort and later on a PC running terminal emulation software.
As PC's became more powerful, portions of applications were implemented on the PC and client/server computing was born. At first, it was merely the user interface. Later on, quite a bit of the application migrated to the desktop or portable system.
While this improved the responsiveness of applications and offloaded expensive servers, it created other problems in the areas of security, system management and compatibility. Individuals often wanted to adopt the newest technology before the organization's IT staff was really ready. Critical data resided on self-managed systems and may not have been backed up. Users, unaware of or unwilling to follow security precautions, could introduce viruses, worms or other risks into the corporate network.
In order to address these problems, some organizations have re-centralized these applications or application components onto systems located in corporate or regional data centers. Users were able to access these applications using virtual access software.
Virtual access software offered a number of important features to organizations. Including the following.
Some organizations have installed special-purpose software such as Citrix Metaframe or Windows Remote Access others have chosen a Web Browser as the remote access mechanism and have moved towards a Web-based environment.
Which approach does your organization use? Have you personally been happy with this approach? If not, what would you do to improve it?