Application streaming is the process of streaming an application to a server or end-point client device (i.e., a PC or laptop or even a thin client in some instances, depending on licensing and the actual footprint of the application). In this tip, I want to focus on explaining the three most important things you should know about app streaming.
There are more than three things to know, but for the sake of time (because analyzing all of the current offerings on the market today would take me a year) I am focusing on Citrix's XenApp. That is not to say that VMware's ThinApp (previously Thinstall) is perfect or that Symantec's AppStream is flawless. I am focusing on Citrix's XenApp simply because I have the most exposure and knowledge about it.
The benefits of application streaming
First, the general benefits of streaming include centralized management and updating/patching the application profile in one location and automatic deployment of updates upon launch. This keeps the administrator's tasks to a minimum instead of having to touch every server or end-user desktop and update or patch it. In this sense, it reduces desktop support. Citrix also allows offline access to licensing, so if end-point customers are using it, administrators can have very granular control.
Also, if there is a Citrix farm outage, your users still have access to their applications as long as they have been granted the correct permissions by the administrator of the XenApp farm. When you stream an app to end users, it is basically running locally. You can give them offline access to their cached, streamed applications, so even if the farm itself is offline, the user can still use the cached application. This is a very cool feature.
The perils of application streaming
However, application streaming has its issues.
For example, Citrix's XenApp has three issues that come to mind:
- Service support
- DCOM support
- Printer driver support
If you have applications with module dependencies on any and of those three, then the applications just won't work. When you try to launch any modules within the streamed application that have any of these dependencies, the feature will not launch. I am over simplifying here because some applications' modules will work without the particular services. It just depends on the application and what you mean by services. Specifically, it won't launch if you are working with an application that needs a local service to support it. That is where you hit the wall.
Another thing you should know is that there are no enterprise-class companies that currently support Linux or Macintosh application streaming. This means that there are fewer options for end users when it comes to anything other than Windows XP or Vista for streaming applications. That's because of all of the API calls required on the client device operating systems for the streamed applications and because most agents do not support Mac and Linux.
Linux can help lower total cost of ownership
The cool thing about Linux is that you don't have to pay for licensing on the client device in most cases because it is usually open source. More customers are becoming interested in it because of the lack of maintenance or TCO involved in owning it. It is also starting to look more like Windows, even though there is a significant difference in how you navigate. But because of all the required API calls in a streaming solution, a lot of companies are reluctant to get into this space.
When you ask companies such as Microsoft and Citrix why you can't stream successfully to operating systems other than Microsoft Windows-based client OSes, the first thing they ask is, "What's the use case?"
Well, in my mind, streaming to Linux or Macintosh has the same use case as streaming an application to Microsoft XP or Vista. It allows for a ubiquitous end user experience. Any client OS they login from would provide the same experience. If some of these companies would be a little less afraid of competition and would cooperate with each other more around integration and the end-user experience -- which, at the end of the day is what is most important there would be consistency. Plus, it would give end users more options and control over what they use as an operating system. Joseph Nord, the senior architect for streaming at Citrix Systems has blogged about this in great detail.
About the author: Glenda Canfield, MCSE, is an expert on virtualization in the enterprise and has more than 10 years of experience designing and supporting on-demand data centers. Her experience includes large distributed data centers with concurrent Citrix connections in the tens of thousands. Glenda is also an expert speaker, with experience presenting at major Citrix and desktop virtualization conferences, including Citrix Summit 2008 and BriForum 2008. Glenda currently works for ComputerTech, based in Richardson, Texas.
Dig deeper on Application virtualization and streaming