Application Delivery Controller Definition
Application Delivery Controllers (ADCs) provide load balancing, application acceleration, SSL termination, and app security along with seamless access to applications. ADCs, also called app delivery controllers, may be delivered in three form factors: hardware appliances, virtual appliances (the software extracted from legacy hardware) and software-only load balancers.
![Diagram depicting an application delivery controller for application services on bare metal, virtualized, microservices containers or multi-cloud application architectures.](png/application-delivery-controller-simple-diagram.png)
What Is an Application Delivery Controller?
Application Delivery Controllers (ADCs) provide security and access to applications at peak times. As computing moves to the cloud, software ADCs perform tasks that have been traditionally performed by custom-built hardware. They also come with added functionality and flexibility for application deployment. They let an organization quickly and securely scale up its application services based on demand in the cloud. Modern software ADCs allow organizations to consolidate network-based services. Critical capabilities for application delivery controllers include SSL/TLS offload, caching, compression, intrusion detection, web application firewalls, and microservices for container applications. This creates even faster delivery times and greater scalability.
What Is an Application Delivery Controller Used For?
Traditional application delivery controllers (ADCs) were used for load balancing application servers to manage traffic and application deployment. Next-generation ADCs have new functions that include SSL offloading, visibility, application analytics, multi-cloud support, TCP optimizations, rate shaping and web application firewalls.
How Do Application Delivery Controllers Work?
An application delivery controller (ADC) is primarily a load balancer that manages traffic flow to servers. ADCs help optimize end-user performance and application deployment. ADCs also assist in application acceleration and provide security for applications.
An ADC uses techniques like application classification, compression and reverse caching to improve acceleration of business applications. ADCs determine security needs as the single point of control for multiple servers.
ADCs handle distributed denial-of-service (DDoS) attacks and secure web applications against common threats using web application firewalls (WAFs). ADCs can also provide SSL offloading and application autoscaling.
The following techniques are most commonly used by ADCs to enhance application performance:
• Load balancing: Distributes incoming requests across a group of servers. Algorithms consider server capacity, type of content requested and client location to improve performance.
• Caching: Stores content locally on the ADC, which speeds delivery and reduces server load.
• Compression: Large files such as images, music and video are compressed to speed delivery and increase network capacity.
• Offloading SSL processing: The ADC replaces backend servers as the SSL endpoint for client connections. By doing the decryption and encryption work for servers, the ADC speeds content delivery by freeing up servers for other tasks.
Who uses an App Delivery Controller?
App Delivery Controllers are used by almost any company or enterprises that utilize large scale content delivery networks (CDNs) to provide fast web application (software) services and ensure high traffic websites are secure, always on, and available to their users. They are commonly used as a reverse proxy server, placed inbetween web servers and the internet by removing load from their origin servers and ensure high availability for a seamless end user experience. As more companies embrace the digital transformation to update their web and networks architectures, DevOps engineers are increasingly responsible for managing application delivery controllers, analyzing their performance, and optimizing for application acceleration because they are more often that not building the applications that rely on the load balancers (controllers). In many organizations however, network teams and IT teams still manage application delivery especially in cases where the controllers are legacy or hardware based.
Where Is an Application Delivery Controller Deployed?
An application Delivery Controller (ADC) is positioned between enterprise web servers and end-customers to manage application traffic. For additional security, ADCs often deploy a web application firewall in addition to the load balancer.
When Is an Application Delivery Controller Required?
Application delivery controllers (ADCs) are essential for industries such as retail, financial services, ecommerce, and healthcare that have hundreds of web servers to handle thousands of simultaneous customer requests. Load-balancing provided by ADCs ensures applications run smoothly despite spikes in traffic.
Does VMware NSX Advanced Load Balancer Offer an Application Delivery Controller?
Yes. The VMware NSX Advanced Load Balancer offers an intent-based and software-defined solution that is disrupting the ADC (load balancer) market and changing the way that businesses consume application services through automation and analytics. The VMware NSX Advanced Load Balancer is a multi-cloud and enterprise-grade solution that accelerates cloud transformation for enterprises with on premises (traditional / monolithic) and public cloud (containerized) applications. Learn more about The VMware NSX Advanced Load Balancer application delivery architecture.
For more on the actual implementation of load balancing, security applications and web application firewalls check out our Application Delivery How-To Videos.
For more information on application delivery controllers see the following resources: