Application Performance Monitoring Tool : AppDynamics

https://capablemachine.com/

A few months back at Amdocs, I was working on a project related to the telecommunication industry, where I was first introduced to AppDynamics. Since then, I have been obsessed with this tool’s power. For a beginner like me in the world of large-scale projects, I was surprised that one tool could monitor application Infrastructure, give you code-level visibility along with deep analysis, optimization, and bottleneck prediction in complex information systems.

In this blog, I will explain AppDynamics in brief for all the Performance Engineers out there. Let’s get started.

What is AppDynamics ?
AppDynamics Architecture
Image : https://www.appdynamics.com/

AppDynamics is a tool use to measure the performance of the application and monitor it with intelligence providing simple but effective data to get an idea of the application’s behavior.. We know large scale applications are complex to understand and we may need external teams help to understand if any issue occurs. Also, it is very difficult to understand the working of an application in the cloud environment as it works by taking input from different servers. And, all these problems can be taken care using AppDynamics.

AppDynamics Architecture
AppDynamics Architecture
Image : https://capablemachine.com/
AppDynamics have two major components : 
Controller: 

The AppDynamics Controller is the brain where all data is manipulates. AppDynamics agent collects and sends the data to the controller. Controller store that data and helps to analyze it.
Agents capture performance activity across application code, servers and network nodes. The controller updates in real-time, even in very complex applications with hundreds of agents. The Controller helps to monitor, troubleshoot and analyze your entire application from backend infrastructure to the client.

Agent: 

AppDynamics agents are responsible to collect the data from each server and sent it to the controller. Once deployed, Agents immediately monitor every line of code. Unique tags are assigned to every method call and every request header. This allows AppDynamics to trace every transaction from start to finish even in modern, distributed applications.

Appdynamics Agents: There are three types of appdynamics agents

  • App Agent: This agent is responsible to collect the data related to application like server load, response time, errors, etc. We can have different-different types of app agent (Java agent, .NET agent, PHP agent, etc) based on application technology.
  • Machine Agent: Machine agents are responsible to collect data related to CPU utilization, memory utilization, disk usage etc.
  • DB Agent: Database agents are responsible to collects performance data about your database instances and database servers. It tracks your queries, stored procedures etc.

Merits of AppDynamics
  • The entire infrastructure and building of the application can be viewed with the help of AD. This helps to check the application and its working and the maintenance of the same. All these can be done in less time with fewer resources involved.
  • The good thing about the tools is its integration with the load runner tool for performance testing. We can get the exact method and class names from the code which helps in finding the bottleneck.
  • AppDynamics supports many platforms, and it’s set up is relatively easy. It also supports customized monitoring, and allows you to build what you need.
  • Receive alerts based on custom or built-in health rules, including rules against dynamic performance baselines that alert you to issues in the context of business transactions.
  • Analyze your applications at the code execution level using snapshots.  
  • AppDynamics support all major technologies like Java, .NET, PHP, Node.js, etc.
Demerits of AppDynamics
  • I think dashboard can be improve as it’s lacking many features like searching data within the dashboard.
  • Price of the AppDynamics is high. But it has many valuable features. This is not for small businesses.
  • Needs huge storage if you keep the transaction history and most of the analytics features rely on that.
  • It’s has two versions – the actual and lite. The lite version only shows data from last 2 hours. It is certainly not enough to monitor.
Conclusion

Despite all the cons and high costs, ignoring the few limitations and enjoying the application is advisable. AppDynamics is one of the best tools in the market, having a large community and jobs available.

AppDynamics Architecture AppDynamics Architecture AppDynamics Architecture

Written by –
<strong>Sarang Deshmukh</strong>
Sarang Deshmukh

Founder and Developer @capablemachine.com | Performance Engineer @AMDOCS

Leave a Reply

Capable Machine