The infrastructure of various applications has exploded in recent years. More and more companies are realizing that it’s important not only to monitor their hardware, but also to control applications and their relationship to other applications. They are faced with the great challenge: How can I meet this requirement without much technical or programmatical effort? This question is the main content of this Article series about Application Performance Management.
Once upon a time, the desktop was the only entry point for software. Today there are various devices with different resolutions to use the same application. At the same time, the complexity of applications has increased. Whereas in the past there was usually one web, one app and one database server per application, today there are different app servers with different technologies, such as Tomcat, Apache or Jboss. In addition, the application provides various technologies, such as cloud or microservices. They all have to work together in some way.
Overview in the application jungle provides the ”Application Performance Management” (APM). Various Solutions already exist on the market that can be used relatively quickly and easily even without much know-how. All of these tools offer nearly equivalent services. They can monitor the hardware, the performance of the application, call graphs of the application, log files and much more. In addition, data of the end user can be determined (which browser is used, what is the load time in the browser of the end customer, etc.). The tremendous advantage of an APM solution is that all this data can be stored in one application and linked together. This makes it possible to proactively respond to upcoming application errors for the first time. It is no longer necessary to wait until the error has occurred and then to remedy it reactively. This saves costs during development and increases customer satisfaction, as potential mistakes do not even make it to the end user.
In the fields of information technology and systems management, application performance management (APM) is the monitoring and management of performance and availability of software applications.
APM strives to detect and diagnose complex application performance issues at expected level of service. APM is the translation of IT metrics into business meaning
Need for APM
Who does not know the following situation: A serious production error occurs. A ”War Room” will be opened to repair the error with the involvement of all departments. However nobody of the participants wants to be blamed for the mistake. The pointing game begins, all the others are guilty. On the one hand this behavior leads to dissatisfaction between the departments and on the other hand it costs important time to remedy the mistake.
Why is that the case? Most companies have ”silo monitoring”. Each department monitors only the parts of an application for which it is responsible. Thus, e.g. Operations only the JVM and the MQs or team infrastructure only the server and the OS. It may happen that the individual silos only give warnings, are ”only” yellow, but the end user still has a bad ”user expirience”. None of the departments is, perhaps rightly, aware of a debt. Nevertheless, the mistakes combined make up the problem. It can be seen that such ”silo monitoring” does not capture the relationships between the individual components and therefore can not monitor them.
Reliable monitoring and proactive action require a breakthrough across the entire application of all components involved. That’s what an APM offers.
There are other reasons why an APM is advisable:
- The data are finely granular (up to every second)
- All departments work on the same database
- There is only one monitoring application, so only one application must collect the data and a multiple monitoring is prevented
- All departments can easily create dashboards according to their needs
- It can be defined by a role and rights system who can see what data
Some features of an APM
- Mobile app monitoring
- Real User Monitoring
- Business Transaction Montoring
- Application Monitoring
- Server monitoring
- Network Monitoring
- Database Monitoring
- Log Monitoring
- Synthetic Monitoring
- Run Book Automation
More detailed features and the differences between the various APM solutions will follow in later parts of the series.
- Development can detect and fix potential errors at an early stage of development, if already the test environment will be monitored
- The whole Topic of “continuous integration” can be monitored by an APM
- Quality management can also access the same data in the test environment and become active earlier
- The business can act proactively through predictions
- Marketing can monitor the success of actions directly in the system
- The management can ask for important KPIs
There are a number of different providers in the market for APM solutions. Some of them:
- CA APM
- New relic
- Application Insights Azure
In the following Articles of this series about the subject “Application Performance Management” the functions, the differences between the individual solutions, the infrastructural structure and prices of the individual solutions will be shown and discussed.