Business Journeys: Monitoring Complex Business Workflows

AppDynamics is known for viewing application performance data through the lens of business transactions that provide perfect context to application and business performance. With the launch of Business iQ, we provided a real-time solution for business owners to identify, analyze, and report key business metrics, along with APM metrics.

The primary goal of Business iQ is unified monitoring – to deliver a common platform for application teams, including business owners, developers, and Ops – to communicate and make faster, data-driven decisions that matter the most to businesses.

AppDynamics Business iQ can ingest data from multiple data sources, including events generated by AppDynamics agents like business transaction events, log events, end-user events, as well as events sent to Business iQ using REST APIs. As a result, users can perform complex analytics on data from these different sources and events.

As customer demands for flawless services rise, application teams need to evaluate the success of a business process holistically. The challenge, however, has been the lack of an efficient, unified view to both business users (who want a 10,000-ft. view) and IT (who want granular code-level information) for an entire business process that spans multiple applications, services, or events. There isn’t a tool available in the market that provides this integrated view for an end-to-end process due to the complex, multi-part business workflows that exist in almost every industry.

Consider this example of a loan application approval process that spans different event types and applications, with multiple milestones linked together to underline a user journey.

Picture3.png

In this workflow, “Application Submission” information could come from business transaction events, whereas “Document Verification” status could come from logs. “Credit Approval” and “Underwriting” are performed by third-party service providers and the status could be updated in logs as well. “Final Approval” status could then be updated in transaction events.

The example above is a simplistic, linear representation of a typical loan application process, and even then, there is tremendous complexity in monitoring these individual milestones and performing analytics on the aggregated business workflow. This complexity is seen across various industries and workflows where the business journey can last for hours, or sometimes days. This includes insurance claims, cell phone activation, payment transfers, and more.

AppDynamics aims to solve these complex business processes by providing a unified, end-to-end application view with Business Journeys.

Business Journeys

AppDynamics Business Journeys is another example of AppDynamics’ commitment to providing the most granular application performance data, translated in business terms, for business users and their IT colleagues.

AppDynamics Business iQ users can currently query and visualize data for all AppDynamics event types, and we’re extending similar analytical capabilities for Business Journeys. Business Journeys’ composite events can also be used to create eXperience Levels (another exciting feature released in 4.4) to monitor and report key business and end-user metrics.

Authoring a business journey is a straight-forward, one-time activity. Users only need to define the data for key milestones or steps in the business journey and a distinct primary key to uniquely identify and tie together these independent milestones. For example, the different milestones in a loan application business journey are defined above as “application submission,” “document verification,” “credit check,” etc. What’s more, data for each milestone can come from different applications and different AppDynamics event types (business transactions, logs, or end user events).

Apart from the default information collected by Business Journeys, such as total time taken, event time stamp, etc., users can also extract additional business information (such as customer details, loan amount, loan type, etc.) from the various data collectors.

Picture1.png

With Business Journeys, users can also define the business workflow thresholds for “Normal,” “Slow,” “Very Slow,” “Stalled,” and “Error.” Composite events are automatically compared against the set thresholds, and the events are classified accordingly for analytics and visual representation. These health values are calculated on the total time taken to complete the milestones in a business journey. For example, a business journey is classified as “Slow” when the time for completion is three standard deviations greater than the value for all journeys in last two hours. These thresholds can be customized as needed.

Picture2.png

After configuring key business workflows, the composite Business Journeys events are created during data ingestion, and hence, provide a real-time view of the application workflow. The feature allows application performance bottlenecks to be resolved based on key business metrics and reduces the mean time to business awareness (MTBA). For example, the marketing department can minimize customer churn by running timely promotions or offering discounts to customers impacted by a slowdown in the payments API.

Below are a few dashboards created for a loan application Business Journey, using the powerful AppDynamics query language (ADQL) and visualization options of Business iQ.

Today, Business Journeys can help modern enterprises from all industries solve critical business workflows. And we’re continuously improving the feature to address even more complex business journeys. Keep an eye on our future releases for exciting updates to Business Journeys.

