A load balancer is a network appliance responsible for the effective distribution of incoming network traffic across multiple backend servers in order to guarantee always-available application services. Load balancers can be deployed as software appliances, hardware appliances or even as a service. A load balancer allows you to optimise server utilisation and remove single points of failure in application delivery to guarantee the following:
Resilience – A load balancer allows you to run multiple application servers to fulfil the same role. In the event of a server failure, the load balancer will detect this and redirect traffic to the remaining online, healthy servers. This ensures high availability and reliability for applications.
Scalability – Load balancers allow you to seamlessly scale services without impacting performance. By simply adding more servers behind the load balancer for distribution, you introduce the ability to adapt to an increase in load.
Capacity – To increase capacity simply add more servers behind the load balancer. (Ok it’s not normally as easy as that because you’ll probably have databases and other app servers to consider, but you get the idea)