Citrix Streaming vs Application Installation best practice
Terminal Server June 3rd, 2009Citrix say that best practice is to always stream your applications and only to install them as a last resort, I think there are at least a few occasions where the right thing to do isn’t to stream first and I thought I’d have a go at looking at those situations.
Last week I watched a webinar by Daniel Feller who is the “Server, desktop and application virtualization senior architect from Citrix” and he went into why it might be a good idea to stream all your apps. He did say that since it normally wasn’t possible to stream all apps, mixed mode environments were what you would expect, with some streamed and some installed applications.
If you want to watch the webinar its recorded here TechTalk: Fact vs. Fiction: The Truth about App Compatibility & Citrix.
I like to keep things as simple as possible and anticipating using two technologies to put apps onto a Citrix server seems the wrong way to me, I’d much rather just use one.
As streaming can’t cope with drivers, services or apps that license based on MAC address you are likely to get at least a few that are not suitable for streaming.
Installing has a much higher hit rate than Streaming, most of the issues around multi user apps have now been solved including DLL Hell.
I’d say your first impulse should be to install your apps, if you think you can get them all without any silos. So columns one and two should be reversed.
If you need help getting your apps to work, have a look at this application validation toolkit
When installing applications you need a reliable way to build and re-build servers, re-install and update apps, while it is possible to script, a more reliable method should be used. You could use a generic server build tools or there are more specialist advanced building tools available from Citrix partners.
On a separate note, if you are interested in VDI or Terminal server solutions you could do a lot worse than look at Terminal Server and XenApp tuning tips recently published by Pierre Marmignon
June 3rd, 2009 at 3:14 pm
[...] This post was Twitted by citrixreadiness – Real-url.org [...]
June 3rd, 2009 at 3:32 pm
Couldnt agree with you more Jim. I never understood the push for application streaming, both on XenApp and for VDI. If applications can be packaged and installed on the servers, I would think thats the best approach since as you rightly pointed out, applications generally are designed to be installed. I dont understand that benefit of streaming over installed apps, unless it is an exception when you need to support multiple versions of an application etc, but these are exceptions and should be treated as exceptions. I have seen quite a few presentations from Citrix on streaming (both XenApp and Xendesktop) and they keep pushing the case for streaming. I am frankly not convinced.
In the case of VDI, i would rather just host the apps on the XenApp servers and use traditional PNA instead of streaming. Ofcourse, offline access is something that is an exception. But we are not there yet.
June 3rd, 2009 at 7:36 pm
[...] This post was Twitted by pmarmignon – Real-url.org [...]
June 9th, 2009 at 9:14 pm
Great feedback on my session. Believe it or not, i do agree with you. First, I have a general problem with best practices, people take them as the holy grail. You must do it this way or else. Unfortunately, people love best practices and they want them. But just about every best practice is more like an if/then.
Now to app streaming. When I talk about app streaming, i think it is a great idea but still has shortcomings.
1 We can’t do every app.
2 It adds overhead.
Installing has shortcomings
1 We can’t do every app
2 Lack of seamless updates/maintenance
I could have spent an entire Citrix TechTalk session on when to stream apps and when not to. For example, you if I had dedicated XenApp servers hosting a medical app like Cerner or Epic, i would end up installing it. Easy, no overhead, gives me better scalability on XenApp servers. If i was just deploying Office on XenApp servers doing other things, I would probably install it as well.
However, i think both of these are very simple examples. Many of the environments I’m looking at are very complex enterprise deployments. Organizations what to host a majority of their apps on XenApp, but they also have mobile and offline users. This is one of the big benefits for App Streaming, which is why I use it extensively. One application profile for all my XenApp servers and offline users.
On the case for simplicity, I’ve seen people get many apps working by tweaking/hacking the system or end up with complex silo configurations. I’ve seen these same apps work out-of-the-box when they are streamed helping to reduce the # of XenApp silos. My experience tells me to go for simplicity, but simplicity is relative. You see simplicity as using installation procedures, i see simplicity as not having to go through extensive tweaking/siloing validation.
Thanks for the comments though, very useful
Daniel – Lead Architect – Citrix
July 22nd, 2009 at 12:15 pm
An excellent post. I too cannot understand the major benefits of streaming over installed apps.
I’ve recently installed a test XA server for a new client. Citrix told us to Profile and stream the apps. All users are accessing a virtual desktop (W2K3 x64 as they prefer the XP look to Vista) and then from the desktop they’re accessing streamed apps from another XenApp server. This client has around 90 staff, we found that streaming had such high CPU resource requirements it was just not possible, the CPU kept hitting 100% and would only go back to 0% if we killed the streaming processes.
Citrix keep telling me to profile apps as we have more control when it comes to HA and the more advanced monitoring tools but I am not convinvced.
I have been a tad scared of installing apps locally but now I feel I am left with no choice. We have another XA server with locally installed apps and the CPU usage is about half for the same apps.
George one thing you did mention about VDI is using XA servers and then using PNA. As I’m fairly new to Citrix products I’m only used to using XA5 with the XenApp plugin for the clients. Can PNA be used instead of the XenApp plugin to host apps rather than stream ?
Thanks great post
July 22nd, 2009 at 12:18 pm
And another thing to mention, Citrix advices to leave the streamed apps profile on the XenApp server so it’s almost as if the application is installed locally anyway !
July 22nd, 2009 at 12:21 pm
While writing the above I’ve just had a response from Citrix. They have informed me that once the profile app has started streaming, there is no difference between how the local app runs or how a streamed app runs. They should both use exactly the same resources.
Interesting…