While the market for end-to-end APM is heating up, there are a lot of questions that need to be answered before plunking down your hard fought IT budget on new tools. With several dozen APM vendors in the market, it can be confusing to
weed through the marketing hype and determine what capabilities you
really need. While good overall requirements will guide your decisions,
be sure to ask the right questions before getting too far down the path
with a vendor. I've summarized six key questions to ask before you buy.
1. Are you heading for the cloud? Business applications that utilize a cloud infrastructure may require a different model of APM, so if your tool only supports on-premise solutions, you need to be sure the tool matches your enterprise architecture. In some public cloud environments offering platforms and infrastructure, agent deployment will be tricky. How about applications within a virtual environment in your enterprise? You need to move beyond .NET, Java and Windows-based questions and focus on architecture questions as applications may exist across a much broader infrastructure.
2. How deep will it go? A lot of tools will only let you know that there is a problem and not really tell you what's causing it. From a rogue process, congested pipes, or buggy code, good APM tools will get to the root cause of the issue. From an operations perspective, you also can benefit if the APM tool has the ability to automate some resolution tasks or integrate with other automation tools to provide that function.
3. Does it play nice with others? While the data from the application is at the heart of the monitoring, a lot of the underlying infrastructure like storage, network and operating systems can cause issues for an app. While the tool may not monitor these elements, it should provide a data feed to another tool, or pull in external information to get a complete picture of the environment.
4. How big is the footprint? Are agents needed on the applications? Is it delivered as an appliance? The passive and active terms are thrown around a lot, but there is a big difference in the level of detail you get if you have to install code, sniffing packets on your network or synthesizing users. Some vendors offer multiple options for choosy customers or have solutions that integrate different data collection approaches.