An Application Delivery Controller (ADC) is a software application, virtual appliance, or hardware appliance that primarily provides load balancing and application acceleration. However, modern ADCs boast even more capabilities that DevSecOps teams value—which mainly boost security, scalability, and reliability.

How does an Application Delivery Controller (ADC) work?

An ADC is a load balancer at its core. It receives incoming client requests and distributes them among multiple servers. This prevents any one server from reaching 100% load. Application Delivery Controllers typically leverage one of many load-balancing algorithms to enable this.

Why are application delivery controllers useful? 

Beyond load balancing, ADCs were created to meet the evolving needs of modern web applications and the challenges that come with them. The following features help Application Delivery Controllers improve performance, security, and availability:

SSL termination

haproxy-ssl-termination-diagram

ADCs can handle SSL/TLS encryption and decryption, a resource-intensive task that'd otherwise be left to the web server.

HTTP compression & application acceleration

haproxy-http-compression-diagram

ADCs can use a variety of algorithms to reduce the quantity of data transmitted over the network. Integration with Content Delivery Networks (CDNs) can optimize speed by assigning clients to regional servers depending on their location. 

ADCs can use a variety of algorithms to reduce the quantity of data transmitted over the network. Integration with Content Delivery Networks (CDNs) can optimize speed by assigning clients to regional servers depending on their location.

Global Server Load Balancing (GSLB)

haproxy-gslb-diagram

ADCs can act as advanced DNS servers and assign data-centers based on proximity to the client. Other factors like server health and load can determine how ADCs allocate traffic for globally-distributed applications. 

Health checking

The ADC continuously oversees the health of application servers by periodically checking their availability and responsiveness. If the ADC detects a server fault or failure, it can quickly divert traffic to healthy servers. 

Security

Measures like Web Application Firewalls (WAFs), rate limiting, bot management, and more protect against bots and abusive traffic. This helps thwart DDoS and DoS attacks that heavily consume system resources. 

Does HAProxy offer application delivery controllers?

Yes! HAProxy is an application delivery controller by virtue of offering software load balancing, HAProxy ALOHA hardware appliances, and HAProxy ALOHA virtual appliances. Together, these solutions help organizations optimize how quickly, securely, and reliably their backend infrastructure responds to fluctuating traffic volumes.