AppEnsure’s Service Level Driven Advantages over Citrix Insight/Director

January 25, 2017 | By: Sri Chaganty, CTO/Founder

advantagesThere has been much discussion about the new parameters that Insight/Director provide with ICA Round Trip Time (RTT).  The general perception is that ICA RTT provides the end-to-end response time for applications or desktops delivered.  This is NOT correct.

Many times the application or VDI published will access the backend infrastructure that supports the application or VDI.  The back-end infrastructure response time is not part of the ICA RTT.

The ICA RTT is a single metric and does not give the hop-by-hop breakdown of the various latencies.

DC Latency is misleading as it includes idle or inactive TCP sessions.  Ideally ICA RTT should be greater than the sum of WAN Latency and DC latency. If the application is not actively sending data, then it does not work as expected. This is because the TCP RTT estimation works only on active connections. If a connection is not very active or if it is idle, the DC latency value will be more than the ICA RTT or WAN Latency.

Independent of Insight/Director

AppEnsure provides the end-to-end response time without any dependencies on the Insight/Director or NetScaler.  AppEnsure’s true end user response times can cross-verify the information that is presented by Director on the ICA RTT for local users.

AppEnsure integrates with Insight/NetScaler and retrieves data that adds intelligence to AppEnsure collected metrics.  The details of integration are described below.

End-to-End & Hop-by-Hop Response Time breakdowns

As described earlier, AppEnsure presents the end-to-end response time from an end user’s perspective that identifies the service levels that are being provided to each user for each access of an application or a VDI.  The service level of each access determines the end user’s experience with an application or VDI for every access, which in turn determines the productivity of the work force.  Besides providing the service level for each user, the overall service level of all users is provided to define the overall performance of the delivery of these applications or VDI to the set of users that are accessing the application or VDI.  This comparative metrics enables the users to identify the overall performance of an application or VDI and quickly identify a single user or a set of users that might be experiencing degraded performance.

AppEnsure breaks down the overall end-to-end response times into hop-by-hop response times for each user as well as for all the users, at a given time.  This enables the users to identify which hop in the entire service delivery chain of the application or VDI is negatively contributing to the overall end-to-end response time.

The topology map from AppEnsure below, which is automatically discovered by AppEnsure, shows how the end-to-end response times are broken down into hop-by-hop response times for the same example set up described above.

End-to-End

End-to-End & Hop-by-Hop Throughput Breakdown

AppEnsure also provides additional metrics regarding the throughput in terms of calls.  A “call” is the entire transaction from a user to an application or VDI starting from the initial handshake when the user initiates a dialog with the application or VDI by a click, to the point the click is responded back to from the server side, which might include back-end response access as well.  When a call is initiated, the server side might respond back either with results for the request or with an error in the case there is a problem with the request.  AppEnsure identifies both successful and unsuccessful calls (errors) and presents them individually.  This enables identification of which users are experiencing degraded performance due to increased number of errors generated, either from the server side or from the client side.  If a particular user is generating many error calls that the server determines are client errors, AppEnsure identifies such users individually.  In this approach, end user behavior patterns, while accessing an application or VDI, are reflected in the metrics presented by AppEnsure.

Generally, throughput is provided by most solutions in terms of bytes in and bytes out.   This representation does not identify which user is making more calls and which user is making less calls.  Besides, byte representation will not provide information if a single user with a lesser number of calls is dominating the server’s attention, due to the nature of the request made which leads to starvation of resources for other users, who might experience degraded performance.

Call volumes calculated by AppEnsure embed the intelligence to understand the behavior patterns of an application or VDI usage based on the hour of the day, day of the week, week of the month and month of the year.

Back-end Infrastructure Response Times

Many applications published through XA/XD and the VDIs delivered depend upon back-end infrastructure.  In most cases, the applications run on back-end infrastructure and are accessed via an ISS server published on XA/XD.  In other cases, thin clients like Outlook provide access to the back-end mail services.

