In the last five years, three specific client computing technologies have emerged to revolutionize how businesses think of supporting their workers with IT applications: Virtual desktops, Software as a Service and application virtualization. Each of these methods has value, but the best choice for a given company will depend on how the company balances the issues and costs with the benefits.
Virtual desktops can allow servers to support applications that are normally run on a desktop system, thus centralizing the application tools and making them easier and cheaper to maintain. When coupled with SOA techniques, virtual desktops even allow for per-worker information mashups to improve productivity.
The first uses of virtual desktops were really about allowing a separation of the GUI from the application to allow a worker to run applications from any convenient system and keep the applications hosted in a primary site. Citrix, for example, pioneered tools to let users on any system access applications that were run on either their own desktop computer or on some "virtual application server" located in a site that was convenient to administer. Over time, virtual desktops have evolved to include the ability to "mash up" pieces of multiple application GUIs into a single screen to customize how a worker accesses and uses information.
The mashup connection means that virtual desktops have a strong productivity enhancement benefit that is combined with any support and installation advantages it presents. In many organizations, this makes virtual desktops an easier concept to sell to management. Virtual desktops are also a vital component of desktop system virtualization, provided by both VMware and Sun/Oracle, because it allows the GUI to be shared by several virtual machines running on the same desktop. Finally, virtual desktops are easily integrated with SOA where applications have been created as services using the Web Services standards or other SOA standards.
Software as a Service (SaaS) takes both routing applications, like word processing, and specialized applications, like CRM, and makes them available from third-party providers, eliminating the need to invest in and support even the server side.
SaaS is more than a support issue; it's also aimed at reducing the hardware and software cost of supporting an application by having the entire application hosted by a third-party provider and accessed through a VPN or the Internet. Salesforce.com is the most recognized name in SaaS, but Google Apps and other offerings aimed at personal productivity are also widely used. Email-as-a-service is becoming increasingly popular as well.
With SaaS, the user is neither responsible for buying and installing the application nor with maintaining its operations, so the support burden is the lowest of any of the client-side options. For large enterprises and applications run regularly by a big percentage of the workers, SaaS, which normally charges by the "seat," can be expensive.
Application virtualization simplifies how applications are installed and run, allowing workers to retain their current computers but supports them more efficiently.
Application virtualization is perhaps the most complex of the three approaches. Application virtualization converts applications that were designed to be run on a normal desktop/laptop system into a form that can be "streamed" to a special client application running on another computer, a process called "packaging" or "sequencing." This eliminates local registry and configuration dependencies so the application can be run anywhere, and also eliminates the risk of registry conflicts and configuration errors.
Which client computing technology is best?
Of the three approaches, virtual desktops are probably the most flexible and address the widest possible benefit case, but may also require the most setup and management. SaaS has the lowest support cost but the highest incremental per-user cost and is most likely to be valuable for SMBs or applications that are specialized enough that hosting them on internal IT facilities may not be justified. Application virtualization is the best way to address support centralization for a set of specialized applications designed to be run on desktop systems and used by workers in a variety of settings, on a variety of different PCs.
In many cases both application virtualization and SaaS can be made compatible with virtual desktop implementations, and companies with a variety of software tools and a need to manage support costs may want to view virtual desktops as the high-level concept, into which the other two are introduced as appropriate.
ABOUT THE AUTHOR:
Tom Nolle is president of CIMI Corporation, a strategic consulting firm specializing in telecommunications and data communications since 1982. He is a member of the IEEE, ACM, Telemanagement Forum, and the IPsphere Forum, and is the publisher of Netwatcher, a journal in advanced telecommunications strategy issues.