10-29-2007 08:57 PM
Sumit Dhawan writes:

Users love desktops for most part – desktop makes it easy for users to access and use their apps and data. Performance of desktops, however, still remains a mystery for users. Talk to users (not from tech industry) and they will always give you some interesting comments like:

“My computer is working slow today”
“When I close this app, I have to restart my computer – it becomes really slow”
“I restart my computer every 2-3 days because it becomes too slow”

And, then there is app compatibility challenges for users and IT. IT spends a significant percentage of their budget on app compatibility (the best example I have is for a large enterprise with 10,000 apps spends about a $1M per month – probably an exception). And, after spending all this effort and money on app compatibility, users still deal with random problems of printers disappearing or having to restart computers randomly when they see cryptic DLL messages.

Users have grudgingly started to diagnose and ‘fix’ the problems themselves by rebooting. Of course, IT in most of these cases doesnt even know about the problems unless the problems are really bad.

If you wonder what the cause is for all these performance problems or application packaging, I believe it is a problem that we dont think of – hard coding apps to desktops. We all think – installing apps on desktops is normal. But, that’s where the problems start. Problems range from install time app conflicts to run time issues like conficts, no clean up, overwriting stuff that should not be, etc. Application Deployment on to the desktop, in my opinion, is the cause of all the problems.

I dont have any empirical proof to support my opinion – except some data points:

1. When does a desktop perform the best? When you install it first from the CD. Apps, bloatware, etc. turn it slow and bulky. Most users know this – our home PCs start in few seconds when you buy it new and it can take minutes after about 6 months.
2. Servers with few well managed apps continue to perform well and do not exhibit this problem – remember servers are running the same O/S (just not the same desktop).

So, I have to believe that it is the apps that are the cause of all the desktop problems. But it is unfair, desktop is such a complex and comprehensive thing that has to not only run as an app itself but also manage all other apps on the O/S. Not sure if we have a desktop o/s built to meet those harsh requirements. Regardless, the Windows desktop is not.

How is this related to desktop virtualization? Desktop virtualization involves putting desktops in the data center. That just means you are moving the whole app deployment problem in the data center. Not good! My recommendation would be that while you are taking the action of putting desktop in the data center, have a strategy on you will separate your apps and desktops. Keeping your desktops clean – no apps deployed, you will be able to sustain the high performance of Windows like it comes out of the box and cut down on the IT operations on app compatibility significantly. What I mean by separation of app and desktop is – you should virtualize all your windows apps, either by client side app virtualization (a.k.a isolation environments ) or server side app virtualization (a.k.a Server Based Computing). Separating/isolating/virtualizing your apps will make your virtual desktops humming.

What am I missing here? Are you thinking about separating your apps and desktops as you move to virtual desktops?