IBM Support

How can I have multiple IBM TRIRIGA process servers (agents runs) working on a Load Balancing and a High Availability implementation?

Question & Answer


Question

How can I have multiple IBM TRIRIGA process servers (agents runs) working on a Load Balancing and a High Availability implementation?

Cause

Need to have multiple IBM TRIRIGA process servers (agents runs) and want to understand how to better set this up taking into consideration Load Balancing and High Availability concepts.

Answer

High availability (HA) is a characteristic of a system, which aims to ensure an agreed level of operational performance for a higher than normal period, it refers to a system that is continuously operational for a desirably long length of time. This is as well related to Scalability - the capability of a system to handle a growing amount of work, or its potential to be enlarged in order to accommodate that growth. This is because it may be key factor for business to get prepared for required (planned or unexpected) business growth and additional workload.

About IBM TRIRIGA process servers(agents runs), consider the following firstly in terms enhancing and tuning system resources usage:

(a) Make sure you are running with compatible versions for all components, as properly documented on :

i. For the most recent IBM TRIRIGA Platform version, see Compatibility Matrix for IBM TRIRIGA Products

(b) Make sure you are running your servers following our IBM TRIRIGA Best Practices guide for System Performance recommendations. This is available on this IBM Wiki page: IBM TRIRIGA Best Practices for System Performance

So based on IBM TRIRIGA Best Practices, a JVM/server should have around 4 GB heap size memory. For determining the number of possible servers/JVMs you can host on a single box (physical server), you need to check, assess and review:

1. The available RAM memory on system;

2. The required RAM memory your Operating System needs for running fine;

3. The amount of disk space you have available for hosting more JVMs/servers. This needs to take into consideration:

3a. The WAR/EAR file size;
3b. The Operating System (OS), Application Server (WebSphere, WebLogic,JBoss) WAR/EAR TEMP cache area, log files, temporary files created for regular operation of system (report viewers, temp documents, etc);

4. The CPU power of processing multiple threads & operations;

5. The network channels speed and throughput;

6. The JVM heap size memory. See that Application Server & Operating System will require some additional RAM memory for caching temporary process information when working with the JVM. For instance, as just an example, you may have a 4 GB RAM JVM but this will require additional 0.5 RAM memory for the internal & temporary processes in Windows when working with WebSphere Application Server;

7. The business needs and resource restrictions that will validate the need of having additional JVMs on a physical server.

It is hard to say how many JVMs/Servers a physical server (box) can host, this is a sizing question IBM TRIRIGA support cannot assist. For more information, see System Architecture and Hardware


You cannot simply calculate the amount of JVMs based on the available RAM memory (1), the OS required memory (2) and the JVM heap size (6). There will be other factors needing to be considered on such sizing matter. This is out of IBM TRIRIGA support scope to recommend or suggest on sizing decisions.

Once you are done with your sizing decisions, you are ready for preparing multiple installs of IBM TRIRIGA Platform on this physical server.

See that there is no difference among a IBM TRIRIGA application, a IBM TRIRIGA process server and a IBM TRIRIGA toll/reporting server. It is same code running for all, it is a logical approach & decision that will determine what it will be running on each one of these servers at end:

i. application servers host user session, users will be connecting to them. So you prevent agents from running here;
ii. process servers will be running the agents, including the integration ones. So you prevent users from connecting here;
iii. BIRT servers will be running the BIRT reports and send the output file to be viewed by the originator user session. So you prevent agents from running here and users from connecting here;

The agents run in the process server. Because of business decisions, customer chooses a server to run the IBM TRIRIGA agents, and this server is then called IBM TRIRIGA process server.

You assign agents to be run in a specific server by using "IBM TRIRIGA Admin Console -> Agent Manager" application.


You may install as many IBM TRIRIGA process servers you can, depending on your system resources. They can be even installed on separate boxes (physical servers). You then use Agent Manager application to assign each agent instance run to a specific IBM TRIRIGA process server.

For more information on IBM TRIRIGA Admin Console and its Agent Manager application/managed object, see Administering with the Administrator Console

If a IBM TRIRIGA process server goes down. you will need to manually reassign the agents running on it to another server in order to proceed with the runs. You need to stop the agents instances("Stop" Action), enter with the new IBM TRIRIGA server you want the agent to run against ("Start On" field), and restart the agent("Start" Action). The agent status goes from Running, to Stopped and then back to Running status when performing those actions, using the Action link available.

The agents are not routed to a backup IBM TRIRIGA process server in case the original one goes down, there is no implementation for that in IBM TRIRIGA product current design. You will need to make sure you have a stand-by or backup-up IBM TRIRIGA server you will be using to run your agents in case the original process server goes down. This is a manual operation IBM TRIRIGA Administrator needs to execute.

In light of the information above, in terms of the possible HA configuration for IBM TRIRIGA process server, if there is enough system resources, you may want to have a couple (or more) IBM TRIRIGA servers you run agents against (process servers), and share the workload fairly on them.

For instance, you have IBM TRIRIGA Process Server A running agents 1,2,3 and Process Server B, running agents 4,5,6 in your system. If Process Server A goes down, you will need to log in to a working IBM TRIRIGA server Admin Console, go to Agent Manager application, stop agents 1,2,3 and change their server ("Start On" field) to be B, and then start each one of them. Once restarted on the new server, the agents will read from their own event/pending queue records, and restart the process from a feasible and possible restarting point.

Having the IBM TRIRIGA process servers in separate boxes (physical servers) may contribute for a better HA level. If all process servers you have run in the same box, if this physical server goes down, you will not be able to route agents to run in the backup up process server. You will then need to install another one from scratch or use any other available one for running the agents: this may not be a good approach, for example, running agents on the application servers hosting the user sessions already (different server types will compete for the same resources and you may experience performance issues).

[{"Product":{"code":"SSFDAS","label":"IBM Facilities and Real Estate Management on Cloud"},"Business Unit":{"code":"BU059","label":"IBM Software w\/o TPS"},"Component":"IBM TRIRIGA Real Estate Manager","Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"Version Independent","Edition":"","Line of Business":{"code":"LOB59","label":"Sustainability Software"}}]

Document Information

Modified date:
16 March 2023

UID

swg21980775