Thursday, April 19, 2007

What is a "Virtual Desktop" Anyway?

If you've paid one bit of attention to the IT industry at all, you've been bombarded with the concept of a "virtual desktop." To some it means streaming applications down to the desktop so users can run any app anytime. To others it means running an entire Guest OS desktop inside a virtual machine that can be hosted on a standard desktop or on a server (using solutions such as VMWare's VDI, or Microsoft's upcoming "Vista Enterprise Centralized Desktop"). Still to others it means accessing published apps via a Terminal/Presentation Server environment. Let me give you a good example of how blurred the lines are becoming.

Take a published app from a Citrix Presentation Server - the user experience is they click on an icon on the desktop and the application appears (it is actually running on a Presentation Server but is displayed in a frame around the application window). Now take a technology I saw at VMWorld where a virtual machine image is sitting on the desktop (but behind the scenes) and is accessed by VMWare's Player. The trick is the user doesn't see the entire VM player, they see only a windowed app (that is actually running within the VM). Sound familiar? It should - the user experience is exactly the same - it is only the underlying technology that differs.

So there in lies a perfect example of the confusion the IT industry as a whole is facing.

To simplify this confusion down a bit, I believe the question organizations should be asking themselves isn't "what is a virtual desktop?" but instead "what benefit will I get from a virtual desktop?" The answer is organizations perceive a virtual desktop will give them user productivity in the form of instant access to a consistent, secure and functional working environment. While that may not help you decide which type of virtualization is right for you, it should provide som clarity as to why you even care (or should care) about desktop virtualization.

While virtualization is potentially simplifying the lives of end-users by delivering a desktop that allows them to work anytime, anywhere, it is also causing more work for IT:

IT now needs to deal with users that have a physical desktop, but sometimes connect from home into a Terminal or Presentation server environment, or even perhaps utilize a virtual machine running on their personal desktop from their home that connects to work over a VPN. How is IT supposed to keep all of these desktops and user environments consistent when a given user can be using a physical, virtual or terminal desktop?

The answer lies in a desktop management solution that can not only function across all three environments, but one that also (and more importantly) can distinguish between them so that each environment can be not only appropriately configured for use, but also secured.

For example, Desktop Authority's Validation Logic has the ability to differentiate when a user is logging on from a Terminal/Presentation server, from within a VMWare Guest OS, or from any of 7 classes of physical machines (laptop, desktop, server, etc). This gives IT a tremendous amount of power to properly configure each user based on (among other things) the type of environment (physical/virtual/terminal) the user is currently using.

So while the industry continues to jump on the Virtual Desktop bandwagon, adding in "yet another form of virtual desktop" to expand the already confused borders of definition, keep in mind that you will be needing, no matter the virtualization method, a way to manage those desktops.

1 comments:

Jeremy said...

The borders are blurred completely. That alone is enough to confuse us, the users. No matter if we are the admins or the those regular users that will be at that end point, where all this virtualization is targeted to. Both categories are first of all, the users.

Say as an admin, I am interested in getting to know how canI deliver the applications to user in the best way. The best way, as I see it, is to satisfy the both sides of the problem and to solve the problem at the both ends. What I am asked to do in my role, is to keep our environment secure and make easy to use for users. As a user I want to spend less time accessing the tools I need in my work and at the same time I want more space to do my work.

I mean, as the user I don't want my app to tell me I have no specific right to do something, so that I need call the help desk and wait until my request will be handled there. Does wonders for productivity!

So yes, the benefit is the core thing, agreed. From all points of view. One of the main things I need to do is to provide my boss the justification of what a project will provide in terms of ROI, if we will buy one thing or other.

What if we will go off in one direction, and then, after completing with implementation, we will realize that way we have chosen is not the right way or not the “best way”. Will the move have an impact? Yes. But what the impact it will be?

Desktop management, yeah, it's interesting thing. But, again, you need to see the benefit. I remember, the fellow telling me that batch scripting will make your management easier. A-ha... In general, he's probably right. But with particular cases when you realize that you will need to rewrite the whole bunch of scripts you just have completed work on?... that ... can get you stuck.

The ability of your software to distinguish between environments sounds interesting. But then I have a question. Again about the notorius flexibility issue.

Having the ability to proceed with P2V and V2P operation, is it possible to 'freeze' the user and keep him away from being affected by the move? What if we decide to convert a few physical machines to virtual? Is it possible to abstract the user from the process?

Is it possible to move all user settings from one environment to another and keep it untouched and functional? Is it possible that the user will get his settings back when we move his environment from the physical to the virtual?

J.