Agent Groups
Agent Groups are used to group Agents that share configurations with each other. The only scenario is to have Ground Agents in their own and Frends PaaS Agents in their own Agent Group. The organization's interests need to be evaluated when planning the Agent Group setups. Environments can host multiple Agent Groups with different configurations but within the Agent Group the Agents share configurations.
Agents in the same Agent Groups will have the same Process versions deployed and they share the same settings. As Agent Groups are isolated from each other, each Agent Group can deploy Processes which are then run by Agents in that Agent Group. Agent Groups can also activate and deactivate Processes deployed to them. Process Instances' statistics and real time executions are visible within that specific Agent Group.
When an Agent Group has multiple Agents, the Agents will essentially form a farm configuration. This will make the Agents in that Agent Group share their configuration and state. Having the Agents in that farm configuration enables the High Availability (HA) functionality. HA functionality allows Agents to share the load with one another as well as take over the execution responsibility of a failed Agent. HA feature is especially beneficial when updating Agents. Agents can be updated individually and separately minimizing the down time and, in some cases, removing the down time all together.
You can set the Agents to use shared SQL database which enables the High Availability mode. This is the most usual mode when installing multiple Agents to an Agent Group. The shared SQL database is set by adding a connection string to the Shared state storage input field. If no connection is given all Agents will use a local database which disables the HA mode. With this setting, the first Agent will become a Primary Agent. The Primary Agent will be the only Agent that can execute all the Triggers. Other Agents can execute HTTP, API and Service Bus Triggers.
Note that Agents still need a load balancer or an API gateway to be installed in front of them to split HTTP traffic in on-premises installations.
You can find more on how to create an Agent Group from Frends Documentation.
When planning your Frends setup you need to take into consideration the needs of your organization and the scalability requirements. Usually, a Frends setup is built following the organization's architects. Fortunately, Frends is built in a way that it's easy to scale when the need for more dispersion rises. Usually, HA Agent Groups are a great starting point. It will limit the affects from, for example, Agent updates or malfunctions.
When the resources become higher in demand, dispersion becomes a higher need. Dispersion can be done by splitting Frends functions to different Agent Groups. For example, API endpoint handling. Dispersion can also be a good thing when using a lot of outside connections. It's usually more secure to have multiple machines handling, for example, file transfers to different locations than one with all the credentials needed for the transfers. It could possibly create a security risk if one machine has access to all the organization's connections.
The next article is Introduction to Agent set-up
β