Monitoring What Matters for Application Performance in a Virtualized Environment
Today's dynamic IT environment is experiencing constant changes. Virtualization and agile development driven by recurrent changing business requirements are driving frequent application and infrastructure changes. Whether you are going through a significant initiative like implementing a private cloud, rolling out a new application, moving to a public cloud or just managing the daily routine of provisioning new virtual machines, code-pushes, patches or configuration changes, you’re generating change in your IT environment. The presence of unremitting change, while emblematic of progress, presents challenges to those charged with ensuring end-user experience. In order to meet high user expectation, enterprises need to alter the way they measure, manage and monitor performance.
Once, companies might have managed performance by monitoring the response time and utilization of JVMs and databases and by setting CPU thresholds and baselines that relied upon past information to understand what's "good" or "bad" in terms of utilization or state. That is no longer a valid way to measure and alert stakeholders. If the things we measure are changing every day, baselines are almost immediately obsolete. When the environment is in constant flux, the only thing that doesn't change is end-user expectations and the transaction response times. Therefore, in today's dynamic environments there are two major ingredients that are required to properly manage application performance:
- Real-User Measurements (RUM) - measuring the end-user experience which provides a real-time, reliable, actionable indicator of what your real users are experiencing.
- Application Behavior Change Detection and Analysis – transaction management which is capable of not only tracking and metering transactions through all hops, but also of building transaction and application behavior models and detecting changes, and therefore immediately identifying the source of disruption before end-users are impacted.
Key Ingredient #1 - RUM
RUM is basically a smart stopwatch, reporting the time each user must wait to perform specific actions within various applications. In an industry accustomed to touting uptime, response time has become an increasingly important part of user satisfaction and it is vital for understanding the real-time state of applications. For enterprise applications in particular, the guarantee of one to two-second response time is common. When the uptime is good but the response time is poor, the user experience degrades, and the business impact is immediate. When your competition can offer IT service "in a click," bad online service directly impacts your revenues and churn rates.
RUM is also an easy way for IT to communicate with the business. It's a language that business people understand. "Your application response time is 1.2seconds on average, and 98% of the end-user requests are completed within 1.4 seconds" is something that any business application owner likes to hear. On the other hand, "The CPU utilization is 80% and it was 70% last week, the database seems ok and so are the application servers," doesn't mean much to them. So having a real-user monitoring solution in place will help to establish the common language that both IT and business can understand.