Hey UrbanCoders! Thanks for checking back for our second update as we march toward the UCD 7.0.3 release! This week, we’re talking about a small but powerful enhancement to agent pools.
UrbanCode Deploy has long given users the ability to leverage agent pools. Instead of managing each agent individually, you can organize agents into agent pools, allowing you to spread the deployment processing work among participating agents in the pool. This is great if you have processes that carry out tasks that are not specific to the target server. Examples of this include database deployments (which can be performed remotely), updating some other tool via API, or running deployments on a cloud platform.
Historically, UrbanCode Deploy agent pools came with the following documentation tip:
“The agent that does the actual work is chosen randomly from available online agents in the pool. The current workload that is running on the agents in the pool is not considered. The agent that was most recently selected to do work is not exempt from subsequent selections. The selected agent is always randomly selected from available online agents in the pool.”
This approach worked fine for short-running processes. However, if you had processes that ran for a very long time, this approach may become cumbersome. One scenario where this is not advantageous is when an agent that is currently executing a long-running process gets selected from the agent pool to run additional processes. This causes a bottleneck in delivery, something nobody wants to deal with.
In 7.0.3 we have updated the agent pool algorithm to take into consideration the amount of work each agent in the pool is currently handling. This allows the UrbanCode Deploy server to assign the work to the most available of the agents in the pool. This will allow users to get the best performance possible from their agent pools, ultimately driving more throughput and faster delivery times.
If you are utilizing agent pools in your environment today, get excited for UrbanCode Deploy 7.0.3, being released later this quarter.
Check back with us next week as we will take a look at accessing agent logs from the UrbanCode Deploy server.