



User environment virtualization is not a concept I had heard of before a week ago.
Desktop virtualization seems all the rage within organisations currently. As a consultant I float around between companies and although my focus is the development space, I often overhear other goings-on within the IT departments and this is certainly a big focus for a lot of medium-large businesses and government agencies. Desktop virtualization is about separating the desktop operating environment from the underlying hardware, keeping this ‘virtualized desktop’ on a central server. Some examples of desktop virtualization are Citrix XenDesktop and Sun Virtual Desktop Infrastructure.
Application virtualization is certainly nothing new either. This is about separating the application from the desktop environment, installing applications on demand or through streaming to the desktop environment as requested. App virtualization has been around for a long time in some form or another. Some current examples of app virtualization products include Citrix XenApp and Novell ZENworks Application Virtualization.
The advantages of both of these technologies is that you can move from workstation to workstation, taking your desktop or applications (or both) with you.
But there is something missing here, something I will try to illustrate with an example. In this scenario your organisation makes use of application virtualization. Your user ‘Michelle’ is a .Net developer and needs to move from one workstation to another. After she logs in to her new workstation, the apps for which she has licenses are delivered to her new desktop. Unfortunately she has to reconfigure her new desktop and customise the applications to her preferred settings. Michelle sets her web browser homepage and because her company doesn’t use roaming desktops, she needs to insert her browser favourites again. When she opens MS Word she needs to change her default template. Finally she opens Visual Studio and is facing all the vanilla defaults. She needs to install a special code colouring theme that helps her eyes adjust, and rearranges all the dockable windows into the spots she prefers. Of course, SQL Management Studio has no idea about her default connections – they were stored on the other machine, so she needs to add them again, except of course she can’t remember them all.
I think you get the idea. User specific environment settings are pretty important. Every single application we use has some sort of customisable settings, and most power users find it a hassle (and lose productivity) when they need to reconfigure those applications. As a software developers, I can (and have done) write settings providers and store those settings in a central repository. That’s great for our app, but it does little to help a user with their other apps, and more importantly, doesn’t help consolidating user settings. It makes sense to have a unifying solution that can abstract the settings from our applications. That’s where AppSense steps in.
Last week I had a chat with the VP of Strategy at AppSense, Martin Ingram. Martin led me through the product suite and we had a good chat about cloud computing in general before focusing on the product itself. AppSense is about environment virtualization, centralising settings for all your applications such that they are available wherever you login, regardless of your organisation’s Desktop and Application Virtualization strategies (or lack there of). Quoting the AppSense Environment Manager product page:
AppSense Environment Manager provides users with a ‘follow me’ personality – providing the same managed yet personal experience regardless of how the desktop is delivered. Combinations of virtual, local, published, streamed and provisioned desktop components are dynamically personalized as the employee uses them – enabling IT to use best of breed technologies without having to worry about consistency of user experience.
What I thought was really cool about AppSense is the operating system abstraction. Imagine if you moved over to a Mac and you still received the same application settings! Or perhaps you aren’t using any desktop or app virtualization at all, and want your standard installed application settings transferred to a new workstation if that app is installed. AppSense does all this and more.
Here’s how it works. An agent (on PC its a Windows Service) is installed that talks back to a centralised service. This agent has hooks in the operating system that let it intercept reads/writes to all the places where configuration can occur: registray, file system, and even database calls (with a little configuration). Those settings are then abstracted to a neutral XML format, and stored in a database (for versioning reasons). When the user logs in to another machine with a different OS, the agent on that machine knows how to convert the XML back into the appropriate settings for that OS type. To me, it appears to be a very pluggable model.
The great thing about the implementation is that it allows environment virtualization delivery from anywhere, making it a great fit for the cloud. The actual payload (XML) is quite small because the local agent does all the work. They are also considering/prototyping some more enterprise agnostic solutions to environment virtualization and delivery for the common user. I look forward to seeing where they can take the product. I’ve already told Martin that as a consultant I find myself on a different computer every week as I move between clients. Environment virtualization is ideal for me because I have so many apps that I need to configure that I tend to stick with vanilla defaults. Why should I have to make that compromise? I’m imagining an AppSense online profile where with a simple click I can have my local workstation configured exactly how I like it, no matter where I am.
AppSense currently has about 180 employees world wide and seems to be the leader in this field. Their Environment manager product is somewhat unique although there are similar offerings available. It is written in C# and C++, and the development team seems to have adopted some Agile principles. They use TFS for source control, reporting and item tracking, and have even extended it through its APIs to better support their process.
If you think your organisation needs user environment virutliazation, I suggest you go check out AppSense.










More Options ...

Categories
Tag Cloud
Blog RSS
Comments RSS

Void
Life
Earth
Wind « Default
Water
Fire
Light 
4:13 am - April 6th, 2010
[...] Above The Cloud » Blog Archive » User Environment Virtualization azure.snagy.name/blog/?p=185 – view page – cached .NET Services Amazon AWS Azure Beginner BizTalk Services Blog CDN Cloud CloudFront Competition CTP Definition development EC2 Edit WCF Configuration Enterprise Service Bus ESB Europe F# Fabric Controller full trust geolocation GoGrid IMetadataExchange Internet Service Bus Internet Service Bus Pattern ISB Live Services Mailing list Mesh Microsoft Multitenant presentation pricing S3 SDK… Read more.NET Services Amazon AWS Azure Beginner BizTalk Services Blog CDN Cloud CloudFront Competition CTP Definition development EC2 Edit WCF Configuration Enterprise Service Bus ESB Europe F# Fabric Controller full trust geolocation GoGrid IMetadataExchange Internet Service Bus Internet Service Bus Pattern ISB Live Services Mailing list Mesh Microsoft Multitenant presentation pricing S3 SDK Services storage Training Kit VM WCF Test Client Web Web Role Worker Role View page Filter tweets [...]
8:41 am - April 6th, 2010
Would also suggest looking at Symantec Workspace Virtualization (SWV) as an Application Virtualization solution. In my opinion, it compares favorably to the Citrix and Novell solutions mentioned here.
8:10 pm - April 7th, 2010
[...] [...]