Um Application Delivery Controller (ADC) é um dispositivo de rede que gerencia conexões de clientes para aplicativos corporativos e da Web complexos. Os ADCs estão estrategicamente posicionados no data center e entregam tráfego de usuário final de e para servidores web e de aplicativos.
As origens e evolução do controlador de entrega de aplicativos
O conceito de Application Delivery Controllers originou-se dos balanceadores de carga básicos que eram usados para distribuir o tráfego entre muitos servidores. Esta tecnologia evoluiu durante o final da década de 1990 e início de 2000, quando a primeira geração de ADCs foi introduzida para superar as limitações dos balanceadores de carga simples.
Esses ADCs de primeira geração, também conhecidos como plataformas de entrega de aplicativos baseados em rede, forneciam recursos avançados, como descarregamento de SSL, persistência de cookies e muito mais. Com o passar dos anos, os ADCs se tornaram mais sofisticados, oferecendo recursos avançados como comutação de conteúdo, compactação HTTP, multiplexação de conexão, VPN SSL, cache de conteúdo e funcionalidades de firewall.
Compreendendo detalhadamente o controlador de entrega de aplicativos
Um ADC funciona essencialmente como um balanceador de carga, distribuindo solicitações de clientes em vários servidores para otimizar o uso de recursos, maximizar o rendimento, minimizar o tempo de resposta e evitar a sobrecarga de qualquer servidor único. Ele vai um passo além ao incorporar recursos adicionais para aprimorar o desempenho e a segurança, incluindo descarregamento de SSL, firewall de aplicativos da web (WAF), aceleração de aplicativos e muito mais.
A função principal de um ADC é fornecer serviços de rede da Camada 4 (Camada de Transporte) e Camada 7 (Camada de Aplicação) para distribuir efetivamente o tráfego de rede. O ADC executa gerenciamento de conexão, compactação de dados, criptografia/descriptografia SSL, cache de conteúdo e outras tarefas que descarregam essas tarefas de processamento intensivo dos servidores de aplicativos e garantem a entrega tranquila de aplicativos.
O funcionamento interno do controlador de entrega de aplicativos
Um ADC funciona tanto em conteúdo estático quanto dinâmico. Para conteúdo estático, o ADC utiliza técnicas de cache e compactação para aumentar a velocidade de entrega. Para conteúdo dinâmico, ele usa algoritmos de balanceamento de carga para distribuir as solicitações dos clientes uniformemente em vários servidores.
O ADC normalmente fica entre o firewall e um ou mais servidores de aplicativos na DMZ (zona desmilitarizada) de uma rede. Quando um cliente envia uma solicitação para um aplicativo, o ADC intercepta a solicitação, decide qual servidor pode melhor atender a solicitação com base em vários fatores (como carga do servidor, disponibilidade, etc.) e então encaminha a solicitação para esse servidor.
Principais recursos dos controladores de entrega de aplicativos
Os ADCs oferecem vários recursos para otimizar e proteger a entrega de aplicativos em uma rede. Alguns desses recursos principais incluem:
-
Balanceamento de carga: Distribuir solicitações de clientes em vários servidores para evitar que qualquer servidor único se torne um gargalo.
-
Descarregamento SSL: Descarrega o processo de criptografia e descriptografia do tráfego SSL do servidor web para o ADC.
-
Firewall de aplicativos da Web: protegendo aplicativos da Web contra ameaças e vulnerabilidades comuns.
-
Troca de conteúdo: direcionar as solicitações do cliente para o servidor apropriado com base no tipo de conteúdo solicitado.
-
Compressão HTTP: Reduzindo o tamanho dos dados transmitidos para uma entrega mais rápida.
-
Multiplexação de conexão: Reduzindo a carga nos servidores reutilizando conexões de servidor.
Tipos de controladores de entrega de aplicativos
Existem dois tipos principais de ADCs, com base na sua implantação:
-
ADCs baseados em hardware: são dispositivos físicos instalados em um data center. Freqüentemente, eles são projetados para alto desempenho e escalabilidade.
-
ADCs baseados em software: são dispositivos virtuais executados em servidores padrão ou na nuvem. Eles oferecem flexibilidade e economia de custos, mas podem não fornecer o mesmo nível de desempenho que os ADCs de hardware.
Tipo | Vantagens | Desvantagens |
---|---|---|
Baseado em hardware | Alto desempenho, escalabilidade | Alto custo, menos flexibilidade |
Baseado em software | Flexibilidade, economia de custos | Pode faltar desempenho |
Aplicação de controladores de entrega de aplicativos e solução de problemas
Os ADCs podem ser usados de diversas maneiras, mas sua principal aplicação reside no gerenciamento de conexões de clientes com aplicações web e corporativas. Eles também desempenham um papel significativo na manutenção da disponibilidade, desempenho e segurança dos aplicativos.
Por exemplo, um ADC pode ajudar a resolver o problema da distribuição desigual do tráfego entre servidores, melhorando a eficiência geral e a capacidade de resposta das aplicações. Também pode ajudar a mitigar ataques DDoS, interceptando e inspecionando o tráfego de entrada para filtrar solicitações maliciosas.
Comparações de ADC com termos semelhantes
Os ADCs são frequentemente comparados com balanceadores de carga e firewalls de aplicativos da web (WAFs), pois compartilham algumas funcionalidades comuns. No entanto, os ADCs oferecem recursos adicionais:
Recurso | ADC | Balanceador de carga | WAF |
---|---|---|---|
Balanceamento de carga | Sim | Sim | Não |
Descarregamento SSL | Sim | Limitado | Não |
Firewall de aplicativos da Web | Sim | Não | Sim |
Troca de conteúdo | Sim | Não | Não |
Compressão HTTP | Sim | Não | Não |
Multiplexação de conexão | Sim | Não | Não |
Perspectivas Futuras e Tecnologias Relacionadas aos ADCs
O futuro dos ADCs está ligado às tendências que moldam o cenário mais amplo de TI. Com o surgimento da computação em nuvem, da virtualização e das redes definidas por software, podemos esperar uma maior adoção de software e ADCs baseados em nuvem.
Além disso, com a importância crescente da aprendizagem automática e da IA, os futuros ADCs poderão incorporar estas tecnologias para tomar decisões de distribuição de tráfego mais inteligentes e detectar e mitigar melhor as ameaças.
Servidores proxy e controladores de entrega de aplicativos
Servidores proxy e ADCs podem trabalhar juntos para melhorar o desempenho e a segurança da rede. Enquanto um servidor proxy atua como intermediário para solicitações de clientes que buscam recursos de outros servidores, um ADC gerencia conexões de clientes para aplicações web e empresariais complexas. O ADC pode equilibrar cargas e aumentar a segurança, enquanto o servidor proxy pode controlar e otimizar o fluxo de informações entre o cliente e o servidor.