Q&A: Viewing APM from the End User's Perspective
Application performance must be evaluated by looking at what your end users experience, not just what dashboards tell you is going on.
IT environments are more complex than ever. For example, managing the performance of cloud-based applications is complicated by the "opaque" nature of the cloud. Web app performance can be impacted by a variety of problems that end users don't care about -- they just want their screens to respond promptly so they can get their work done.
What can IT do? Start by looking at the end-user experience, argues Steve Tack, chief technology officer of Compuware's Application Performance Management (APM) Business.
Enterprise Strategies: For data center managers, how and why has the task of application performance management become more complex?
Steve Tack: Today's applications -- both employee-facing and customer-facing -- are a composite of dynamic services. This means that the performance of these applications -- their speed, consistency and reliability -- depends on a wide range of variables, starting with your data center and extending out beyond the firewall to include cloud service providers, third-party service providers, content delivery networks (CDNs), regional Internet service providers (ISPs), local ISPs and finally, end-users' browsers and devices. This concept is known as the application delivery chain.
Today's data center managers are responsible for managing all of these components impacting their end-users' experience, whether these elements are inside or outside the walls of their data center. Just one "offending" link in the delivery chain can ruin an end user's experience with your application. Your end users don't care what the root cause of a performance issue is; whether or not it's technically your "fault" -- they'll simply abandon the application, putting employee productivity and revenue generation at risk.
What are the keys to optimizing the entire delivery chain to maximize application performance?
The key to optimizing the entire delivery chain starts with an understanding of the true end-user experience. When a performance degradation is detected, you can then trace "front to back" across the entire application delivery chain -- from end-users' browsers and devices all the way back to your data center -- to identify and address any performance bottlenecks. If a third-party service adding functionality to your Web site, such as a streaming media service, is slowing down, you can collaborate with that provider to ensure your SLA is met. If the issue is a slow regional ISP impacting end users within a specific geographic range, you can strategically place a CDN closer to these end users to quicken content-rich, multi-step applications.
Why do many businesses today lack a complete view of how their applications are performing?
To truly understand the performance of your application, you must have a bird's eye view into the end-user experience. Gleaning this perspective can be complicated and a bit overwhelming because end users may be geographically dispersed and use an extremely wide range of browser/device combinations that download site content and applications in different ways. This means your diverse end-user segments may be having vastly different experiences, so you need to prioritize and focus on those segments that are most critical to your business.
Worldwide testing networks offer synthetic application performance monitoring from hundreds of Internet backbone locations and "last mile" vantage points (consumer-grade desktops, ISPs, and major mobile carriers) around the world. There are also real-user monitoring solutions that offer a quick, easy, and real-time view into true end-user experiences across browsers and devices, and you can correlate these experiences to key business indicators such as conversions and page abandonment rates, helping prioritize problem resolution.
Why is a focus on the user experience so critical?
Many IT professionals and data center managers still gauge the performance of their applications by looking at what's going on within the individual components inside their data center. If you examine the infrastructure of all servers using traditional system management and monitoring tools that show everything is working and the local network is running fine, you might conclude that your users are satisfied. Unless all your end users live in your data center, you can't make this assumption because there are so many performance-impacting variables beyond the firewall.
Why do virtualization and cloud computing -- technologies promising substantial benefits, including increased agility and reduced costs -- pose a threat to the performance of applications from an end-user point of view, and what can be the result?
Virtualization software vendors tend to offer component-based monitoring tools. These tools gather metrics such as CPU usage, network load, and disk I/O, which simply don't convey the end-user application experience -- the only perspective that truly matters. Furthermore, many of the monitoring best practices in a physical world don't apply to a virtualized infrastructure.
Analyzing performance from the end-user perspective can enable businesses to track the performance curve -- i.e., the point of utilization of overall CPU power -- at which application performance begins to drop off and drive end users away. In virtualized environments, understanding this optimal utilization level helps strike the proper balance between too many idle resources and the risk of reputation-damaging problems from over-provisioned resources.
Managing the performance of cloud-based applications can be difficult due to the "opaque" nature of the cloud, meaning that cloud customers often have very little visibility into what's actually going on in the cloud and little visibility into cloud resource management decisions. For example, what happens if your "neighbor" in the cloud experiences an unexpected traffic spike? Contrary to popular belief, cloud resources are not without limits, and a spike in a neighbor's traffic may impact your application performance. The only way to avoid this is to demand specific application performance guarantees from your cloud service provider up front, and routinely validate your SLA by measuring your end users' experiences on the "other side of the cloud."
What tools can help businesses understand how performance of cloud service providers and/or the Internet infrastructure overall may be impacting application performance for their end users?
For today's modern applications, the Internet is the data center, and with so many variables impacting performance, you must have a consolidated, all-encompassing view that pinpoints the root causes of performance issues -- both within and beyond your firewall -- for your most important end-user segments and applications. This ensures a proactive approach to identifying and fixing problems and reducing mean time to repair.
In addition, there are now online cloud forums available that deliver real-time information on the performance of leading cloud service providers. Furthermore, there are tools which show at any given moment how the Internet infrastructure is performing in aggregate from a "last mile," end-user perspective across the globe. Such tools can help businesses determine if application slowdowns are unique to them or part of a wider problem.
How does end-user monitoring help?
Poorly performing applications that are slow, unreliable and low quality can alienate employees and customers, leading to lost worker productivity and revenues and poor brand image and customer satisfaction. Truly, the only perspective that matters is that of the end user -- not the servers in your data center. End-user monitoring can help identify, isolate, and fix performance problems before they escalate, ideally before end users are even aware a problem exists.
How can businesses best address performance across a rapidly increasing range of usage scenarios (different browsers, versions, devices, etc.)?
Businesses need to prioritize and routinely measure and monitor the end-user experience across the most common usage scenarios and key geographies. For example, are the majority of your customers Internet Explorer users in North America or Firefox users in Europe? From which types of mobile devices do you receive the most traffic: Blackberries, iPhones, or Sidekicks? You shouldn't waste too much time or energy on usage scenarios or geographies that aren't overly significant from a business perspective.
Why is it important for non-IT executives -- line of business managers, for example -- to also understand the end-user experience?
The application delivery chain is only as strong as its weakest link, but you can't see every link. You have blind spots in major areas that could be causing problems you don't even know about; nor do you understand their business impact.
Ensuring effective performance for Web-based applications is both a business and IT responsibility, and strong partnerships here are a must. Through informed, proactive communication, business and IT executives can ensure the best possible end-user application experiences within an acceptable cost structure.
For example, let's say the business team wants to add new site content (such as graphics or video) during an anticipated period of peak traffic. The IT team can demonstrate how the addition of this content will likely impact the end-user experience under high loads for critical revenue-generating applications. A cost/benefit analysis can also be used to weigh the value of third-party services. How might they potentially impact application performance downstream, and is this worth the benefit of greater feature-richness? Would these services slow performance, likely resulting in a decrease in conversions, or hinder the site's ability to handle peak traffic during an upcoming marketing campaign?
Answering these types of questions helps to achieve a critical balance between Web site functionality and performance, in alignment with end-user expectations.
What role does Compuware play in application performance management?
Compuware offers an integrated application performance management (APM) solution called the Compuware Gomez platform that includes both Compuware's on-premises APM products (formerly called Vantage) and its software-as-a-service (SaaS) APM products, now all operating under the Gomez product brand name. Through this platform, Compuware can help businesses increase revenues, profitability, and brand equity by optimizing mobile and Web application performance across the entire application delivery chain -- from data centers through the cloud to the edge of the Internet.
Compuware also offers authoritative industry benchmarks that measure and rank Web-based application performance among leading companies. These benchmarks can help businesses determine the relative strength of their own online application performance and if there are areas for improvement based on the "bar" being set by their industry counterparts.