Real User Monitoring (RUM) is the part of overall Applications Performance Management (APM) that is focused specifically upon the experience of the actual end user. This is a frequently overlooked but critical part of managing overall applications performance – one becoming more important over time with some of the recent changes in applications architecture that are placing more functionality in the actual end user’s device. dynaTrace has now announced some very important advances in RUM that address these issues.
The RUM Landscape
In “Monitoring End User Experience for Virtualized and Cloud Hosted Applications” we reviewed the major vendors in this space and their offerings. It is important to note the key tradeoff that has to be made when choosing a solution in this space. That tradeoff is between depth of monitoring functionality (vendors that provide line of visibility to performance issues) which is only available for applications written to certain applications frameworks supported by each vendor, and breadth of application environment support where certain vendors support a broad range of applications and operating systems but do not provide line of code visibility.
It is also important to recognize two very significant emerging trends in the RUM industry. The first is that RUM solutions that are becoming fully integrated with back end APM suites. Such functionality is available from vendors like New Relic, Correlsense, Compuware, and now dynaTrace. The second is the emergence of rich client applications, both in the form of rich Internet applications (like those written with AJAX, Adobe Flex, Adoble Flash, and Microsoft Silverlight), and far more importantly the emergence of the iPad and Android based tablets as platforms for business applications. Both of these trends are going to place a premium upon agents that can work with the client side platforms to collect unique information that is then integrated with the back end analysis of performance in the APM system.
The dynaTrace Announcement
The key to understanding the dynaTrace advance in RUM is to look at the core technology upon which dynaTrace is built. That technology is PurePath, and what it does is allow for the tracing of individual transactions through all of the tiers of an application system, starting in the web server, going through multiple tiers of Java or .NET servers, going through complex messaging oriented middleware like Tuxedo and IBM MQ Series, through third party services, and finally back to the SQL query to the database server. The dynaTrace RUM announcement has added a browser based client running either traditional HTML, or AJAX based applications to the tracing network provided by PurePath.
What this means is that now it is possible to actually trace, in production, with acceptable overhead on both the client side and through all of the tiers of a complex application every transaction initiated by every end user of the system. Tracing means measuring its response time hop-by-hop and automatically doing diagnostics down to the line of code or SQL call level when things slow down. For more information see the dynaTrace announcement.
An updated RUM solutions table is provided below.
Updated RUM Solutions Table
|Vendor||Scope of Application Support||RUM Implementation Method||Support Rich Internet Applications||Support for Mobile Applications||Solution Delivery Model||Back End APM Functionality Available|
|All HTTP/S based web applications
|Agent downloaded at run-time from web server
|No||Browser based only||On-Premise Solution. Can be installed in public clouds like Amazon||Full Transaction Tracing available as a separate product|
Ajax Premium Edition
|Web apps, with specific support for Ajax||Agent downloaded from web server into browser||Yes – specific support for Ajax||Browser based only||On premise software||Complete end to end tracing of each individual transaction|
|Compuware||Web applications, mobile browser applications, and native Smartphone/tablet applications||HTML Tagging for web and mobile browser applications, native code libraries for Smartphone’s and tables||Yes via HTML Tags for Flash||HTML tags for browser based applications – code libraries for native Smartphone’s/tablets||On premises solution or SaaS service||Full back end APM Solution available as a separately sold product|
|New Relic||Java, .NET, PHP, and Ruby Web apps||Agent downloaded at run time from web server||No||Browser based only||Entire solution (APM and RUM) delivered on a hosted Monitoring as a Service basis||Robust monitoring of Web, application (Java, .NET, Ruby, and PHP) and database application system tiers included|
|Aternity||All web apps and broad range of commercial and custom Win32 apps||Agent installed on Windows PC or Laptop||Yes – specific support for Ajax||No – Agent is Windows specific||On premise software||No|
|Knoa||SAP and selected other enterprise applications||Agent installed on Windows PC or Laptop||No||No – Agent is Windows specific||On premise software||No|
RUM (also called End User Experience Management) is becoming a critical feature of modern APM solutions. This is being driven by the emergence of rich client platforms like Ajax, Adobe Flash, Adobe Flex, and Microsoft Silverlight as well as the emergence of the iPad and Android based tablets as platforms for client side business applications. These applications development trends when combined with virtualization, IT as a Service and Cloud Computing will make RUM into a critical capability for being able to assess how the end user is doing irrespective of what is happening to the deployment model of the back end application.