The core components of a typical AppMon deployment in a live environment are the AppMon Server, Memory Analysis Server, Frontend Server, Collector, application Agents and a Performance Warehouse database.
Just like a Performance Warehouse database server, the AppMon Server and Collector components are processes (as Windows services or *NIX daemons). They can all run on a single virtual machine or be dispersed over many machines, depending on the size of your installation and the amount of traffic they handle from your instrumented applications.
Web Server Master Agents are services as well. Core Agents run in-process with the application.
The AppMon Server backend process is the core component of an AppMon environment and, in combination with the AppMon Client, the central configuration and administration unit. It correlates PurePath data received from Agents by way of the AppMon Collectors, and stores these along with thread and memory dumps in the file system. This file system is known as the session store. It also handles measures and their subscriptions.
AppMon Frontend Server
The Frontend Server frontend process handles data analysis tasks (except big memory snapshots - see below) that AppMon Clients trigger. The AppMon Clients connect to the Frontend Server. The AppMon Frontend Server must be on the same machine as the AppMon Server.
AppMon Memory Analysis Server
The Memory Analysis Server performs post-processing memory snapshots to offload resource usage from the AppMon Server. With the same goal, the AppMon Frontend Server serves all the other analysis data requested by the AppMon Clients.
The Memory Analysis Server can run on the same machine as the AppMon Server, if you have sufficient memory and processing resources. You may need a separate machine for huge memory snapshots or if the Memory Analysis Server is shared between AppMon Servers.
The AppMon Collector processes (up to dozens) collect and bundle data from the AppMon Agents. AppMon Collectors must be relatively close in the network to their Agents (same LAN), but can be far from the AppMon Server. Laid out redundantly, they provide load balancing and fail-over (Agents can fail-over to a different Collector). Collectors post-process the data to both, off-load from Agent and Server side and send the payload to the AppMon Server. They also execute monitoring plugins that do not require an Agent.
AppMon Performance Warehouse
The AppMon Performance Warehouse (SQL database server) stores processed measure and time-series data that the Agents deliver. Depending on the complexity and data volume this can be in a local database on the same machine or a high performance DB server.
As opposed to time-series data, PurePaths and thread and memory dump BLOBs are directly stored in the session store.
The AppMon Client (UI) is the presentation layer installed on users' machines or started with the Webstart Client. There is also a portable Client (for portable media like USB-sticks) that does not need installation (just unzip) and the AppMon Web, a browser-based solution that starts using a browser and is loaded from the Server.