Managing load balancers

Load balancing distributes the system workload across multiple resources to optimize response times and avoid overloading any single computer. For example, if channels within an environment are managed by a load balancer, you can do a rolling deployment for zero-downtime to the servers managed by the load balancer. This topic explains how to define a load balancer. 

Load balancers are associated with channels and are used on the front end of a deployment. You can define as many load balancers as needed. Remove, Return (Pass), and Return (Fail) actions are associated with them. Custom properties are also available for the type of load balancing, such as Cisco or Apache.

For example, suppose that you have an environment with three servers:

  • Servers 1 and 2 are virtual machines (VMs), each with one Apache load balancer. These make up pool 1.
  • Server 3 is a physical computer with two Apache load balancers. These make up pool 2.

At the start of deployment, the system determines what computers are in the environment, instantiates any VMs, and then pulls the load-balanced channels in pool 1 out of the loop temporarily (the Remove action). The system deploys to the channels in pool 1, then returns those channels to the load balancer (the Return Pass/Fail action). The same steps are taken with pool 2. At the end, the VMs are released. (For details about the VM steps, see Managing virtual machines.)

In this way, you can keep a site live while deploying, making sure that the first version remains live until the second version is successfully deployed, and then pulling out the first version.

For load-balancer interfaces (environments without pools):

  • The Remove action runs after the VM instantiation but before any deployments.
  • The Pass/Fail actions run after all deployments but before the VM is released.
  • If prior actions fail, the next process is not started. For example, if the initialization process fails, the load balancer Remove operation does not run.
  • For environments with pools, each pool executes in order, with each sequence starting with an instantiation and ending with a load-balancer Return.

For more information about environments and pools, see Managing environments and pools.

To define a load balancer

  1. On the System tab, from the left menu, click LBs.
  2. Click New load balancer.
  3. Enter a descriptive label for the load balancer.
  4. From the Module menu, select the module.
  5. Click Create.
  6. In the Configure section, modify settings for the load balancer by clicking the value, selecting or entering a new value, and then clicking the Submit checkmark icon.
  7. (Optional) To encrypt a setting, click the encryption icon for the value.
  8. On the Channels tab, add a channel by dragging and dropping from the Available Channels list.
  9. On the Properties tab, click Add Property to add properties as needed.
    The new load balancer appears in the Load Balancers (LBs) list on the System tab.
Was this page helpful? Yes No Submitting... Thank you

Comments