Does Client Virtualization Make Sense?
Virtualization is the current buzzword extraodinaire. It’s possible that it may eventually dethrone SOA, the champion buzzword of the decade so far. Only time will tell.
There are commentators who believe that “everything will be virtualized”. Part of me just can’t wait to try a virtual mouse, while another part of me knows that’s about as practical as a chocolate teapot. Virtualization may sound beguiling, but in the end it is just a resource allocation technique, and it is not the only such technique.
Nevertheless, it is quite possible that, at some point soon, all computers will be delivered with a hypervisor (the software that does the virtualization). It’s quite likely because Microsoft has its own hypervisor and might just add it in to Windows, and even if it doesn’t, there’s the Xen (Open Source) hypervisor that anyone can add to a server if they want, at no charge. VMware and Parallels are both available for virtualization on the PC or Mac and Ubuntu Linux bundles the KVM hypervisor. So fairly soon, it’s likely that your new computer, whether desktop or server, will turn up with a hypervisor in the same way that it now turns up with a browser. But that doesn’t mean you have to use it.
Why would you use it?
You would only use it if you wanted to make a computer appear to be several computers. You might, for example, have the hypervisor run one Linux partition and two Windows partitions. In that situation, the hypervisor runs the three OSes and each of the OSes runs the associated applications. But in terms of cpu resource utilization, the hypervisor does not come for free. It can consume as much as 30 to 40% of available cpu. The appetite for cpu varies according to the hypervisor used and the context, but it is never insignificant.
Wouldn’t it make more sense to buy computers that are exactly the right size?
Yes, of course, it would. But the computer manufacturers can only afford to make a relatively small range of computers and it makes no commercial sense to make very small units. It just so happens that for some computer users, only a fraction of a computer is required. You cannot buy a fraction of a computer, but you can virtualize.
Moving the Desktop into the Data Center
There’s a big problem out there in corporate-computer-land, which goes by the name of “the desktop”. The desktop is very expensive, even though desktop devices themselves are not particularly expensive at all. Most of the expense is in the support; managing the PC population (software upgrades, etc.) and fixing things when they go wrong. In a typical enterprise situation, the annual support cost is anywhere between 3 and 5 times the cost of the PC. You can bring this cost down by deploying intelligent desktop management software and you can bring it down even further by “moving the desktop into the data center”.
I use the expression “moving the desktop into the data center” to cover every possible means of running PCs in a client/server fashion because there are four ways of making that happen. Every one of these techniques could be described loosely as “client virtualization”, because with each, the PC is controlled from the data center and not at the desktop. In practice only one of these techniques is based on using a hypervisor and hence, only one of them is true virtualization.
The techniques are:
- Session Based Computing (SBC), as implemented using Citrix MetaFrame or Microsoft Terminal Server. Here the user is really running a session on a server. The server is running a single instance of Windows with multiple sessions. Only the screen image is actually transmitted to the user, who may have a thin client, or possibly a PC (possibly an old PC).
- OS Streaming, as implemented by Citrix using Ardence or HP using HP Image Manage. Here the user has a unique instance of Windows which is being streamed to the client device but only the software needed is streamed. Thus the Windows OS and its applications are split between the client and the server. This can be implemented using PCs on the desktop (diskless PCs and laptops are an option) and it can be implemented on thin clients.
- True Client Virtualization, as implemented using VMware (but other hypervisors could be used). Here virtual PCs (i.e. whole instances of Windows) are created on the server. So the user has what appears to be a complete PC on the server, but in reality it is virtual. The desktop can be implemented using either of a PC or a laptop or a thin client.
- The PC Blade, as implemented by IBM, HP and ClearCube. In this arrangement there is a whole PC sitting on a blade in the data center, which is not shared in any way the user has a complete PC on the server. The desktop can be implemented using either of a PC or a thin client.
Before the IT industry got the virtualization bug there were only 3 ways of doing this and only one of them, SBC, was widely deployed. However, the situation is changing and all of the other three methods are increasing in popularity. There are several reasons for this, including the fact that SBC has some limitations that these other techniques can overcome. However, each of these techniques has limitations too.
The answer to the question “does client virtualization make sense?” is “yes”, no matter which of the above techniques you mean when you say “client virtualization. The more important question is; when and where does each of these techniques make most sense?
That’s a question that I’ll try to answer in my next few postings on this topic.
This is a posting in the Virtualization Focus Series. Click here to see an index of such postings.















A lot depends on how many pc sessions the server can host (40-200)
“The server is running a single instance of Windows with multiple sessions” This is the key , synergy and economy of scale . As with Application using citrix