Difference between Local agents and Remote Agents
1 - Local Agents actually run as part of the Bamboo server. Local Agents run in the server's process, i.e. run as separate threads in the same JVM as the Bamboo server.
2 - Remote Agents run on computers, other than the Bamboo server, that run the Remote Agent tool. Each Remote Agent runs in its own separate process, i.e. has its own JVM, and use JMS to communicate with Bamboo server.
So there are some good reasons why you'd want to use Remote Agents, for example:
- When the Bamboo server JVM resources are limited.
- When the Agent needs capabilities that are not available on the Bamboo Server.
Then in terms of the number of Agents to use, it will all come down to how many tasks you'd want to execute in parallel because 1 Agent can only execute 1 task at a time.
So if you are going to build and test sequentially, then you will be fine with just 1 Agent. You can in fact have many Agents installed in multiple computers; only the Agent running needs to be licensed. But as soon as you'd want to run multiple build and tests at the same time, then you will want to use as many Agents accordingly.