Load balancing is a virtualization process in which the workload is spread out across multiple nodes, cluster of computers, or other computing resources to accomplish peak resource utilization, maximize throughput, minimize job response time, and avoid system overload.
Load balancing ensures that workloads are evenly distributed across nodes so that some are not left idle or underutilized in their capacity.
If computing resources are efficiently utilized, the system’s overall performance in speed will automatically improve, resulting in better quality, reduction in energy consumption and carbon emission, and ultimately lower costs.
The objectives of the load balancing are to:
- Improve the overall system performance
- Construct a fault-tolerant system
- Increase computing resource availability
- Maintain system consistency and stability
- Increase user satisfaction
- Improve the computing resource utilization proportion
The cloud is an amalgamation of seemingly unrelated computer hardware and software resources. Therefore, in order to take full advantage of these resources in an ideal way so that resources are not overloaded, left idle or underutilized, efficient load balancing algorithms are required.
These algorithms are allocated differently depending on the cloud environment.
Load Balancing Classification
The Load Balancing Algorithm arranged is displayed in the figure below.