Goal: Out-of-the-Box Scalability
ActiveReports 8 Server Core was designed with the goal of built in support for load balancing, redundancy and scalability so that the implementation team does not have to think about writing code to making the various servers collaborate seamlessly with each other for reporting tasks at run time. This is one of the areas where a lot of code is written to ensure performance optimization.
Solution: Multi-Agent Architecture (Managed Agents)
ActiveReports 8 Server Core uses an integrated multi-agent architecture to provide built-in load balancing for scalability and failover features. It uses a service that we call the “Controller” for managing incoming requests and the various activities of the report server such as logins, scheduling tasks, etc., and one or more separate services called “Managed Agents” to manage the processor and the memory-intensive task of running reports.
You can run multiple agents on different machines connected to one controller to allow seamless handling of more users with a single installation of ActiveReports Server. The agents can dynamically share reporting tasks at run time depending on their availability and workload. In this way, Managed Agents allow you to serve reports to more concurrent users, and respond to higher report execution loads.
Each ActiveReports 8 Server Core installation includes a controller and the ability to install upto 5 Managed Agents to provide out-of-the-box scalability. These Agents are plug-n-play enabled so you can install them in the environment and the controller will automatically start using them for load balancing and redundancy.
One Managed Agent can be installed on the same physical computer as the Controller. The others are deployed on separate machines to maximize the benefits of the built-in load balancing and failover capabilities.
The following table lists a scenario of incremental Managed Agent installation.
|ActiveReports 8 Server Core||Total Services||Machines Needed|
|Controller||Agents||Controller + 1 Agent on Same Machine||Controller and Agents on Separate Machines|
|Controller + 1 Managed Agent (minimum)||1||1||1||2|
|+1 Managed Agent||2||2||3|
|+1 Managed Agent||3||3||4|
|+1 Managed Agent||4||4||5|
|+1 Managed Agent||5||5||6|
When you install ActiveReports 8 Server Core, one of the first screens prompts you to select whether you want to install the Server or a Managed Agent (also called the Report Runner Agent).
If you choose to install the Server, the next screen asks you whether you would like to install the Managed Agent on the same machine, or install one later on a separate machine. The same installer can be used to install Managed Agents later on different machines.
The web-based ActiveReports 8 Server Core Administration Dashboard allows you to monitor all installed Managed Agents. You can see the installation details and activate or deactivate them from here.
The following table lists the Agent Management columns and their descriptions.
|Agent ID||Displays a unique internal identification code for the agent.|
|Host||Displays the name of the hosting machine.|
|Version||Displays the ActiveReports Server version number.|
|License Status||Displays licenses and serial numbers for licensed agents, or lets you know when no license is available. If the agent is disabled or cannot connect, the license goes back into circulation, and the license status is N/A.|
|Connection Status||Displays the state of the connection: Connected or Cannot Connect.|
|Deactivate (or Activate)||Takes the agent out of action, but allows you to enable it later. It remains connected, but no tasks are assigned to it, and its license is freed up for use by another agent. You can deactivate an agent and re-activate it to force it to check for an available license. When a new agent is installed, it is deactivated until an Administrator activates it.|
Some of the common questions are answered in the Managed Agents FAQ.