Application Performance Management (APM) tools help IT administrators ensure that the enterprise applications that employees use to do their jobs deliver a quality user experience and meet defined performance standards or KPIs. Not only do APM platforms indicate that there are slowdowns or other performance problems, but they can determine the root causes of these problems. APM tools have traditionally been purchased by the IT department to ensure that applications are running smoothly and efficiently. However, APM is increasingly being used by product development teams as well.
Software Development and the DevOps Revolution
The days of software developers throwing finished, debugged code over the wall to the operations team are over. Traditionally, it was the job of the operations team to ensure that the newly developed software runs smoothly in the data center. While this approach was common in the waterfall era, now that most software is built using much more iterative agile methodologies, the wall dividing developers and operations staff has largely crumbled.
The DevOps revolution, built on the idea of continuous development and collaboration of customers, product management, developers, and QA is an extension of agile development methodologies. DevOps is an acknowledgement that clean and debugged code is only one part of the customer experience. How the software and the systems that host it interact is also a critically important component of user experience and the total value proposition.
Developers Are Logical Users of APM
Since one of the key concepts of APM is user experience, it is entirely logical for developers to use these tools to understand the impact that new code has on the complete application and to address scalability issues, design bottlenecks and other issues that once were the sole responsibility of the operations team.
By using APM tools, developers can frequently identify issues before the code even gets to QA. The overall effect of developers using APM tools to optimize their code and resolve issues is that the number of bugs and code changes required once the code has been deployed into production is significantly decreased.
How Common is Development Team Usage of APM?
TrustRadius ran a survey to APM users this month asking some general questions about product usage.
One of the questions asked was “Does your organization use APM in a software development environment to discover performance problems and enable debugging of performance bottlenecks?” 58% of respondents replied that developers in their organization did use APM tools for this purpose. Of these, a couple of respondents indicated that software development was the main use of these products.
Many comments by product users allude to the importance of the DevOps approach in breaking down silos between development and IT, and elevating product performance to the same level of importance as functionality:
“Breaking down silos between development teams and performance testing teams has decreased response time to identified issues.”
“Now performance of an application is as important as functionality. We do all types of performance testing to make our application is reliable, stable under load. During performance testing it import to monitor servers’ health so that we can find the exact root cause for slowness issues.”
“APM helps find performance issues and allows our developers to solve issues before most users even see them.”
But use of these tools by developers is also helpful in exposing bugs independently of the QA process:
“Yes, it has helped uncover potential bugs that could cause major problems in production systems had we not fixed them.”
“This help us to find the exact location of bugs and issues that we’re facing. And we can easily rectify the problem.”
If you are evaluating APM products, Here’s What This Means for You
Buyers should bear in mind that APM systems are certainly a critical tool for IT operations teams tasked with managing application performance and ensuring the root cause of any significant application slowdowns is rapidly determined. But the crumbling of the software development and IT operations silos has made it very clear that APM tools are just as valuable to application developers as they are to operations staff.
This extension of the core user base for APM tools beyond the IT Ops organization should be taken into account when purchasing a tool. For example, care should be taken to ensure that the selected tool serves both groups equally well. For example, IT Operations teams need visibility into a broad set of metrics across the enterprise, while IT Ops might only need visibility into a small subset of the available metrics, but might need to drill deeper into the data. Rather than a single user interface, a developer view and an IT Ops view might be more appropriate.