What are agents?
Agents are the machines that perform your build steps. Any machine that Bamboo can connect to can serve as an agent --whether it's a virtual host in your private cloud, an Amazon EC2 instance, or a re-purposed desktop unit. The online help docs will guide you through agent set-up, so for the moment, let's just get acquainted with how agents help you, and the various agent types.
First, agents of all flavors are tied to Jobs. That is, the whole Job will execute on the same agent. This means that an agent's capabilities and a Job's requirements must match up. For example, if a Job checks out code from a Git repo and builds it with Ant, both Git and Ant must be installed on the agent machine.
Because agents are the machines executing your build steps, the more agents you have available the more build steps you can execute in parallel. For example, you could break your suite of integration tests into 3 batches then configure separate Jobs to run each batch. As long as you have 3 agents available when it's time to execute those Jobs, Bamboo will run them in parallel. This is an easy way to cut a 30-minute test run down to just 10 minutes - getting feedback to your developers and testers that much faster.
Even if you don't parallelize Jobs within the same Plan, agents help you get feedback on your changes faster by enabling concurrent builds of different Plans, or even concurrent builds of the same Plan. This keeps your build queue from getting backed up, especially if you are triggering builds with every commit or polling your repo for changes several times per hour.
What are local agents?
Local agents run on the same machine, and inside the same JVM, as Bamboo itself. Their low-overhead configuration makes them a great way to dip your toes into Job parallelization, or just get a feel for the effect additional build power can have in churning through your queue.
To add a local agent, go to Administration > Build Resources > Agents, click the Add Local Agent button at the top of the page, et voilà! Your new agent will inherit all the capabilities from your Bamboo server (JDK, Maven, etc...), and you can configure new ones at the bottom of the page.
What are remote agents?
Remote agents live on hardware that is within your network, but not on the same server as your Bamboo instance itself. Got spare capacity in your data center? Or an un-used desktop tower unit sitting around? Put it to work as a remote agent. (Up-cycling for the win!)
To add a remote agent, go to Administration > Build Resources > Agents, and click the Install Remote Agent button at the top. There you will find a button to download the remote agent JAR, and basic installation instructions.
What are elastic agents?
Elastic agents are a special flavor of remote agent: they are remote agents that run on Amazon EC2 instances. Enter your AWS account credentials in Administration > Elastic Bamboo > Configuration, then fire one up using one of our presets, or your own custom AMI (Amazon Machine Image).
For teams looking to minimize fixed costs and capital investment, elastic agents are the bomb. EC2 usage is paid directly to Amazon through your AWS account, and calculated by the instance-hour so you pay for only the time you use. Bamboo can bring up elastic agents only when you need them, and automatically shut them down when they go idle, making elastic agents even more cost-effective.