Back-end infrastructure is sometimes within the data center and in other cases could be a Software as a Service (SaaS) that enterprises subscribe to.  The back-end infrastructure even if hosted within the data center of an enterprise might not be accessible to the Citrix administrators as it is usually managed and maintained by a different group.   In any case, today Citrix administrators have no way to understand the availability and the responsiveness of the back end infrastructure when their customers (end users) are accessing those applications.   AppEnsure provides that visibility, which is not available from the Insight/Director.

Back-end infrastructure responsiveness dictates how the end user is experiencing an application.   Back-end infrastructure responsiveness is dependent upon various factors that include:

  • Load on the application
  • Resources available
  • Availability of infrastructure services that the back-end is dependent upon
  • Time of the day when the access occurs

AppEnsure provides such visibility, which is not available to Citrix administrators or support groups today.

Operational Intelligence

AppEnsure retains unlimited data, unlike Insight/NetScaler, empowering users to harvest this data for operational intelligence of their environment to depict application performance and user behavior patterns.

AppEnsure comes with a self-learning baselining of response times for every session in Citrix deployments.   The baselining provides an understanding of how service is being provided to the end users. This in turn establishes the normal conditions when users are not complaining, but also forewarns about abnormal conditions, which today you are dependent on the end users complaining in order to understand there is a performance problem.

Once normal operational performance is established, desired Service Levels can be defined.  AppEnsure then monitors the performance against the desired service levels and generates an alert and alarms with root cause when such desired service levels are not met by any application or VDI, to any of the users.

Diagnostics

Unlike Insight/Director, AppEnsure does not limit itself to reporting the response times end-to-end and hop-by-hop.  When a response time deviation occurs, AppEnsure performs diagnostics at multiple levels in the service delivery chain and provides the possible root cause for such degradation.

The root cause analysis enables Citrix administrators to quickly identify the location of the problem so that appropriate teams can be alerted to resolve the issue.

Integration with NetScaler/Insight and Director

AppEnsure integrates with Insight/NetScaler.   It fetches the ICA RTT value from NetScaler/Insight along with other parameters listed below.  These values are displayed per ICA session along with the comparative metrics that AppEnsure collects, correlates and displays.  AppEnsure’s screens provide these values in a manner to show how all the sessions are responding in comparison to a single session. The data collected from NetScaler/Insight is also used in diagnostics.

If Insight Center is present, then AppEnsure can be configured to retrieve the following metrics from Insight Center which are displayed as well as used in diagnostics for determining root cause of a performance degradation:

  • ICA Round Trip Time (Client & Server)
  • WAN Latency
  • DC Latency
  • Client Side NS Latency
  • Server Side NS Latency
  • Host Delay

Conclusions

  • AppEnsure offers significant advantages over Insight/Director in monitoring, managing and optimizing the end user experience in the Citrix environments.
  • AppEnsure integrates well with Insight/Director and retrieves relevant data to correlate with its measurements to provide rich diagnostics.
  • AppEnsure provides a new innovative approach in managing real end-user experience in Citrix XenApp(XA) and XenDekstop(XD) environments. AppEnsure uniquely correlates the real end-user response time experience with the application-delivery infrastructure performance, providing contextual, actionable intelligence which can reduce resolution time of application outages and slowdowns by over 95%.

APM for Vendor Provided Business Critical Enterprise Applications

January 18, 2017 | By: Sri Chaganty, CTO/Founder

Application Performance ManagementTraditionally, Application Performance Management (APM) is usually associated with solutions that instrument application code. There are two fundamental limitations with such associations. If instrumenting the code is what APM is all about, then APM is applicable only to homegrown applications for which access to code is available.  However, the majority of business critical applicationsare not homegrown. As the chart below shows, the $320B enterprise software market is driven by vendors who provide solutions for which there is no access to the source code. The enterprise software market in the chart covers a full assortment of commercially off-the-shelf products ranging from corporate databases to Enterprise Resource Planning (ERP) solutions and from Cloud-enabled productivity tools to mission-critical vertical applications.

