Israel Pagan's Blog
12 Feb 2008 04:33 PM EST
posted by Israel Pagan

Here is what I think VDI means - but I'd love to hear your opinion (maybe we will run a poll to get your thoughts about VDI).

VDI is an architecture or a computing model, running desktops on a virtualization infrastructure in the data center and virtually delivering them to end points anywhere. Minimal components of VDI are:

1. Virtualization infrastructure that can host virtual desktops in the data center

2. Windows desktops running in a virtual machine

3. Desktop delivery - including brokering and protocol to connect users to their virtual desktops from anywhere seamlessly

4. End point devices capable of receiving virtual desktops

5. Servers to run virtual desktops

I am sure different vendors will have their own offerings to extend the above list. For example - Citrix XenDesktop contains virtual desktop provisioning technologies for IT to be able to easily manage their virtual desktop image (SOE) without cloning and dealing with clone-sprawl.

I have seen that the understanding for VDI and desktop virtualization has grown significantly during 2007. Now, we are getting to a point where we need to standardize on terminology for more customers to be able to better understand the technology and associated benefits.

Permalink | Comments (0) |
12 Feb 2008 04:29 PM EST
posted by Israel Pagan

Lots of technology choices come down to that. Standardization is easier for IT, but can constrain how users work. Flexibility may make users more productive, but also require more exceptions and workarounds burdening IT. Are virtual desktops any different?

Well, it depends how you implement them. If you want standardization, provisioning virtual desktops can make standardization extremely easy. Duplicate an existing desktop, assign a unique ID and tell the connection broker. Done. If you stream the OS image from a common image that is easily maintained, IT cycles should be greatly reduced.

If you want customization, virtual desktops can allow each user a unique instance of the OS to modify to their hearts' content. Ok, you'll have a huge number of OS images to maintain and there aren't enough tools to automate that today, but each user gets flexibility.

What if you want standardization and flexibility? Can each user have their cake and IT eat it, too? Potentially, yes. First, when the OS image is streamed into a virtual machine from a standard "gold" image, Citrix can provide a personalization profile, so the users' configuration customizations are reapplied every time. This preserves the efficiency of one OS image to maintain, but lets users set the desktop up according to what works best for them. Then, the Windows applications beyond the standard desktop are either streamed in by Presentation Server, or virtualized and served by Presentation Server. This allows IT to provide a menu of hundreds of applications, without having to bloat the common desktop image. The virtual desktops can also have "instant on" capability and other enhancements to make user experience even better.

While IT occasionally has to make a difficult choice about practicality of maintaining something versus the productivity benefits to users, virtual desktops may well minimize that tension, and potentially improve both at the same time.

What are your hopes or concerns for how virtual desktops impact maintainability and user productivity?

Permalink | Comments (0) |
12 Feb 2008 04:24 PM EST
posted by Israel Pagan

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?

Permalink | Comments (0) |