Those of you who attended Citrix iForum last October (or who listened to the podcast) remember that I was really struck by the sheer number of vendors in the new Application Performance Management (APM) space. (This section of the podcast starts at 12 min 36 sec into the show.) One of the vendors at that show (and that I spoke with in the podcast at 18 min 36 sec) was called Reflectent. Today Citrix announced that they’ve acquired Reflectent.
To analyze this deal, let’s first look at what an APM vendor is. (We’ll get to the “YAM” part later.) Traditionally, server monitoring products (such as Citrix Resource Manager, Lakeside Systrack, or Microsoft Operations Manager) have recorded data based on server performance monitor (perfmon) counters. Most of these products can trigger alarms, emails, or events based on certain perfmon counters exceeding some threshold that’s been preconfigured by an administrator.
For example, if the CPU utilization goes above 99%, or the free memory drops below 10%, or context switches exceed 200,000 per second, an alarm will go off to notify the administrator of the potential problem.
Products that do this have been out for years, and they work fine. However, the problem with these products is that they only trigger alerts based on perfmon counters, but a high perfmon counter does not necessarily indicate that the users are having a bad experience.
In other words, perfmon counters are great (and necessary) for troubleshooting performance problems after users call the helpdesk to complain, but a perfmon counter alone cannot tell you that the users are having a bad experience.
Here’s a perfect example of this. On your computer, open up the Microsoft calculator. Set it to the “scientific” mode (View Menu | Scientific). Then type in 999999999 and hit the factorial key. (The purple “n!” to the left of the “M+” key.) You’ll notice that your CPU utilization immediately jumps to 100%. (If a warning dialog box pops up after a few seconds, you can just ignore it.)
Most people's reaction is, “Uh-Oh! This is probably negatively affecting my other applications.” However, with the CPU pegged at 100%, try using some of your other applications. What do you notice? You’ll see that your other apps work fine. You can use email, surf the web, and launch new programs—all at full speed—even though the CPU is spiked at 100%.
The reason for this experiment is to show that a “bad” perfmon counter does not always equate to a “bad” user experience. If you were using one of these “traditional” perfmon-based monitoring tools (RTO’s Kevin Goodman calls these tools “YAMs,” for “Yet Another Monitor”), then the tool would start alerting you and you would start freaking out, even though the user experience was fine.
This is the problem with YAMs. They are great for troubleshooting purposes once a real human user reports a problem, but they can only be used reactively. They cannot be proactive in letting you know that there is a performance problem before a user calls the helpdesk.
Enter the Application Performance Monitoring Tools
The new wave of APM tools that I first discovered at iForum attack the performance problem from an user-centric instead of server-centric approach. Tools from RTO Software, Premitech, Reflectent, PerformanceIT, Cesura, eG Innovations, and others take a user-centric approach.
Of course the exact implementation varies by vendor, but these tools all work on the same concept. They essentially “watch” what’s going on within a session to see how long things take. For example, they could track how long it takes from the time a user selects “New | Mail Message” from the Outlook menu until the blank message window pops up.
Some of these vendors even have ICA client snap-ins so that they can collect this data from the client device itself. This data can then be transmitted to the server where it can be combined with the session performance data to create a real-time snapshot of the actual end-user experience.
Once an APM-based alert is triggered for a server, then the administrator can dig in with the traditional perfmon and netmon tools to find the problem.
As a quick side note, in my mind this would be a very cool way to load-balance users. As long as the performance on a box is good, who cares how many users are on it or what the CPU utilization is? Conversely, even if a server is only hosting five users and has a CPU utilization of 4%, if Outlook emails are taking 30 seconds to open on that server, I don’t want to send any more users there until I get that problem addressed.
These APM tools are also cool for monitoring compliance to SLAs.
Who is Reflectent?
Reflectent has a client-side agent that runs on the ICA client workstation. This agent collects local perfmon data at 5-second intervals and maintains it in a client-side database. 5-minute summary data is transmitted to the server where it is stored and aggregated. The server database also collects metrics from the Citrix servers. Then, when a user calls the helpdesk and complains of a performance problem, the Reflectent management console can be used to look at perfmon data from the server and the client. If the users says, “It’s really slow,” then you can counter with, “Yeah, but I see that you’re also downloading 27 movies right now!”
Reflectent also tracks the network performance between the two and application errors. (application crashes, missing DLLs, etc.) All of this data is aggregated for analysis, and you can even compare one point in time to another. (i.e. It worked fine an hour ago, what has changed since then?)
I'm not sure whether Reflectent is a "true" APM product or a YAM (or whether this distinction even matters). I'll learn more about it in the next few days. Hopefully we can get a podcast together with someone from Reflectent.
What will Citrix do with Reflectent?
In the short term, Citrix will focus on re-branding the Reflectent products with Citrix logos. Reflectent had 31 employees based out of Boston, and for now they’ll stay in Boston and operate as Citrix’s “Management Systems Group.”
The Reflectent software compliments Citrix in both the Presentation Server (for Windows apps) and NetScaler (for web apps) product areas, so it’s unlikely that they’ll roll the Reflectent product directly into one of their existing offerings. (Not to mention the fact that Reflectent’s server product costs about $50k plus $50 per user, a pricing model that, while in-line with other APM products, is not directly compatible with Citrix’s other offerings).
That being said, Citrix has mentioned that they are working on building end-to-end user experience monitoring into future versions of Presentation Server (via the “Project Constellation” technologies), and certainly elements of Reflectent will play into that.
The bottom line though is that Reflectent will work across the board in the areas that Citrix is focused on, so this Management Systems Group may grow legs of its own within Citrix.