Managing App Performance vs. User Experience: IT Ops Teams’ Biggest Challenge

By   Sridhar Iyengar
MD , Zoho Europe | Sep 28, 2015 10:00 pm PST

There is a growing culture of impatience in today’s fast-paced world. The demand for instant results means that most users cannot tolerate slow loading web or mobile applications. Users expect the applications to work flawlessly across platforms, irrespective of where they access from, when they do it and how they access them.

At the same time, businesses want to deploy new applications that are highly interactive in nature and provide a rich and engaging experience to the users. These applications use complex infrastructure in the back end as well as execute complex logic on the client side. Therefore, the big challenge for IT operations teams in most organisations is to ensure continuous delivery of their complex, dynamic applications while catering to the user’s expectation of instant gratification.

To overcome this challenge, it is vital for enterprises to quickly detect and resolve performance issues with their applications before they affect the end users. It is just not enough to know how the IT infrastructure is performing; IT teams need to know how their applications are behaving for their end users as well.

Not measuring the end-user experience can have grave implications for a business. Application downtime or slowdown can turn away users, impacting the revenue as well as the credibility of a business, which can be hard to overcome.

Common methods of end-user experience monitoring

There are multiple approaches to measuring the end-user experience of applications, but the most common ones are synthetic transaction monitoring and real user monitoring.

Synthetic transaction monitoring involves simulating the actions of an end user on a specific application. This technique requires an agent software to be installed on a remote machine. Most vendors provide recorder tools to record the actions of a typical end user. These recordings are saved as scripts, which are then executed by the agent at periodic time intervals to emulate the actions of a user. The script can do anything that an actual user can do. The agents can be installed in multiple geographical locations such as corporate branch offices or even actual customer locations.

The synthetic transaction monitoring capability helps businesses to proactively monitor availability, response times, and page loading times of their applications from multiple locations, helping them troubleshoot issues faster and enhance customer experience. Also, since the scripts are replayed periodically the metrics obtained are also dependent on the user traffic, network lags and other real time factors, thus providing a more accurate idea of what the user is facing.

However, despite all this the limitation of using synthetic transaction monitoring is that it doesn’t monitor a real user’s transaction. Hence it is typically used for automatically monitoring the availability and response time of an application from multiple locations 24×7.

Real user experience monitoring involves agent-based instrumentation technology for data acquisition and transmission. This monitoring technique is used to monitor user transactions in real time and trouble-short it in case of problems such as slowness or application bugs. Application Developers have to install agents on the application server to help capture and visualise transactions end-to-end, with performance metrics from all components ranging from the URL down to the SQL level. This provides a visual breakdown of all the user transaction flow being executed in each layer of the application infrastructure.

The key performance indicators tracked by the real user monitoring approach include response time and throughput taken by each application component, with the ability to trace transactions end-to-end via code introspection. This enables the IT teams to identify slow web transactions and helps in isolating bottlenecks quickly and the specific application code that caused it. The underlying database is also typically monitored in most cases, thus providing the ability to identify slow database calls, database usage and overall performance of the database. Users will be able to identify the SQL queries executed during a transaction and hence identify the worst performing queries.

There is also the javascript-based Real User Monitoring approach which requires the users to generate a small Javascript snippet and insert it into the web application that needs to be tracked. This approach provides additional details such as detailed response time split into various components such as network time, back end time, front-end time, and page rendering time. IT teams can also get details such as performance of the application based on browser type and from different geographical locations.

Each of the above techniques has their distinct advantages and limitations. Synthetic transactions are useful to determine availability and response before a user can login and thereby allow proactive application monitoring. On the other hand, the reason Real User monitoring has gained popularity over the last few years as it allows determining application experience of ‘real users’ as against ‘simulated’ synthetic transactions. With the rise of mobile technologies and apps, mobile application performance monitoring is gaining signification for a business to ensure that their mobile app users have a great mobile experience. The mechanisms mentioned above can be used for Application Performance Monitoring of both web applications as well as mobile applications.

Most businesses would use a combination of these approaches with more focus on the real-user to effectively monitor end user experience and thereby deliver a superior user experience for their customers.[su_box title=”About Sridhar Iyengar” style=”noise” box_color=”#336588″]SridharSridhar has spent over 15 years building high performance products for Enterprises, Service Providers & Carriers. Prior to Zoho, Sridhar worked at the Indian Institute of Technology (IIT-Madras) building a wireless telecom system. Being part of Zoho’s initial startup team, he have thoroughly enjoyed the journey from a bootstrapped startup to a global software company & building software products over last 2 decades. He have the passion & entrepreneurial drive to create winning products with great customer experience.

He thrive on creating & working in a fast-paced agile product culture. With a strong background in technology & he have played leadership roles in Product Management, Marketing, Program Management and Product Engineering. Sridhar have conducted Product Management workshops & seminars for NASSCOM & startup hubs for aspiring product builders and been a guest speaker at NASSCOM and other Tech forums.[/su_box]