A brief introduction to Applications Performance Monitoring (APM), breaking it down to a few key points:
1. It is different from conventional infrastructure monitoring which primarily captures and reports on hardware performance such as CPU and memory but APM also covers more advanced infra technology, such as containers, etc.
2. APM tells you how the application, which sits on top of the infrastructure, is performing by going deep into the code level and it includes the capability to monitor microservices and different types of programming languages.
3. Recently (actually not so recent) it has expanded to include user experience monitoring which encapsulates capturing of the user journey, reporting of errors and performance of user-triggered activities (click-on-page) as user behavior and experience are becoming more essential.
4. With a huge amount of data being collected, it is only natural that it has become a big data platform for companies to gain insights into their operations and business. Hence the expansion into analytic!
A few important lessons which I have learned over the years:
1. Many organizations are still "stuck" at reporting service availability. This requires a fundamental mindset change as the spotlight is now on application performance and service quality. These are critical aspects of digitization which no companies can afford to neglect.
2. APM can pinpoint the problems but it can't fix them for you. At least not now, perhaps later with AI. It is not a silver bullet and it draws out a very important point that organizations MUST HAVE system/domain expertise to maintain and improve the systems which are the most critical to their business!
3. Not everything is created equally. Hence you don't need a full-fledged APM tool for every system. Focus on the most critical systems. That will not only save you money but enable you to have undivided attention only on those which you care deeply about.
4. It is hard to find the best APM tool in every aspect of its capabilities. You just have to decide what are the most crucial elements for success and find the best solutions for them. You may end up with a couple of tools, hence it will be good to look at how you can gain a cohesive view across these tools to form your master service performance dashboard. Some form of integration may be required.
5. Many organizations have a central monitoring team who have eyes-on monitoring 24x7. This is old school and ineffective. Natural language processing (NLP) is the future with exception-based voice notification and an intelligent contextual query to have a deep understanding of systems health and performance, anytime, anywhere.
APM is a complex topic as it is a multi-faceted discipline. It will continue to evolve, branching into other domains such as service automation (self-healing), service management and deep learning. These areas have been coined as AIOps by Gartner, heavily anchored on AI. Definitely a space to watch out going forward!