I’ve been looking forward to writing this blog for some time. I have worked with many enterprise customers to document the pain they solved using AppDynamics and a common question I always ask is “What was the actual business impact of that slowdown or outage?”, the result is that most customers guesstimate the revenue impact of slow performance, and are generally nervous about calculating such number.
They’re nervous because they might expose to the business how much revenue they are costing them each year thru incidents and outages. That’s definitely one way to look at things. However, if you flip this problem around IT could actually show the business how much revenue it created as a result of agile releases or initiatives such as SOA, Cloud and Virtualization.
Imagine if a new application feature suddenly caused a 5% increase in revenue? Wouldn’t it be cool for IT to share this fact with the business? With AppDynamics new real-time business metrics IT can do just that. Here’s how it works…
1. Monitoring Business Transactions
A business transaction is a type of user request in your application. AppDynamics can auto-discover these and monitor the response time of such requests, this allows IT to see the real end user experience and detect problems instantly as they happen. For example, below is a Checkout transaction from one of our customers that was requested 4,639 times, it had 53 errors and over 700 were classified as slow from their normal performance baseline.
2. Extracting Revenue Metrics from Business Transactions
Once you starting discovering and monitoring the performance of business transactions, the next step is to define which key business data you want to extract and report on. In AppDynamics you can define “Information Points” which are essentially custom metrics from extracting method parameters in application code. For example, in the below screenshot I created an information point called “Checkout Revenue” and specified the application code where AppDynamics should extract the revenue values, in this example it was the method signature:
I then created a custom metric called Checkout Revenue based on a SUM operation on the getter chain:
AppDynamics will now extract all the checkout revenue values from every transaction and make this available as a new metric “Checkout Revenue” which can be reported in real-time just like any other AppDynamics metric.
3. Correlating Application Response Times with Application Revenue:
Now that AppDynamics is monitoring the performance and revenue of your business transactions, its possible to correlate and report these metrics over-time so IT can understand their relationship. Take the below example, which shows the revenue per minute vs. the response time per minute of the application. As the screenshot shows, its pretty clear what the real business impact of this slowdown was to the business. Now imagine the reverse, imagine if the application got faster and that have a positive impact on revenue and transaction throughput? Wouldn’t it be great to track this information over-time so you can see the real impact of agile release cycles?
4. Creating Real-time Business Dashboards
Today nearly every monitoring dashboard is about application response times, or the health and resource of infrastructure. So when something glows red or flashes on a dashboard it denotes something very bad is happening. The reality is that most dashboards glow red everyday when performance and resource spikes. When is a problem really a problem? With real-time business metrics you can now mash and fuse business KPI’s with your application and infrastructure metrics. So when something turns red you can see the revenue impact of such issue.
5. Being Pro-Active with Business Alerts
Looking at monitoring dashboards periodically (like the above) is the first step to being pro-active with business impact. However, if you want to be truly pro-active you need to automate this entire process and let your monitoring solution do the alerting for you. The great thing with AppDynamics is that it can self-learn the normal value of every metric it collects, and create a dynamic baseline (threshold) over-time. This allows it to accurately detect deviations caused by abnormal activity. So just like we can detect deviations in application performance we can now do the same for your application revenue or order throughput. For example, one of our customers Orbitz said:
“If we’ve sold less than $1,000 in five minutes, there is probably a problem, even if it’s 2 o’clock in the morning. If our sales have flatlined, that’s a critical problem. I don’t know how to be any clearer.”
Geoff Kramer, Manager of Quality Engineering at Orbitz Worldwide
The ability to alert on business impact vs. application or infrastructure performance can be a game changer. It helps IT truly align with the priorities and needs of the business, allowing them to speak the same language and manage the bottom line.
You can get started today with real-time business metrics by signing up and taking a free trial of AppDynamics Pro here.