Accelerating the Move to Cloud-Based Client Computing
Delivering personality into the standardized desktop is essential
By: Martin Ingram
Apr. 13, 2009 05:00 PM
For a long time we have known that corporate use of PCs is inefficient and overly expensive: analysts estimate that a typical PC costs around three times as much as its purchase price to manage over the PC's lifetime. But, until recently, there has been little that organizations could do to change the situation while still delivering acceptable service. Virtualization has changed this in a number of important ways: the physical PC need no longer be the key delivery mechanism and, hence, images can be hosted pretty much anywhere. Essentially, we can host copies of a client operating system and deliver a display protocol to users over the network. However, as with many things, the devil and the opportunity are in the details. Let's look in more detail at how cloud-hosted clients can work today and how changes underway will improve the situation in the future.
Today, we can move desktops into the cloud and manage them in much the same way that we currently manage physical machines. A service provider can build a system to deliver client desktops hosted in the cloud. A customer organization can provide copies of its gold build desktops to the provider, who would replicate them for each users and then allocate an image to every user the first time they connect. From that time on the users will be linked to that same image each time they connect. Behind the scenes, the provider will take care of all of the housekeeping, such as:
The attraction of this system is that it is very similar to the current ways of operating and, therefore, familiar to IT organizations: users own a desktop image, the image is patched with existing tools and, at the end of the virtual machine's life, standard processes can be used for the destruction of the image. Not that implementing such a system is easy. As with any new way of working, there are problems to be solved: in this case, who is going to be responsible for each step of the image lifecycle from creation through patching, maintenance and support to eventual destruction and, ultimately, who takes responsibility for any failures.
The strength of this approach - its similarities to current practices - is also its real weakness: it does not change the model sufficiently enough to really change the economics of client computing. If we look at the details of a solution such as this, on the positive side we see that the customer can benefit from the economies of scale that a cloud provider can bring in terms of offering servers cheaply and, if users are widely dispersed, then the provider's networking strength could deliver a better interactive experience than could be achieved if the customer organization was hosting the servers internally. On the downside, the PC still needs to be managed in much the same way as before. While we have reduced the need for desk-side support, we have added a new layer of administration between the customer organization and the provider. Hence, this solution will play well in situations where there is some additional benefit of moving user desktops to a provider and out of the customer organization, such as numbers of widely dispersed users outside the LAN, but not more generally.
I like to think of the above as a "first-stage" approach to desktop hosting because, while it can work, it does not deliver the level of benefit needed to become a solution for the majority of organizations or users in those organizations. The key to the next, higher-value, solution is to recognize that virtualization is a far more powerful concept than just providing a way to run multiple virtual machines on a server. Because of the isolation that virtualization provides, we can think of it as separating and keeping separate the different components of a user's desktop. Instead of thinking of each user as having a software image and managing that as an individual unique asset, recognize that all the users' images are basically the same with some select differences. In this way, we get to benefit from economies of scale across all that is similar and just manage the differences that make each user think that their machine is "theirs."
How does this work in practice? Each time a user logs on she is given a clean copy of an operating system with a standard set of applications already installed. You can think of this as being similar to the gold image that we might have cloned in a first-stage implementation, except that here we make fresh images every time the user logs on rather than just as a one-time thing. This has the side benefit of making patch management and delivery far simpler and less error-prone. Rather than having to patch each and every user image, many of which may be so far from standard that patching fails, we just patch the gold image - the user will get it next time they log on.
The standard image contains the applications that the organization wants delivered to that user, with the exception of any hosted or streamed applications that are delivered into the image in the normal way. It's important not to confuse this completely standardized image with a desktop that the user would find acceptable and productive. At this stage, the desktop is not configured or personalized for the user. This is acceptable as a one-off occurrence, but would be unacceptable if users had to configure their machines each time they logged on - users would not tolerate the diminished experience and the business would not want users wasting time each day making the machine productive. The key is to be able to set up and personalize the standard machine without the user being aware and without taxing IT organizations and resources. This is known as delivering the "personality" to the machine on-demand. The personality contains everything that makes a machine unique for a user. By managing each personality separately from the underlying operating system and applications, you standardize them while giving users a familiar working environment. A simple way to envision this is to think of the operating system as providing the base layer of client computing with the applications being a layer above, and the personality being the third layer on top. Hence, we see that there are three layers to the virtualized desktop and talk in terms of how each is delivered.
We have mentioned how the operating system will be delivered by making a fresh copy and loading it onto a hypervisor each time the user logs on, and about application delivery, both in terms of installed and hosted or virtualized applications, but we have not talked about the delivery of personality. For the operating system and applications, it's easy to see how virtualization keeps the layers separate so that they can be delivered independently. In order to deliver personality, we must first abstract it from the user environment. Once this is done, the personality can be centrally managed and subsequently delivered back when the user next logs on. One difference between the way that the bottom two layers are managed and the way personality is managed is that the personality data is typically more dynamic than the other standardized layers, reflecting users' continued use and refinement of their environments. The delivery of personality can be effectively handled by a User Environment Management product, which takes care of personality abstraction, management and delivery across all of the application delivery technologies.
The personality contains two different types of information that are necessary to deliver a familiar desktop to users. First are policy items. Policy items consist of all the configuration and setup of the machine that is necessary for it to work in the broader environment. For providers, some of this will include things such as network configurations to work with the provider's infrastructure, but the majority will be customer-specific and will break down into fine-grained detail about how the machine is to work. Examples of policy items include controlling where data is stored, setting up access to particular email servers, and detailed configuration of applications. It also includes the ability to restrict user capabilities when these are not required by the user, for security reasons or for a more general operational requirement.
The second aspect of personality is personalization. Personalization is a myriad of small things that make each user productive and gives them a comfortable, personal place to work. Personalization contains all the changes that users have made to their machines to make them comfortable and productive. In some highly regulated environments, users may not be allowed to personalize their machines, but the majority of enterprise users expect to personalize their working environment. For instance, they expect to be able to make comfort changes such as setting desktop images, having a favorites list in their browser and an IM client that logs on automatically. Productivity personalization covers a very wide range but a representative sample includes the ability to set an email signature block, toolbar positions in applications, language selections, and a variety of preferences across all their applications.
Short term, cloud-delivered desktops fit the "first-stage" model where each user has an image allocated to him once and takes that image forward, much like a traditional PC. However, this model will not deliver sufficient benefits for more general, wide-scale deployment. The key to being able to deliver desktops from the cloud is to make use of the economies of scale that can be achieved by standardizing the deliverables across as many users as possible. That scaling is only possible by taking a component-based view of client computing and assembling those components dynamically for the user. However, in the move to standardize we must remember that we are delivering a product - a user's desktop - that is personal to that user. Delivering personality into the standardized desktop is essential to get user acceptance of cloud-delivered desktops. It is only with "standard plus personality" that we will see real success and adoption of cloud-hosted desktops.
Reader Feedback: Page 1 of 1
Latest Cloud Developer Stories
Subscribe to the World's Most Powerful Newsletters
Subscribe to Our Rss Feeds & Get Your SYS-CON News Live!
SYS-CON Featured Whitepapers
Most Read This Week