What are some considerations for adding webservers to my CD/RO Environment?
CloudBees CD (CloudBees Flow)
A typical CD/RO environment will start out with a single dedicated webserver for users to access the CD/RO UI.
Here are some considerations for adding more webservers into your environment:
Customers who have different working locations or zones where their agents get located, may require setting up webservers unique to each of those zones. This can be important to allow employees within those zones ensured access to workspace data from work run on agents inside those zones.
Workspace results can be transferred to a central workspace via the ecremoteFileCopy tool, this would not be recommended to be used across all jobs, and instead should be used in cases where cross-zone access is considered necessary or important. To learn more about this option, see :
The CD agent installed on the Webserver machine is responsible for helping to serve up the data transfer of results to the UI. Larger page results like pipeline runs, job runs, and large log files place a heavier demand on the agent JVM memory. As more users are logging into the webserver, such demands may require adding memory to the webserver agent.
This may be achieved by increasing the agent wrapper.conf settings.
The following KB article outlines the default memory settings attributed to Agent installations:
KBEC-00248 - Agent Memory configuration
As more users login to your system, it may become necessary to update your architecture to add additional webservers and to place those behind a common loadbalancer. See: https://docs.cloudbees.com/docs/cloudbees-cd/latest/architecture#_clustered_configuration
What users are doing after they login can have an impact on the performance of the underlying system. Since user behaviour ultimately affects DB performance, some usage patterns may not be mitigated by ditributing user requests over to other webservers.
Some considerations for change to help in this regard can be found on KBEC-00500 - CD Performance impact via configuration choices