Let's start with the premise of "Good, Better, and Best" that I've learned from other people I worked with and admired. It is scale that rates solutions, products, actions or whatever into categories that are relative but do not always compare "apples to apples". As an example, if I had all the money in the world I'd buy a Ferrari or an Aston Martin, but that wouldn't work with 3 car seats and the cost of gas with how much driving I do wouldn't work. A solution for 3 car seats is a minivan, but my wife is putting off the "soccer mom" thing as long as she can. Another solution would be a midsize-large SUV (gas mileage is still an issue, but it supports 3 car carts, and my wife is happy - always a good thing). This is much similar to a Pros and Cons list you may setup to come up with a two sided decision (do this or don't), but a "Good, Better, and Best" exercise is little more dynamic and allows for more than just 2 decision points. I've done this exercise successfully with 4-7 decisions points. Just a quick description as I may write this as a blog topic later on. Now onto the meat of this entry. By the way, we bought a SUV.
"Citrix (Presentation Server) always gets the blame."
I always hear that from my clients and other Citrix Presentation Server admins. First of all, I always explain that Citrix is the company name. If they have problems it is with Presentation Server or some part of their infrastructure... so let's clear that one up. (Sorry, pet peeve of mine.) Citrix Presentation Server (CPS) is a technology that relies heavily on many technologies that are not part of its control. The applications installed on CPS vary from large to small, robust to clunky, applications that integrate tightly with one another (such as law firm applications) to applications that have little to do with each other. Each of these applications has compatibility issues and support issues that may be at the root cause. CPS and the applications run on top of Microsoft Windows Server 2000/2003, so any issues with the OS can be the root cause. The OS runs on top of hardware, which if not kept up with firmware or not configured for redundancy, can cause issues. All this connects to a Local Area Network that can have switch ports misconfigured causing performance issues. The LAN connects to the Wide Area Network (WAN) that can be in multiple configurations whether it is older Frame Relay, newer MPLS or simplified networks like DSL connections with or without point to point VPNs, or people coming over the Internet from their house or a hotel. The final piece of the puzzle is the client workstation which can have its own host of issues from runaway process, LAN connectivity issues, viruses, streaming media, etc. Lots of variables in the troubleshooting equation which can make it tough for issue resolution.
Let's also be honest in that all the red lights and whistles can be going off, as long as the users are not complaining... there is no problem. But vice versa also holds true in that, "everything looks fine on CPS" but users are still complaining... and you better fix it and fast.
So What Can I Do?
My suggestion is to arm the entire infrastructure with the tools they need to resolve any issue (Best ). Setup Microsoft Systems Center to watch for Operating System issues. Setup Windows Server Update Services or some other technology to perform patch management. Setup the hardware monitoring solution from your hardware manufacturer (HP Insight Manager, Dell Open Manage, etc). Acquire a network monitoring solution that can monitor latency, dropped packets, historical analysis and alerting. Most organizations are not monitoring workstation performance other than to make sure they are patched and have their Anti-Virus definitions up to date. The lack of workstation performance monitoring and the need for a true measurement of end user experience, leads CPS admins to look for an Application Performance Monitoring tool.
What can Application Performance Monitoring Tools do?
First of all the solution, should be able to tell us the end user experience from the environment as a whole, any single network subnet, any single workstation or any single user - Overall Application Performance and Drilldown Capabilities . Next the solution should be able to quickly identify where the problems lies - Root Cause Analysis and Resolution. Is it the Server resources? Is it the network between the workstation and the Citrix Presentation Server? Or is it the backend infrastructure? All this information should be historically kept to report against and to compare against when performing load/stress tests with application interface scripting. Then an abilitiy to simulate a user - synthetic tests - can be used to further ensure application availabilitiy and performance. This information should then be used for Capacity Planning of the environment. Lastly, it should also be to alert based on certain criteria selected and generate reports based on common requests by management or users.
This leads us to the next question.
So what solutions can perform Application Performance Monitoring?
Best - HP Business Availability Center (formely Mercury) is a suite of products to monitor business applications, services and systems. Mercury was always the leader in this market. LoadRunner was used to script an application usage to simulate a user. "Injectors", workstations set to run the script at scheduled intervals, running the script could be used to simulate load or to test the application every 5 minutes to make sure it is working. biggest hurdle for this solution was and still is cost. It's very costly to acquire, but it is the best at what it does and they have been doing it longer than anyone. It was also costly from a technical resource perspective since you had to be trained to gain any use of the product. Writing scripts (whether for load/stress testing or synthetic tests) was complex and took a lot of time to get write to correctly simulate a user experience. I saw some companies jump the 1st hurdle and buy the product, but never got the proper training or the main resource left and then the whole solution just became "shelfware". I was never fully trained on Mercury, but I saw lot of companies looking for solution just like this. So demand was there, but since there were very few companies that could do this. Mercury was able to charge a lot of money.
Note: I have not had a chance to review NetIQ's AppManager, but it seems to have the same pros and cons as Mercury (great solution but costly and may require a large infrastructure/support staff for upkeep and use).
Better - Citrix EdgeSight has entered the market with its acquisition of Reflectent in mid-2006. This is not an "apples to apples" comparison to HP Business Availability Center, but it does play in the same space. Citrix EdgeSight was developed as a application performance monitoring tool that was designed for desktop deployments. It has been adapted to include Citrix Presentation Server and more recently Citrix NetScaler for reporting and monitoring. The tool set for load/stress testing and synthetic tests is not complete as of yet. They just released Citrix EdgeSight for Load testing 2.5 earlier this month, but not much has been made of it yet. (I'm sure some announcements will be made at Citrix's client/partner event, iForum '07, held in late October in Las Vegas). The server resource monitoring is also new. I'm guessing that this function will replace some parts of Resource Manager for alerting and reporting on server resource utilization. Citrix EdgeSight already has usage reports that can be used for management, and has some Capacity Planning tools probably in its future. My opinion is that though it is not fully baked, Citrix EdgeSight has some great advantages that will result in clients choosing this solution. It is cost effective compared to Mercury and NetIQ. Citrix EdgeSight also has the advantage of monitoring products owned by the same company - Citrix integrates the application delivery products and now is delivering a tool to monitor them all. For many, this integration of the products may be the difference in your decision. I call this the "iPod factor". If you live and die with your iPod, and you had a choice between two very similar cars but one was completely integrated with your iPod... you would probably choose the one with iPod integration. If you live and die with Citrix Presentation Server, you should seriously look at the one most tightly integrated with CPS.
Note: There are two different agents for Citrix EdgeSight - EdgeSight Agent for CPS and EdgeSight Agent for Desktops. The Desktop Agent is not required, but it can give you a better view into the workstation and possibly give you the culprit of an issue. Example: AV Scanner or Windows Media Player running at 100% or the workstation with no available memory would absolutely affect the performance of the Citrix Presentation Server client or any other applications running on their workstation.
Good - Though there are players in the market (Scapa Technologies & Tevron for example), it can be expected that most organizations should be looking for more enterprise solutions that are not just focused on Citrix or Terminal Server. There are also loads of freeware tools for writing scripts and some companies provide load generation tools for their product for capacity planning, but that is all they do. So while these solutions will be good a few clients, the same clients will be looking for more functionality and will have to look for another solution later.
Note: If you are primarily focused on Citrix Presentation Server reporting only, then check out ATM by XTS (www.xtsinc.com). Great solution for reporting on pure CPS environments. Also some future stuff on Capacity Planning.
In conclusion
You need to review your requirements and budget to determine your best course of action. I'd love to have the "Ferrari", but I'm kinda short on cash and it doesn't meet all my requirements - the iPod integration is missing. ;-)
I think Citrix is doing the client right by providing a solution that ties all their products together, even it is coming up short on a few things right now. It needs a little more work to compete with the big boys, but it is very good bang for your buck. If you already own Citrix Presentation Server and are looking to add Citrix Password Manager or Citrix Access Gateway, I'd highly recommend you take a look at Citrix Presentation Server Platinum edition (Includes a CPS license plus Password Manager, Access Gateway user license and a EdgeSight Agent license for CPS) that is way more cost effective than buying them individually, In fact, they way the products are priced, if you have CPS and want one of the products and are thinking about buying another one, then it makes sense to price out Citrix Presentation Server Platinum Edition. I'd highly recommend an evaluation period to see the feature set and determine if you need the Desktop agent in addition to the CPS agent, to see what the desktops are doing. Talk with your Citrix representative or Citrix partner if you need to discuss specific features.
Stayed tuned for more information from iForum 07.