Load balancing is a solution that can be implemented on a network between servers and clients to distribute requests evenly among resources hosted on a pool of servers. Load balancing solutions use various algorithms, and comprehensive monitoring of the network, to make intelligent choices about how best to distribute client requests.
In addition to intelligently distributing requests over a server pool, load balancing infrastructure helps maximize availability of the services and applications that are presented to clients. To maximize availability the health of servers and hosted services are monitored in real time. If a server, or just an individual service or application, is not responding in a timely manner the load balancer will redirect client traffic away from that server or application to other available resources. When coupled with virtualized infrastructure and on demand provisioning, additional server capacity can be brought online to fulfil requests when the load on servers is high. This allows more resources to be made available when demand goes up, and reduced again when demand falls. This ensures that response times from services are optimal throughout periods with fluctuating requirements.
Load balancing helps mitigate various issues that can arise on a network that is serving requests from clients. They can help with the following topics that every IT department will recognize as essential to good service delivery:
- Network response times
- Data management
- Smoothing out access spikes
- Providing redundancy and resilience
- Reliable remote access
- Serving geographically distributed clients and workforce
The pool of servers and services that are being mediated by load balancers do not have to be located in the same place. They can be located in a single data center if required, but they can also be geographically distributed over multiple data centers, located in the Cloud or as a mixture of both via a hybrid Cloud deployment. A follow up post in this series will outline the techniques that a load balancer uses to determine the best server to service requests.
Well designed and deployed load balancing infrastructure allows global clients, and indeed global workforces, to be efficiently served web services and applications irrespective of their location.