Bamboo Data Center requirements
Component overview
A Bamboo Data Center instance consists of a cluster of components, each on a dedicated machine, and connected over a high-speed LAN connection, plus the agents. This diagram depicts a typical Bamboo Data Center instance with a load balancer, three application nodes with one active node, a shared database, a shared file system, and multiple agents.
Component requirements
Each component has specific requirements, however, only the load balancer must have a publicly accessible URL. The URL of the Bamboo Data Center instance will be the URL of the load balancer, so this is the machine that you will need to assign the name of your Bamboo Server instance in the DNS. Both user and agent traffic should go through the load balancer.
The remaining machines (Bamboo cluster nodes, shared database, and the shared file system) do not need to be publicly accessible to your users.
Bamboo application nodes
Bamboo cluster nodes all run the Bamboo Data Center web application.
Each Bamboo cluster node must be a dedicated machine.
The machines may be physical or virtual.
The cluster nodes must be connected to a high speed internet (that is, high bandwidth and low latency).
The usual Bamboo Server supported platforms requirements, including those for Java and Git, apply to each cluster node. For the complete list of Bamboo Server requirements, see Supported platforms.
The cluster nodes do not all need to be absolutely identical, but for consistent performance we recommend they should be as similar as possible.
If the nodes are not identical, make sure the required executables (like Git or Java) are available under the same path.All cluster nodes must run the same version of Bamboo Data Center.
All cluster nodes must have synchronized clocks (for example, using NTP) and be configured with the identical timezone.
There are no limitations on the number of nodes you can run, but only one Bamboo node will be active at any time. Other nodes will be in stand by and prepared to take over if failures occur.
Load balancer
You can use the load balancer of your choice.
Load balancer is not bundled with Bamboo.
Your load balancer should run on a dedicated machine.
Your load balancer must have a high-speed LAN connection to the Bamboo cluster nodes (that is, high bandwidth and low latency).
Your load balancer must support both HTTP(s) mode (for web traffic) and TCP mode (for agent traffic).
- Your load balancer must have active health checking.
Terminating SSL (HTTPS) at your load balancer and running plain HTTP from the load balancer to Bamboo Server is highly recommended to improve performance.
Your load balancer should support "session affinity" (also known as "sticky sessions").
If you don't have a preference for your load balancer, we provide instructions for haproxy a popular open Source software load balancer. See Connect the new Bamboo cluster node to the load balancer.
Shared database
You must run Bamboo Data Center on an external database.
The shared database must run on a dedicated machine.
The shared database must be available to all cluster nodes via a high-speed LAN (it must be in the same physical data center).
All the database vendors listed in Supported platforms remain supported in Bamboo Data Center.
Shared file system
Bamboo Data Center requires a high performance shared file system such as a SAN, NAS, RAID server, or high-performance file server optimized for I/O.
The shared file system must run on a dedicated machine.
The file system must be available to all cluster nodes via a high-speed LAN (it must be in the same physical data center).
Agents
Bamboo Data Center elastic and remote agents have the same requirements as the Bamboo Server agents.
They all require high-speed connection to the Bamboo Data Center cluster through the TCP Load Balancer, and to the repositories used by the Bamboo plans.
Agents can share a dedicated machine, but it is not recommended to share resources with the Bamboo nodes.