Glossary

Load Balancing

Load balancing is a way to distribute computing workloads across multiple areas. The aim of load balancing is to avoid overuse of specific resources, to keep computing services available as needed, to optimize resource usage, and to maximize the speed and capacity of computing services.

Load balancing typically uses dedicated hardware and software to ensure the maximum reliability, responsiveness, and availability of computing resources in all circumstances. For example, a popular website may be hosted across multiple different servers so that simultaneous demands from web browsers can be distributed and directed appropriately and the website continues functioning correctly.

Many technologies are used to provide load balancing including Round-robin DNS, DNS delegation, Client-side random load balancing, Server-side load balancers, and scheduling algorithms. Load balancing is also useful for providing “redundant” services — if the demands on a particular computer resource are too high, load balancers can redirect traffic to a “failover” option, designed to handle large amounts of requests during busy times. A load balancer can monitor multiple instances of a resource and redirect traffic appropriately to maximize availability and responsiveness.

Load balancing is also used extensively in datacenters and cloud computing to make sure resources are available to integrated applications, databases, and end users.

From a security perspective, load balancing is very useful during a “Distributed Denial of Service” (DDoS) attack. This is where multiple computers make a demand of an online application or website, hoping to overextend and overload computer resources, causing the application or website to fail. Load balancers help to mitigate these issues by distributing these requests so they can be rejected or handled appropriately.