Internet users and general consumers alike are savvier than ever before. They expect fast response time and good service, and when one company doesn’t provide it, they move onto the next. Application performance management (APM) is a way of getting ahead of IT issues before they affect customers’ expected levels of service.
In the IT world, companies might not know about an IT issue until it’s too late – usually after customers affected by the issue – with the website or purchasing process – contact the customer service team en masse. When this happens, it’s often too late to address the issue without creating a bad customer experience for some. And the company is already on the defensive.
Why Does This Happen?
The problem is that enterprise IT is increasingly complex – a large company can easily rely on hundreds of applications, and these applications must be able to talk to each other seamlessly. Then when an error occurs in one area, it can quickly trigger a domino effect that ends in a bad customer experience.
So, imagine if your company could notice small errors in applications before they cascade into issues for the customer. APM aims to do just this, and there are plenty of APM solutions on the market for companies of all sizes.
Application performance management can also be known as application performance monitoring (and is thus still APM). Without being too technical, both terms can be used interchangeably, as these tools/activities are defined as the monitoring and management of the availability and performance of software applications.
The goal of any APM solution is to maintain an expected level of service. Thus, APM focuses on the detection and diagnosis of performance issues in applications – to find and fix them before they cascade into larger, more significant issues. These can include problems in code performance, dependencies among applications, slowed transaction times, and the overall user experience. A strong APM solution should find the reason for the problem – not just the fix.
Digging Deeper into APM Solutions
As with anything in the IT sector, companies may market an APM solution that isn’t truly APM.
The IT industry research firm Gartner often sets the standard definition for technology practices, and it defines APM as any software and hardware components that monitor performance in five key areas. These are defined below:
- End-user experience monitoring (EUM) and real user monitoring (RUM). These tools provide details about response times and errors as they occur on users’ desktop and mobile devices. These details help identify whether issues are related to compatibility, geography, or certain pages and functions. You can learn about the differences between real user monitoring and synthetic monitoring here.
- Runtime application architecture discovery modeling and display. This long name stands for something easy to understand – graphics that show how various components within many applications communicate with each other. Ideally these tools should automatically discover the relationships, updating them in real time as they change. This provides a quick, visual way to understand deployed apps and can help identify and troubleshoot problem areas.
- User-defined transaction profiling. This tracks every user’s activity within an application. The tools create a single business transaction (BT) each time a user logs-in to an app or webpage, and shows all the back-end processes that are associated with that user session. For instance, a BT can show all the data and communication that occur on the app’s servers and across databases and message queues to validate a user’s credentials and track their actions. To a customer, a single BT, like purchasing a shirt online, can involve hundreds of smaller transactions and touchpoints across various applications. For instance, verifying the user’s log on, seeing availability for what’s in their virtual cart, checking with banks in respect of payment methods, serving up delivery information, etc.
- Component deep-diving monitoring in application context. This helps troubleshoot complex code issues by recording and measuring internal app components. For instance, the call stack of code execution and time will be recorded in an application server, and SQL queries, statistics, and procedure executions will be recorded for a database server.
- Analytics. When applied to APM, this broad term can include basic report generation of raw data. More sophisticated systems (and some would say “true” APM solutions) will also baseline and correlate data, providing actions that can help identify and solve issues in real-time.
Benefits of APM Solutions
Essentially, deploying an APM tool provides companies with early warnings – it’s like checking the weather so you know to bring an umbrella, instead of arriving soaking wet at your next meeting.
The above five dimensions of APM alert IT about subpar performances in applications before they become significant (business) problems. In continuous delivery environments, APM also helps IT teams know about weaknesses before and during releases, so they can quickly address them.
When APM solutions first debuted in the market, they focused on finding issues in code, databases, and servers and alerting IT as quickly as possible. Start-ups challenged these by going a step further, finding the root cause of the issue(s). Thus best-in-class APM solutions now not only see the issue, they also analyze its impact and provide actionable paths to fixing it, all with real-time reporting.
Ultimately, the primary purpose of APM solutions is to prevent small issues from snowballing into major problems. However, companies that have successfully implemented APM tools report another major benefit – IT and business units can now use a single source of information – the raw data made digestible in APM tools – to understand how an error in IT can have a significant impact on a business unit, allowing for better collaboration.
Choosing the Right APM Solution
While there are specific functions that define a strong APM solution, there are many options on the market. Consider these options when deciding which APM option is best for your company:
- Complexity. Will your APM solution need to manage a few applications, or hundreds? Are these applications all located in-house, or are they in the cloud as well?
- End user. Some APM tools are geared specifically for developers, which may be too restricting for non-dev users.
- Visual representation. How necessary are graphics for your team? If many people will be accessing and relying on this information – like sharing a dashboard with C-suite executives on a big sales day – graphical dashboards can help relay raw data much easier. But these capabilities may be less important if only data experts are interacting with the tool.
- Scalability. Does the APM solution only need to solve your application/service management problems now, or will it need to scale much larger as your operations grow?
- Cost. APM solutions run the gamut in terms of cost – simple, stripped-back tools are available for free, while more features, more users, and more scalability will require a higher pricing package.
Is your organization fully benefitting from APM solutions? If so, what other advice would you offer? Please let me know in the comments.