Load Balancing In Cloud Environment


A load balancer is a technology that distributes incoming traffic among multiple servers being used, thereby preventing one of them from overloading. Load balancers were introduced a couple of decades ago but were actively developing with the advent of the cloud. Virtualization of the server hardware allowed the creation of systems for automatic load balancing in case one of the servers in the network is working at full capacity.

The demand for cloud load balancers is quite obvious. Experts predict that global traffic will increase to 4.8 zettabytes by 2022. This will inevitably lead to an increasing load on data centers. Without a network load balancer, the normal operation of such facilities is impossible.

Hardware load balancers, which have traditionally been used, due to the dramatic traffic growth were no longer able to withstand the load. As a result, there was a need to increase the amount of equipment, to optimize hardware. Consequently, traditional balancers were replaced by cloud solutions.

Why load balancing is important

As we mentioned above, load balancing is a way to efficiently distribute the workload among a pool of devices. Without this procedure, overloaded equipment can quickly fail. And this risks disrupting the company's business processes, as well as causing financial and reputational loss.

For mission-critical applications, the balancer is even more important. Resources of a single server are always limited, and loading it more than the hardware can handle may lead to a failure. The balancer eliminates a single point of failure.

Another benefit of the balancer is reduced hardware degradation. Functioning at its maximum is not good for hardware.

Balancers provide the foundation for creating manageable networks that can meet the needs of a rapidly growing digital business and provide a higher level of performance and security for many types of traffic and services, ensuring stable application performance.

How load balancer works

Imagine a busy crossroads with several lanes. If any car stops at the crossroad, other cars will stand too. Cars are coming from all directions, making the crossing busier. As a result, there's a big traffic jam. That's because the capacities of one road are lower than those required at the moment. The balancer looks like a traffic controller in this situation. It ensures that the cars drive evenly, without interfering with each other or overloading any of the roads.

When someone uses an online service, regardless of the device, the user has only one way of accessing it – through an IP address or domain name. What happens next is hidden from viewers. Only the traffic from the service is transparent. 

Traditional load balancing uses a network address translation mechanism: NAT (Network Address Translation). This technology masks the pool of target servers to which traffic flows are distributed.

Historically, a load balancer was a physical solution between a pool of servers and a client device. The load balancer uses a virtual IP address (VIP) to receive traffic, and user requests are spread out across the pool of servers using a balancing algorithm. There are several of these algorithms; we describe the most famous ones.

  • Round-robin. All servers in the pool receive requests one by one. For example, server #1 handles the first request, server #2 handles the second, and so on. This method is great because it is independent of the high-level protocol, inexpensive to operate, and does not require any connection between the servers in the cluster. However, all servers should have the same amount of resources. A load of a particular node in the cluster is not taken into account, so it is possible to overload one node while underloading the other.

  • Weighted Round Robin. An upgraded version of the previous algorithm. In this system, each server gets its performance coefficient, depending on its power and capabilities. The greater the weighting factor, the greater the load the server can handle.

  • Least Connections. This algorithm measures the number of active connections maintained by the servers in a particular period. In other words, it monitors which server is active and which is idle. And the next request is sent precisely to the one that is processing the least amount of traffic.

Cloud4Y load balancer supports different algorithms, thus allowing you to choose the most convenient option for each client.

Tips for managing the balancer

  • Use different availability zones. Establish a rule of thumb to create cloud resources in multiple availability zones. This will ensure the consistent performance of your applications in case one of the availability zones fails.

  • Make it standardized. Organize your cloud resources in such a way that the number of virtual machines is the same across availability zones.

  • Provide redundancy. Even if one of the virtual machines in the availability zone goes down, the traffic will keep the same amount traffic, which will increase the load on the remaining working servers. We recommend having a so-called "safety reserve" for this case, using additional resources in each availability zone.

  • One balancer for each application. If you have multiple applications running in your cloud infrastructure, it is safer to configure dedicated load balancers for each.

Conclusion

Modern load balancing solutions offer more efficient and careful use of server hardware while ensuring the consistency of services. Using a cloud-based load balancer (such as VMware NSX Edge), prevents servers from being a single point of failure, increasing infrastructure reliability.

 


Is useful article?
0
0
author: John
published: 05/16/2022
Last articles
Scroll up!