Monitoring and maintaining the health and performance of your application is crucial, but it can be a complex process. Because of the importance of properly functioning software, an entire industry of application performance management software has come into existence, seemingly overnight. While top-tier APM software will usually offer similar services, all geared towards maintaining application performance and identifying problems, there can be some big differences in the specifics and pricing of the offerings.
What is APM software?
By its simplest and most general definition, application performance management (APM) is exactly what it sounds like. It is a specific area within the IT fields that is geared at the monitoring application performance, identifying problems and providing the necessary tools for developers and general IT professionals to understand and begin to fix the problems. APM has also been used to mean application performance monitoring and application performance maintenance, but these all mean essentially the same thing.
APM software provides the necessary tools that can be used to monitor performance and treat problems. Many APM software offerings are deployed on-premises, but it is increasingly moving towards SaaS. Both types obviously have their own pros and cons, and APM pricing is one of the key determiners in which option is better for small developers and devops teams. On premises software can cost several thousands, and SaaS offerings can range from $10/month all the way up to $600/month, depending on the software provider and the type of management needed.
What should APM software do?
The overall goal of any APM software is to compile data on the performance of one or more applications and present that information in a way that managers and developers can understand and make changes if necessary. But in order to do this, APM software will have several components including hardware usage statistics, software performance metrics, reporting tools and user and transaction information.
You will also want to take into account the configuration process for the software itself. You should be able to connect to be able to connect to large commercial applications within a few clicks, and the software should include support for the most popular commercial databases like Microsoft SQL, IBM DB2, Oracle and others.
The APM software should also come with an easy system for configuring and enabling alerts triggered by some specific event or action by the application. These alerts will usually come in the form of an email or text message, and it is important that the proper parties are alerted as soon as possible, in the event that something needs to be corrected. Log file analysis is another important element, and software should know what entries to pull from an application log and then turn that data into usable information.
Overall, the most important elements of application performance management include:
- Individual web request and transaction performance
- Application dependency usage including databases, web services, caching and others
- CPU, memory and other basic server metrics
- Application framework metrics
- Custom metrics as set by the business or developer
- Application log data
- Application error information