Slashdot Mirror


To Citrix or Not to Citrix?

Saqib Ali asks: "These days, it seems almost any application can be served on a Citrix Farm . However, not all application are best fit for a Citrix environment, and I am sure most IT admins are faced with the tough decision of whether to host an application on Citrix or not. What questions should an IT administrator ask before deciding whether to serve an application over Citrix or just plainly install the application on each desktop? I am NOT looking for the benefits of using Citrix, as I'm very well aware of them. What I want to know is, what criteria should be used in determining whether to use Citrix for an application or not. I just don't want to use technology for the sake of using technology. There should be a methodical way (like a checklist or questionnaire) for determining the feasibility (NOT PROs and CONs) of serving an (any) application on Citrix. Here is a Checklist/Questionnaire that I have come up with. Any more suggestions to add to the checklist?"

31 comments

  1. Are you a windows only shop? by Anonymous Coward · · Score: 0

    If yes: forget all about citrix.

    If not: use citrix.

    Problem solved

  2. Things to watch out for. by Spudley · · Score: 5, Interesting

    The Citrix/Terminal Server platform is usually pretty good, but there are a few things that have caught us out.

    Even in this age of multitasking, some apps still don't share. One timesheet application I know of can't be used on terminal server because it chews up all the processor time it can get it's hands on, which just about kills all the other users.

    Even some well known applications can be quite heavy on resources when run on a terminal server, so lesson one is to make sure you know what you'll be running, and how well those apps work in that environment.

    The other thing that stung us quite badly when we moved to the terminal server platform is licencing.

    One piece of software in particular that we used to rely on suddenly became massively more expensive when we switched from fat client desktops to terminal servers. The licence for the desktop PCs had been a free client licence, but for the same users doing the same thing on a terminal server we were forced to pay for them all to use a server licence for the software.

    Needless to say, we dropped that product as soon as we had found an alternative, but it was quite a painful process to do in a hurry.

    So lesson two is: work out the licencing implications for everything you run before you start the conversion.

    I hope this helps you avoid the mistakes we made. :-)

    --
    (Spudley Strikes Again!)
    1. Re:Things to watch out for. by Thing+1 · · Score: 2, Informative
      I agree with you. We used to use Citrix, but we found that it had a number of issues:

      1. Some applications conflict with other applications, requiring us to install them on separate Citrix servers ("server siloing", doubling the hardware and administration costs).

      2. Performance over a slow link degrades to the point that fast typists could enter an entire line before seeing the first character appear.

      3. The "thin client" model assumes that the client has little to no intelligence and just sends keystrokes/mouse movements up, and screen updates down. It doesn't use any of the local processor, RAM, or hard drive (like the old "green screens").

      Since most companies (ours included) aren't purchasing "thin clients" because they end up costing about as much as a full-blown computer, we just bought computers for our employees. Running Citrix does not use the resources in our company to the fullest; most of the time those machines just sit there, idle.

      We have found a great solution from a relatively small new company called Softricity.

      Their product, SoftGrid, streams the application to the client. Your IT department will have to "sequence" the application (basically, install it in a monitored environment so it can determine what files, Registry entries, INI files, etc. to package up), and it creates a single file which contains everything. It also determines what pieces of that file are used when running the application, and streams that to the client initially (generally about 10-20% of the full package). When a client uses features that weren't in the initial section, the client will request them from the server.

      As to the issues I mentioned above above:

      1. This has completely solved our application conflicts; we can run any application next to any other application, on the same client machine. We also have some applications set up in a "three-tier" method, where the applications are streamed from the SoftGrid server to a Terminal Server, and then the clients connect to the Terminal Server and run their applications from there. With this model, anything Citrix would add to it is superfluous--we just use the basic TS functionality that Microsoft provides.

      2. The link speed does not slow performance down, once the application has been loaded into the client's cache. And the user can load the entire app if desired, which helps with our laptop users--they load the application and can then run it disconnected from the network.

      3. The software doesn't have to run on the server, since it uses local resources (RAM, disk, processor). This means our SoftGrid server can serve thousands of users (not that we have that many), whereas our Citrix server starts to slow down when we have more than 25 or so users on it.

      Managing the environment is also made much easier with the Management Console, and being able to specify Registry entries in the startup file which will override the entries in the package, so for instance each user can have their own startup file which specifies their username, department, extension, etc. And if there's ever a problem with an application that requires, for instance, a reinstall, it's basically a 30-second operation to have the user bring up the Control Panel application, remove the application from cache, and then run the application again which starts it back at the same state it was at when it was initially packaged.

      I've been very happy with their solution, and although it's not cheap it's cost-similar to Citrix, and gives us more benefits and more flexibility (our traveling salespeople love it, since they don't have to connect in order to run applications).

      --
      I feel fantastic, and I'm still alive.
  3. Some more possibilities by ADRA · · Score: 3, Interesting

    How much access to local system resources does the application need? (Tools for interfacing with system)

    How often does the tool need to receive updates?
    (More updates means more effort distributing for non-citrix setups)
    What is the time taken for each update?
    (Simply for manpower running around mnaking changes)
    How does the non-upgraded version function with the upgraded system?
    (backward compat means less need for single cut migration. Citrix guarantees this)

    What are the bandwidth requirements of the software with VS. without citrix?
    (It may be that the amount of data you're transfering to/from the server is actaully lighter than the graphical snapshot of the cistrix app.)

    My main reason for staying away from Citrix has been the price point. My customer base isn't large enough to justify the expenditure. It makes updates easier, but if the tool has a very easy migration/upgrade path and it isn't an insanely heavy network abuser, i'd go without Citrix.

    --
    Bye!
  4. Dont forget TS by jmenezes · · Score: 2, Interesting

    Another point to keep in mind, is that you could also factor in Terminal Services, which while not as full-featured, can be a much more cost-effective solution for some situations.
    Using same said checklist, if a particular scenario doesnt entirely jsutify Citrix due to costs, it may still be better than foregoing a centralized appliaction altogether....

    That said, i assist some of my customers with TS problems everyday, and i must say I DESPISE it.
    but at least it gets the job done when appropriate.

    --
    Stop over-analyzing your analizations
  5. Complexity of user interface by Marxist+Hacker+42 · · Score: 2, Insightful

    Nobody's mentioned it yet, but I've yet to see ANY terminal server handle extremely complex user interfaces across a network very well. By complex, I mean: varying colors, extremely busy screens, and at the worst point, 3d graphics rendered in real time. In other words, the kind of bitmaps that don't compress really well put a strain on Citrix, VNC, or Windows Terminal Service all alike.

    --
    SJW: a person who perceives an injustice, and while correcting it, commits a greater injustice.
    1. Re:Complexity of user interface by JVert · · Score: 1

      Exactly, our IT department thought they would switch to TS servers so they would only have to patch 1 machine with the latest graphics drivers to play UT 2004. Boy were they wrong, imagine office productivity with 35 cubicles trying to protect the flag at 1 frame per second.

      The next place I worked at wanted to move their base application to a centralized server so they could use their desktops for distributed rendering. Well the rendering was going quickly but nobody could use it fast enough to create any animation, poor Shrek was limping in his animation.

    2. Re:Complexity of user interface by Marxist+Hacker+42 · · Score: 1

      I was thinking more about how at a place I used to work, the CD burner was on VNC. But it was a fancy robotic multiple-CD burner complete with printer; it had a LOT of fields to fill out in it's user interface, and between VNC trying to compress the graphical image of a screen with a lot of fields, only a 10BaseT network, and the machine cycles eaten up controling the robot, it was VERY slow.

      --
      SJW: a person who perceives an injustice, and while correcting it, commits a greater injustice.
  6. Use Linux instead by pabtro · · Score: 3, Informative
    In our work environment, we use Citrix on top of HP-UX. In general, it is slow and the only applications available are Word, Excel, and FrameMaker. The mouse scroll wheel is not supported and employees cannot install software on the served Windows environment. Surely I imagine this must be paradise for IM.

    When frustration peaked, they installed a real Windows box besides our HP360, so we ended up with 2 systems; it is cumbersome, but it works.

    In my view, all this could be replaced with a single Linux box, OpenOffice added, plus any additional application you might require on top.

    1. Re:Use Linux instead by Kosgrove · · Score: 1

      Read the question. He explcitly asked not to hear the pros and cons of using Citrix. He asked for the criteria for determining whether or not to use Citrix with a given application.

      And I may be reading into it here, but I'm pretty sure he doesn't need any "why bother with Windows at all, just use Linux?" replies.

  7. To Citrix or not to Citrix by rocket+rancher · · Score: 4, Informative

    > Any more suggestions to add to the checklist?

    Lots of good suggestions so far. As a long-time Citrix admin, I would add a couple questions to the fairly good ones you already have.

    Will the app vendor still support the app if it is deployed via Citrix? In my experience, this is a really good question to ask up front before deploying the app!

    Are your apps mission critical? Do you need high availability for them? Citrix really reduces the cost of deploying and supporting mission critical applications, but at a price, as another poster in this thread rightly pointed out. If you don't have the numbers to get the bulk discount rate, Citrix may not save you all that much.

    Finally, one that probably doesn't need to go on a checklist, but one that you should ask yourself anyway. Are you willing to work with Metaframe, with your users, and with the app vendors to make it work? We have a nice stable Citrix environment here at the rocket ranch, but we worked with our vendors, and with Metaframe to make it that way. It didn't happen overnight, and I had to take several Citrix training courses before I got really comfortable with Citrix. It was worth it, but that is just my environment -- ymmv.

    1. Re:To Citrix or not to Citrix by Karrots · · Score: 0, Offtopic

      You wouldn't happen to work at the rocket ranch in Northern Utah would you?

    2. Re:To Citrix or not to Citrix by rocket+rancher · · Score: 1

      No -- southern Arizona.

    3. Re:To Citrix or not to Citrix by CamFischer1 · · Score: 1

      I agree with the training comment. Way too many places try to install Citrix, and just let a windows guy try and fight with it. If you want it done properly get someone who knows what they are doing.

  8. Re:Mod parent down by MemoryAid · · Score: 2, Insightful

    Sometimes people really need to hear what they don't want to -- for their own good, of course.

    --
    Language students: Don't try to learn English here. This ain't it.
  9. Most loaded Ask Slashdot ever? by Kris_J · · Score: 2, Informative
    I'll try to stay on topic, but your original question is so specific that I think you've probably asked the question in the wrong place. I'll address your checklist to try and keep me on the rails
    • Is the application a fat-client or a thin-client (web-based) client?

    Your first question looks wrong off the bat. If you have a web-based client, why are you needing Citrix at all? If the software is already server-based with a web interface, it doesn't need a terminal. Unless that's your point, you don't explain what you would do with the checklist answers.

    • What is the frequency of queries to the application server?
    • How much data is transferred between the client and the server?

    Unless Citrix has some quirks I'm unaware of, the first question is immaterial. The second question is much more important. Applications that are network bound are much better to run with a terminal, ie; I always verify our main database's schema using a copy of the client running on the server. However, the last two major upgrades we done have been specifically designed to reduce the network traffic that it generates, while at the same time we're starting to sniff around gigabit ethernet. Since most applications are not run on Citrix-esq installations, any new version is suddenly likely to change the balance of network traffic to server and client load.

    • Will the application users connect to the application server over a WAN connection?
    • Are there any concerns about WAN connection usage and time required to retrieve data - over a WAN connection?

    Here I'm assuming you're talking about non-network apps (Like Word) and a user's connection to the Citrix server. Obviously, high latency to the Citrix server will make any app that would otherwise be installed locally look crappy over Citrix. That's so obvious that I think I might have missed your point on this one.

    • Will files be transferred to-and-from the application server?

    Here I have to again assume you mean that staff might be rocking up with a floppy or CD with files that need to be transferred up to the application on the server so they can work on them. Yes, I would imagine that applications with large amounts of local data are best handled locally.

    • Can the application in question be used off-line?

    Do you mean "Does the program need a server anyway"? Ultimately that only matters for laptops and server downtime. I question the value of laptops in lots of situations. Where I work, apart from a couple of people that develop stuff at home those of us that use laptops only ever use them plugged into a LAN. They're just a familiar environment that can be moved from one office to another, and occasionally used to check email remotely (except we have webmail now, so any PC will do). As for server downtime, many companies have a key network database application that staff use all the time. Without it they're stuff anyway, what does it matter if a few other lightweight apps are down too.

    • How many users will be connecting the application?

    You're referring to CPU load on the server? This is where I tend to think that Citrix is the wrong solution. Desktop PCs are so cheap and powerful, why are we killing ourselves to build a monster terminal server? But you don't want to talk about that. Or maybe you mean that if the numbers are too low, it's not worth centralising? I guess the sweet spot depends on the price of the application (if it's licenced differently for Citrix vs desktops) vs its processing requirements.

    • What is the geographic location of the users?

    That looks like your WAN question above.

    • Citrix can provide centralized management/administration. Is this preferable?

    Not sure how this would differ application-to-application. This would much likely differ from department to department.

    Okay, I've tried to stick to your rules, now here's my real answer. Centralised Citrix-like systems for Windows applications are not the answer. Thin

    1. Re:Most loaded Ask Slashdot ever? by Anonymous Coward · · Score: 0

      Nice one. As pointed (and arrogant) as the original poster is, it is obvious that he is completely clueless.

    2. Re:Most loaded Ask Slashdot ever? by sapbasisnerd · · Score: 1
      If you have a web-based client, why are you needing Citrix at all?

      Network resources, I've seen apps where the bandwidth to carry the rendered browser screen with Citrix is multiple times less than would be required to carry the http traffic.

    3. Re:Most loaded Ask Slashdot ever? by JVert · · Score: 1

      What? Where?
      Thats insane.
      Are you talking about a Java applet?
      Who the hell? How is that even possible. Please I must know what software runs like this.

    4. Re:Most loaded Ask Slashdot ever? by Kris_J · · Score: 1

      I think someone needs to learn to do their form validation on the server, not via Javascript.

  10. Re:Mod parent down by Anonymous Coward · · Score: 0

    But Top's question is idiotic. If he needs to ask, he doesn't understand.

  11. Avoid it, unless you have to. by k4rm4_p0l7c3 · · Score: 2, Insightful

    I have supported MetaFrame, sold Citrix.. their product enables great things to happen over WANs, but corporations tend to abuse it from what I've seen.

    And by abuse I mean shaving off having to do multiple installations in a corporation by having a central corporate MetaFrame farm. then the SQL server disk array fails. then the whole corp is disabled. Hello eggs, meet basket.

    Also, be prepared to deal with the horrid hell that is Citrix printer support. It's not entirely their fault as some printer drivers want to do things in userspace vs kernel mode, but the support wasn't that good when I actually ran MetaFrame. It is better from what I hear now, but I'm only seeing it on the client end, and my corporate support SUCKS! And oh my god, there's nothign more frustrating than a Citrix session that's hung because of a stick print job or some print related mishap.

    To print reliably, every citrix user will need a networked laserjet as their default printer. if they run windows..

    so. good product, can save you in a pinch for a deployment and can do amazing things over heavy loaded WANs. But oh my GOD please test it in a lab before you deploy it. don't crush your people in the trenches. thanks

    1. Re:Avoid it, unless you have to. by homer_ca · · Score: 1

      Yes, printer driver hell was our experience with our Citrix users. Other than that, we're happy with it. Much more efficient over a WAN than a fat client that's passing a lot more data.

    2. Re:Avoid it, unless you have to. by An+Audience+of+One · · Score: 1

      Having personally written some of the printer support for the Java client I can tell you that the printer support is actually quite good now. And doesn't involve running random drivers in kernel mode on the server,

      Also, having worked in the Research Lab for a summer I happen to know that quite a lot of the issues mentioned above (text latency, graphics slowness etc) are being fixed in the next few releases. They have some *really* cool tech, which I'm probably not allowed to tell people about.

    3. Re:Avoid it, unless you have to. by k4rm4_p0l7c3 · · Score: 1

      what versions are these? I had read that a new 'type' of the universal print driver had come out. Wonder if our admins use it. i'm stuck at a corporate site and our support @ the farm end sucks. really sucks.

  12. Testing by dJCL · · Score: 2, Informative

    Test the apps you will need. The company I work for sets up and install application servers as our base business model and you have no idea how many programmers just assume they are the only application on the machine, and only one user is running it. Even some large scall stuff.

    A lot of low power apps, ones that don't need much/any horsepower are idealy suited for app servers, but just don't work, so try them first, then buy.

    Anyway... someone probably said all this already...

    --
    On Arrakis: early worm gets the bird. Magister mundi sum!
  13. Tourette Syndrome by Anonymous Coward · · Score: 0

    This may not be obvious to you but CITRIX you may have a mild case of Tourette. On the other CITRIX hand, dropping a name that often may simply mean you have lots of street credibility and a prosperous career as a rapper CITRIX to look forward to.

  14. Every user needs a networked laserjet? by Anonymous Coward · · Score: 0

    Someone mentioned that if you install Citrix every user will need a networked laserjet. This is absurd--Although I do reccomend using HP printers with Citrix, as I've used their 1000,1100 and 1200 series w/ no problems. I'm running 30 users on Metaframe XP and about half have printers. The printers are plugged directly into their computer. When they log on to citrix their printers are automatically mapped to the Citrix Server and made available for all users. I've also used color bubble jet printers from HP & Cannon with no problem.

  15. Citrix + DB by CodeMonkey4Hire · · Score: 1

    If your company uses any large databases, it can be a very good idea to use Citrix for any programs that run off the database, assuming that your Citrix farm and the DB servers have a very fast connection between them. If a client tries to run off the DB from another site, then it will run much slower (duh). With the processing power that our Citrix farm has, I can run a particular application faster over Citrix than locally with my own copy of the DB. (About 3 sec vs. 6 sec)

    --

    Let's go Hurricanes!!! 2006 Stanley Cup Champions!!!