What is APM or Application Performance Management?
Today’s cloud based applications are highly dynamic and span many servers and dependent services. Supporting them requires access and correlating details across multiple sources and tools. Agile development makes release cycles shorter than they used to be in the past, forcing developers to be more involved in day-to-day IT operations. However, at the same time, it reduces developers’ ability to get the information they need to resolve performance issues in their applications, creating a need for for application monitoring and application performance management.
There are a lot of tools on the market that provide some of the information, but when an issue occurs, it is very hard to pinpoint the problem across multiple tools, servers, and environments. Among these products you can find:
Log aggregation/ Log management
These tools typically allow you to aggregate log files from different servers, environments, and applications, allowing for easy access and centralized repository for the files allowing for easier search, alerting, and notifications. As more companies move to the cloud and require scale up and down mechanisms, having a centralized log repository becomes more important as a server that was active when an issue occurred may not be active when troubleshooting and without having a log management system, the data could be lost forever.
Error or exception tracking solutions typically allow for centralized error tracking so that every occurrence of an error or a bug is presented, allowing developers to see trends and error rates, as well as to browse and search through the data and get comprehensive error detail information.
Within this group you’ll find various solutions with some focus on the network and some on the server, but they all collect hardware related data and provides visibility and notifications to the status of the application infrastructure
Application monitoring vs. Application Performance Management (APM)
This is where the definitions become a bit blurry and while there is a difference between these tools, some companies are using the terms interchangeably, or as Wikipedia describes it “Since the first half of 2013, APM has entered into a period of intense competition of technology and strategy with a multiplicity of vendors and viewpoints. This has caused an upheaval in the marketplace with vendors from unrelated backgrounds (including network monitoring, systems management, application instrumentation, and web performance monitoring) to adopt messaging around APM. As a result, the term APM has become diluted and has evolved into a concept for managing application performance across many diverse computing platforms, rather than a single market.”
According to Technopedia, it is “a process that ensures that a software application processes and performs in an expected manner and scope. This technique routinely identifies, measures, and evaluates the performance of an application and provides the means to isolate and rectify any abnormalities or shortcomings.”, however it doesn’t talk about how deep the monitoring goes. We define it as basic application monitoring which gives high level indications of the application health and behaviour by measuring various elements response time.
Application Performance Management
APM takes application monitoring to a deeper level in which the application is analyzed down to the code-level to provide indications of not only if the application is working properly, but also which specific elements in the code do not perform as designed and require a fix or optimization.
Stackify provides a developer-friendly APM tool which combines application performance management with error and log management, all in one platform. Try it out for yourself, start your 14 day free trial!