Application Virtualization
May 29, 2008
I promised to do some research into Application Virtualization and how it relates to network virtualization, so here goes.
The idea behind application virtualization is that applications are not installed into user computers, but rather streamed to them on demand. Some motivations why you might want to do something like this are:
- The OS image is not modified by installing the application so the images for all users remain the same regardless of what apps they use, making it easier to maintain the images. This reduces the cost of maintaining the desktops of large numbers of users.
- The environment isolates the OS from the app, and vice versa. This might help an application run in an environment where it otherwise would not run (e.g., an applicate requiring superuser privileges to run without) or it might protect the OS or other apps from a poorly written app.
Some of the application virtualizations approaches are from
- Microsoft. The SoftGrid Application Virtualization. Streams apps to a Vista based desktop environment. Acquired from Softtricity.com in ‘06
- Citrix. Client-side Application Virtualization. Stream apps to Citrix Presentation Server (renamed to XenApp after they acquired Xen, but nothing to do with Xen other than marketing). Here is an interesting blog entry from a colleague.
A completely different approach with some of the same benefits is Google apps. Google apps run in your browser as light weight javascript based applications. Looks like the most light weight approach for the user, but of course, you have to (or rather google has to) rewrite every app.
I think there is a positive interaction between App Virtualization and Desktop Virtualization. App virtualization allows you to deploy exactly the same image to all the VMs. If the Desktop Virtualization system is able to take advantage of that (and as far as I can tell, some of them do) then this means that you can deploy a very large number of virtual desktops with very low additional memory per new desktop. Then you stream the applications to whomever needs it, and those additional bits end up also being shared by the users that use the same apps.
The implications on Network Virtualization are similar. On the one hand, you have to stream the application across the network to where it is running (the final desktop in the case of MS or the server running the virtual desktops in the case of Citrix) so that would increase the network traffic. On the other hand, the Desktop Virtualization in the Citrix system might deduplicate these bits, bringing the traffic down again. However, you have to get from the DV system to the final desktop to actually display the stuff (and carry mouse clicks back), so that’s network traffic again. So in both cases network traffic will definitely go up. The network design would at least have to take that into account for sizing purposes. Also, you have to configure the network to allow traffic from the terminal to the DV system and from the DV system to the app server (if they are not on the same machine).
Entry Filed under: Uncategorized. .
Trackback this post | Subscribe to the comments via RSS Feed