This document discusses using HAProxy as a load balancer and discusses its benefits and uses. It describes how HAProxy can be used to make non-highly available services highly available and provide load balancing. It also discusses ways to address potential single points of failure with HAProxy, such as using Corosync and Pacemaker to set up redundant HAProxy clusters. Upstream failures from slow databases or application servers are also addressed.