The AppDynamics Support Team receives many questions about the compatibility between various components of the AppDynamics environment.
Customers want to upgrade a component in order to get a bug fix, but have concerns about whether upgrading the component will affect the environment. This concern is reasonable, as the team does see cases where customers upgraded their Agents and afterward, the Agents stopped reporting events or started to show 404 or other errors in the log files.
The various components of AppDynamics talk to each other by exposing APIs and have a client/service relationship.
AppDynamics ensures that the components are always backward compatible with their clients, but if the client (in this case the Agent) is upgraded to a higher version, there could be compatibility issues. The client might be talking to the server in a language that the server might not understand. In this example, the customer would need to upgrade the EUM Server up to the version equal or higher than the JS agent.
Apache Web Server Agent version <= Controller version
Application Agent version(Java, .Net, Node.js Agent etc) <= Analytics Agent version
For Controller versions lower than 4.4.1: Application Agent version (Java, .Net, Node.js Agent, etc.) <= Controller version
*For Controller versions 4.4.1 or higher: Application Agent version (Java, .Net, Node.js Agent, etc.) unrestricted
Analytics Agent version <= Controller version
Analytics Agent version <= Events Service version
Controller version <= EUM version
Controller version <= Events Service version
DB Agent <= Controller version
EUM version <= Events Service version
JS Agent <= EUM version
Mobile Agent (iOS or Android Agent) <= EUM version
Machine agent 4.5.2+ is compatible with Controller 4.4.0+
Machine agent 4.5.0 - 4.5.1 is compatible with Controller 4.5.0 - 4.5.x
Machine agent 4.4.0 - 4.4.3 is compatible with Controller 4.4.0 - 4.4.3
Machine agent 4.3.x, 4.4.x, and 4.5.x is compatible with Controller 4.5.x
*Backward compatibility is supported on the following agents starting in Release 4.5:
Version Dependency Chart:
A customer needs to upgrade their iOS Agent to a version higher than their EUM server. They will need to also plan to upgrade the EUM Server to ensure that the Mobile Agent version is lesser or equal to the EUM version, and if required, also upgrade the Events Service to ensure that the Events Service version is lesser or equal to the EUM version. At this point, their Controller does not need an upgrade as it's version is already lesser or equal to the EUM version, and the Controller and Mobile Agents do not depend on each other.
Although the team encourages customers to keep their environment's components in compatible versions as stated above, in some cases, the components can still be compatible if they vary within just the patch version.
For example, an iOS Agent at version 220.127.116.11 can still be compatible with EUM at version 18.104.22.168, but if the component's versions are very different like version 4.1.x to version 4.3.x, it is recommended that the customer upgrades the components. This will prevent unwanted compatibility issues.