We like the ability to drill down into the method level to identify where the real issue is, as other tools just show the slowness at the transaction level only. We also like its database monitoring which gives almost everything to us for identifying any performance issues with the database. It is certainly not a legacy monitoring tool to monitor the database, it should be looked at as a database performance monitoring tool.
Improvements to My Organization:
We are still in the POC phase and are trying to implement it by adopting some of the best practices. I am sure if and when it is fully implemented, developers will love this tool as their life will be easier.
Room for Improvement:
AppDynamics should add more features to identify in case if there is some thread waiting for something. We are keenly looking for this feature. We would like to see the traffic on F5 load balancers in the flow map which make the entry points in an application, Currently only custom exit points can be created for non-instrumented nodes. Also if AppDynamics are trying to be only a monitoring tool, then they really need to add lot of stuff to the infrastructure monitoring and heavy correlation features are required to identify the real issues within and outside of business app. We can't blame the code for slowness of the overall application every time, as the network and servers are all equally important. Other tools like HP BSM provide great features to map everything in a service map.
This tool is very easy to implement and setup when compared to other tools. Agent installations and instrumentation are also extremely easy.
It's very easy to scale when compared to other tools.
Other Solutions Considered:
We have compared this product to Bluestripe APM. We like its mapping of the business application mapping which shows how each tier of the application talk to another ones and also to the backend-like database, MQ, external interfaces, etc. It’s a very easy to understand tool which could be easily understood by a newbie also.
One piece of advice I would like to give others is that you need to first identify how you want to map your business application in the AppDynamics flow map. If there are multiple pieces in an application talking to each other, then best practice is to put everything together in one business application to see how those pieces talk to each other. Secondly, you need to identify the most important business transactions that you would like to monitor. Just include those and exclude everything else, as this way you can reduce the traffic and the amount of noise. Troubleshooting is easy when only key transactions are being monitored and not everything.