Guruprasad Tahasildar, Staff Software Engineer at Appdynamics, also contributed to this blog post. 

Moving the DevOps Needle in Enterprise Organizations

DevOps has proven itself across many smaller organizations but large enterprises are usually slow to change. It can be a daunting task even identifying where to make changes since there are so many processes and organizational silos to get in the way. As a veteran employee of small, medium, and large enterprises I have figured out ways to drive organizational change based upon getting results. In this presentation I will describe my methods for creating change within and across organizations and provide specific examples of how to begin a meaningful shift towards making DevOps a standard practice within your organization. I’ll detail some of the roadblocks to making DevOps a reality and explain how to overcome these obstacles.


[slideshare id=26955993&doc=devopsdays-movingthedevopsneedle-final-131007174831-phpapp01]

My Top 3 Automated Tasks for Finding and Fixing Problems

Gears-BrainAutomation sets apart organizations at the top of their game from the rest of the pack. The limiting factor in most organizations is that they are usually too busy putting out fires and keeping up with all of their other obligations to expend the effort required to envision and build out their automation strategy. With that in mind I have created a small list of the automation tasks that I feel provide the most value to an organization. Along with these tasks I explain the type of effort involved and reward associated with each one. All of the information presented is based upon my 15 years of troubleshooting within enterprise operations and applications environments.

IT Operations

1. Collect troubleshooting metrics – To me this is the no-brainer of automation tasks. For each particular type of problem you always want certain information to help resolve that issue. This is also the easiest of my top three to implement but may provide less value than the other two. Here are some examples…

  • Hung/Unresponsive JVM/CLR – Initiate and store thread dump, restart application on offending node.
  • Slow transactions plus high server CPU utilization – Collect process listing to determine CPU contributors and spin up extra instance of application.
  • Transactions throwing excessive errors – search log files for errors and send list to appropriate personnel, based upon error type possibly probe individial components deeper (see #2 below)

Application Operations

2. Probe application components – This one is really useful for figuring out difficult application problems but requires more effort to set up than #1. The basic concept is that you need to find out from the application support team what steps they would take manually to trouble shoot their application if it were slow or broken. The usual responses are things like “Check this log file for this word”, “Run this query against this database and if the output is -3 then I know what the problem is”, “Hit this URL to see what the response looks like. If the page does not return properly I know there is a problem with this component”, etc…

It may seem like a lot of work to set up this type of automated probing at first but once it is set up it becomes an invaluable troubleshooting tool. Imagine that the application response times get slow so these troubleshooting measures are automatically invoked and you get an email with the exact root cause within minutes of performance degradation. With this type of automation there is usually a known resolution based upon the probing results so that could be automated too. How handy is that?

Business Operations

Blame_Flowchart3. Alert the business to changing conditions – This is where the IT staff has the ability to really make an impression and impact on the business. One of the most overlooked aspects of monitoring and automation is the ability to gather, baseline, alert, and act based upon pure business metrics. Here’s an example scenario…

Bobs business has an e-commerce website that sells many different products. They use AppDynamics Pro to track the quantity of each item sold along with the total revenue of all sales throughout the business day (using the information point functionality). One day Bob gets an alert that the latest greatest widgets are selling way below their typical volume but the automation engine searched the prices of major competitors to find that one competitor lowered prices and is undercutting business. With this actionable information Bob is able to immediately match the pricing of the competition and sales rates return to normal before too much damage is done.

Obviously business operations automation can be the most complex but also the most rewarding. Reaching out to the business and having a conversation about their activities and processes can seem daunting but I can tell you from personal experience that the business is more than willing to participate in initiatives that save them time and money. This type of conversation also normally leads to the business asking about other ways to collaborate to make them more effective so it is a great way to improve the overall level of communication with the business.

AppDynamics Pro enables a new level of automation because it knows exactly what is going on inside of your applications from both a business and IT perspective. Your level of automation is limited only by your imagination. I recommend that you start out small with a single automation use case and build outward from there. You can use AppDynamics Pro for free to try out our application runbook automation functionality on your specific use case by clicking here.