Enterprises have long understood that every application can't be distributed to the desktop and run locally. Reasons for this restriction range from performance issues through data security issues to problems with licensing costs.
Most companies have adopted client/server architectures to divide applications into two categories: those that can run locally and those that should be centralized. Recent technological advances and the plummeting cost of broadband access have shifted the equation in favor of doing more off the desktop. This recent development demands a new IT architecture that is even less client-centric than the "client/server" architecture. In this arrangement, the role of the PC is to act as a virtual host for applications largely run elsewhere. It's from this role that the concept of "virtual desktops" is derived.
Early approaches to creating virtual desktops as a substitute for normal PCs were based on "thin clients," which were little more than terminal devices that provided a browser the capability to access applications elsewhere. The thin-client concept didn't gain much success since high costs and scarcity of network bandwidth made offloading applications to a central point a performance and reliability problem for users. The expansion of broadband Internet services has largely solved these problems. IT specialists are now looking for ways to exploit virtual desktop capability in a modern application framework.
Two application frameworks that support virtual desktop
One primary application framework that supports virtual desktops is Software-as-a-Service (SaaS). In this setup, the application is hosted remotely; a virtual desktop that might be running on a desktop, laptop, notebook, PDA or smartphone accesses the application. This is a form of application outsourcing, because the "service" accesses an application.
The second framework for virtual desktops is much newer and, for many organizations, more exciting. Cloud computing is a form of IT resource hosting in which the computing platform (hardware, storage, OS) is hosted. In cloud computing applications, the company committing to cloud computing supplies applications that "run in the cloud."
The SaaS and cloud computing paradigms are often confusing. The fact is that more SaaS providers are adopting cloud computing principles to host their applications. Some are offering cloud computing services in parallel with their more mature SaaS options. The goal is to create a diffuse set of resources that, like the trunks and routers in an IP network, is allocated for whatever is needed at any particular time.
The resources of a cloud network form a pool that's available (based on policies) to any user or application. This not only generates the best possible economy of scale, it also increases reliability and availability, accommodates shifts in demand that come with time zone changes, etc. A cloud computing environment is to an enterprise data center what the Internet is to a leased line.
The limitless world of cloud computing
The largest benefit of cloud computing, in supporting the notion of a virtual desktop, is that cloud computing has no specific limitations on applications, number of users, traffic volumes, etc. The resources in the cloud are elastic, so demands can be expanded and reduced as business activity dictates. Applications could, in theory, run in a variety of places worldwide -- with computing power migrating around the cloud to support all of the business' needs.
However, this is only in theory because there is no determined standard for what constitutes cloud computing, not even to the point of defining its necessary properties. There are no set methods to interface with applications in the cloud, no rules on storing data or adding or removing processing capacity.
Each cloud computing framework has its own rules and procedures for controlling resources, and each will have its own structure of charges as well. Fortunately, there are some factors that emerge as common capabilities -- and issues -- as you leave the cloud and approach the virtual desktop.
The SOA approach to virtual desktops
Effective desktop virtualization demands that applications interface with users in some technology-neutral way so that differences in the GUI won't compromise the application's interface through the GUI to the user. The most popular approach to this is a form of service-oriented architecture (SOA), also sometimes referred to as the use of "Web services" in the interface.
The basic notion of SOA/Web services is to divide applications into logical components that have their own limited data interface. Those pieces can then be "composed" into a display based on the information needs of the user and limitations of the device through which the user is gaining access to the network.
SOA is an implementation standard with a variety of implementation choices. Some choices are very "loose" SOA applications like Google Apps, where the virtual desktop is little more than a browser. These resemble thin-client applications of the past. Others are tighter applications that encompass Oasis Web Services and SOAP (Simple Object Access Protocol) standards, which may permit more computing and storage functions to be distributed to the virtual desktop. IBM, Microsoft, Oracle, SAP and other enterprise software vendors often support the second approach; many also support the loose or thin-client approach.
Virtual desktop tools can create a worker's view of the applications and information that the worker might need -- his "jobspace" -- from cloud-hosted resources that can access applications in some service-oriented way. Thus, the SOA framework of exchange between workers and applications is the common planning element for the "supply side" of cloud computing (hosting and resource policies) and the "consumption side" (user identity and security, interface mashups and composition, etc.).
SOA is a general trend in software development. Because of this, most enterprise application software also supports SOA. The same is true for SaaS offerings. This convergence of SOA allows virtual desktops to draw application resources from data centers, software providers and the cloud, and creates the most flexible framework for matching IT resources to business needs.
|ABOUT THE AUTHOR:|
| Tom Nolle
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 the publisher of Netwatcher, a journal in advanced telecommunications strategy issues.