APP
Source: Apps Run the World, 2016

However, there are technical challenges with code instrumentation that are overlooked with this traditional association.

Vendor Provided Software

The APM vendors like CA, AppDynamics, New Relic and Dynatrace focus on application software that is developed in house, mainly based on Web Services.  These solutions employ Byte Code Instrumentation (BCI), a technique for adding bytecode during “run time.” These solutions are developer focused, if developers want to debug or profile the code during run time, BCI is an effective solution.

In reality, enterprises depend on both in-house developed software as well as vendor provided software. Applications business use can be divided into two categories: 1) Business Critical Applications and 2) Productivity Applications.  While business critical applications are the foundation on which the business success is dependent upon, productivity applications like Email are also equally important for enterprises.  Generally, about 80% of the applications that enterprises use in either category are packaged applications supplied by vendors like Microsoft, SAP, Oracle, PeopleSoft and others.  Only 20% of the applications are developed in-house.  In the majority of cases, the in-house developed applications generally wrap around vendor provided software.   A good example is an application developed based on web services customized for a business that rely on SAP in the background.  Instrumenting vendor provided software is not possible as the source code is not provided by the vendor, therefore, Code instrumentation techniques are not feasible for vendor provided software.

Instrumenting in-house developed application software at different points gives a rich view to optimize the application throughout development. However, there are several types of problems that such instrumentation just can’t see. It does not, and cannot, always deliver the complete visibility that users think they’re getting. In addition, code instrumentation is not “free”, even with the expensive tools commercially available, it takes considerable coding skills (not widely available) to achieve effective code instrumentation without degrading the performance of the production code execution.

Technical Challenges

Code instrumentation can report on the performance of your application software stack, but the service offered to customers depends on far more than just the software – it depends on all of the networks, load balancers, servers, databases, external services like Active Directory, DNS etc., service providers and third parties you use to provide the service.

CA, Dynatrace, AppDynamics and New Relic do only BCI.  They claim to be transaction management solutions, though there are limitations to what they can do in Java environments, and they have zero visibility of non-Java topologies. A real transaction management product needs to follow the transaction between different types of application-related components such as proxies, Web servers, app servers (Java and non-Java), message brokers, queues, databases and so forth. In order to do that, visibility into different types of transaction-related data is required, some of which only exists at the actual payload of each request. Java is an interpreter and therefore hides parts of the actual code implementation from the Java layer. The Java Virtual Machine (JVM) itself is written in C, therefore there are operating system-specific pieces that are not accessible from Java and thus not accessible through BCI techniques.

If you want to use features of TCP/IP packets for tracing a transaction between two servers, the actual structure of packets is not accessible from the Java layer.  There is information that is crucial to trace transactions across more than just Java hops.  Such information is available only at a lower layer than the Java code, thus not accessible by BCI, which limits the ability to trace transactions in the real world.

Conclusion

For Vendor provided software, BCI is an ineffective technique.  For in-house built software, BCI allows programmers to enhance the code they are developing.   It is a necessary tool for development teams but insufficient as it does not offer the visibility that IT Operations require in order to understand the application service delivery chain performance. If your business depends on mission-critical web or legacy applications, then monitoring how your end users interact with your applications is more important than how well the code is written.  The responsiveness of the application determines the end user’s experience.  The true measurement ofend-user experience is availability and response time of the application, end-to-end and hop-by-hop – covering the entire application service delivery chain. That capability is what AppEnsure delivers to IT Operations to support them in optimizing the end user experience and maximizing the business value of the digital interaction.

The Importance of Baselining for End-User Experience Management

January 11, 2017 | By: Sri Chaganty, CTO

End User ExperinceIf  your business depends on mission-critical web or legacy applications, then monitoring how your end users interact with your applications is critical. The end users’ experience after pressing the ENTER key or clicking Submit might decide the bottom line of your enterprise. Most monitoring solutions try to infer the end-user experience based on resource utilization. However, resource utilization cannot provide meaningful results on how the end-user is experiencing an interaction with an application. The true measurement of end-user experience is availability and response time of the application, end-to-end and hop-by-hop.

The responsiveness of the application determines the end user’s experience.  In order to understand the end user’s experience, contextual intelligence on how the application is responding based on the time of the day, the day of the week, the week of the month and the month of the year must be measured.  Baselining requires capturing these metrics across a time dimension.  The base line of response time of an application at regular intervals provides the ability to ensure that the application is working as designed. It is more than a single report detailing the health of the application at a certain point in time.

“Dynamic baselining” is a technique to compare real response times against historical averages. Dynamic baselining is an effective technique to provide meaningful insight into service anomalies without requiring the impossible task of setting absolute thresholds for every transaction.

A robust user experience solution will also include application and system errors that have a significant impact on the ability of the user to complete a task. Since the user experience is often impacted by the performance of the user’s device, metrics about desktop/laptop performance are required for adequate root-cause analysis.

For example, when you collect response time within the Exchange environment over a period of time, with data reflecting periods of low, average, and peak usage, you can make a subjective determination of what is acceptable performance for your system. That determination is your baseline, which you can then use to detect bottlenecks and to watch for long-term changes in usage patterns that require Ops to balance infrastructure capacity against demand to achieve the intended performance.

When you need to troubleshoot system problems, the response time baseline gives you information about the behavior of system resources at the time the problem occurred, which is useful in discovering its cause. When determining your baseline, it is important to know the types of work that are being done and the days and times when that work is done. This provides the association of the work performed with the resource usage to determine whether performance during those intervals is acceptable.

Response time baselining helps you to understand not only resource utilization issues but also availability and responsiveness of services on which the application flow is dependent upon.  For example, if your Active Directory is not responding in an optimal way, the end-user experiences unintended latencies with the application’s performance.

By following the baseline process, you can obtain the following information:

  • What is the real experience of the user when using any application?
  • What is “normal” behavior?
  • Is “normal” meeting service levels that drive productivity?
  • Is “normal” optimal?
  • Are deterministic answers available?
  • Who is using what, when and how much?
  • What is the experience of each individual user and a group of users?
  • Dependencies on infrastructure
  • Real-time interaction with infrastructure
  • Gain valuable information on the health of the hardware and software that is part of the application service delivery chain
  • Determine resource utilization
  • Make accurate decisions about alarm thresholds

Response time baselining empowers you to provide guaranteed service levels to your end users for every business critical application which in turns helps the bottom-line of the business.

AppEnsure – Independent Solution Review

January 2, 2017 | By: Sri Chaganty, CTO

appensure

Pawel Serwan, organizer of Polish Citrix Users Group, IT enthusiast with a particular interest in Microsoft and Citrix technologies who is currently working as Citrix Administrator at Brown Brothers Harriman published an independent review of AppEnsure solution on his blog based on his testing of the product.

According to Pawel, “Today every Citrix administrator has to work with multiple technologies: hypervisors, application servers, file servers, network etc. To be able to act proactively or to troubleshoot the problem we have to check multiple tools, view many dashboards and analyze many charts. That is why I was really glad to see that AppEnsure decided to simplify their graphical interface and make it clean. Thanks to that the welcome screen is not cluttered with all possible charts and alerts coming from your servers.” He concludes in his review, “AppEnsure monitoring solution is a powerful tool that should find usage in many IT environments.”

AppEnsure empowers you to measure and increase the user productivity in Citrix Deployments with an end-user centric approach. Are you having challenges with finger pointing war room meetings, blamestorming sessions, network team complaining about bandwidth, or application downtime? Read Pawel’s review to understand how AppEnsure can help you to face such challenges.

Here is the LINK to his blog post.