O que é um Application Delivery Controller (ADC)?

Fazer o download como PDF  

Os ADCs ganharam força na última década, principalmente devido ao aumento na demanda por dispositivos de balanceamento de carga legados para manipular requisitos mais avançados de entrega de aplicativo e aprimorar o desempenho do aplicativo.

Os controladores de fornecimento de aplicativos são dispositivos de rede construídos com uma finalidade, e a sua função é aprimorar o desempenho, a segurança e a resiliência de aplicativos fornecidos pela internet.

Entrega de aplicativo

Os aplicativos passaram por evolução significativa ao longo dos anos. Agora, de modo geral, o termo fornecer é aceito como meio de disponibilizar um aplicativo ao usuário nesta nova era de mobilidade e nuvem. Na empresa, os aplicativos de negócios se afastaram do software para desktop instalado em um servidor local acessado por usuários através da LAN. Aplicativos modernos precisam trabalhar em todos os tipos de redes, e em locais além dos limites do local físico de trabalho.

Os controladores de fornecimento de aplicativos, amplamente implantados como um dispositivo-chave na empresa, ajudam os aplicativos a adaptar-se às redes e aos protocolos adotados hoje em dia. Os ADCs também garantem o desempenho ideal dos aplicativos, estão sempre disponíveis e não representam nenhum risco de segurança para o usuário ou o negócio.

Disponibilidade do aplicativo

O consumidor médio espera que os dispositivos e aplicativos com os quais interage diariamente funcionem sempre para que as informações possam estar disponíveis, instantaneamente, sob demanda. Essas expectativas foram transferidas para os tipos de dispositivos e aplicativos que utilizam. Para satisfazer os funcionários de hoje, os aplicativos de negócios precisam ser intuitivos e fáceis de usar como os que usam para tarefas pessoais e entretenimento.

Muitos funcionários não ficam mais restritos ao uso de equipamentos bloqueados de propriedade da empresa, e podem usar dispositivos pessoais para trabalhar quando quiserem. Com as pessoas trabalhando a qualquer hora do dia ou da noite, o setor de TI precisa garantir disponibilidade de 24 horas para servidores e aplicativos. As empresas investem maciçamente em infraestrutura de TI para garantir que os funcionários sempre tenham acesso a informações e aplicativos quando necessário.

Claro, os servidores podem falhar por vários motivos, de problemas mecânicos à superutilização e violações de segurança. Se um servidor falhar, os aplicativos que eram executados tornam-se inúteis ou inacessíveis.

As organizações de TI podem planejar essas ocorrências inserindo tolerância a falhas em seus ambientes. Implantar mais servidores no datacenter ou em um site adjacente são estratégias típicas de failover (falha). Os ADCs podem ajudar a garantir a alta disponibilidade dos aplicativos fornecendo failover (falha) perfeito. Isso é feito pelo balanceamento das cargas de trabalho do aplicativo através de um cluster de servidores ativos em um ou vários locais.

Como o balanceamento de carga do servidor ajuda

O balanceamento de carga do servidor ajuda a distribuir o tráfego por um cluster de servidores para otimizar o uso, aprimorar a capacidade de resposta e aumentar a disponibilidade.

O controlador de fornecimento de aplicativo utiliza algoritmos e políticas para determinar como o tráfego de entrada do aplicativo se distribui. O algoritmo "round robin", que encaminha as solicitações do cliente para cada servidor, por sua vez, é uma forma bastante rudimentar de balanceamento de carga. Este método assume que todos os servidores são idênticos: não considera integridade ou capacidade de resposta. O administrador pode implementar políticas adicionais que direcionem o ADC para verificar vários critérios antes de determinar a qual servidor deve ser enviada uma solicitação de entrada. O controlador de fornecimento de aplicativo pode inspecionar cabeçalhos de pacotes a busca de palavras-chave ou tipos de arquivo solicitados, e dirigir a solicitação ao servidor correto com base nestas informações.

Figura 1: O ADC monitora ativamente para garantir que as solicitações sejam enviadas aos servidores disponíveis

Os controladores de fornecimento de aplicativos são bastante confiáveis por suas capacidades de monitoramento. Podem confirmar a integridade e operabilidade do servidor além do ping padrão. Se o monitoramento indicar que o servidor tem problemas, ou que o critério de integridade específico necessário para garantir a confiabilidade do servidor não está sendo cumprido, o ADC roteará o tráfego para um servidor alternativo, evitando uma possível interrupção (veja a Figura 1).

Os controladores de fornecimento de aplicativos também podem fornecer análise histórica e em tempo real de todo tráfego de usuário e rede, incluindo métricas do tempo de ida e volta, uso da largura de banda e latência de datacenter e WAN. Estas informações podem ajudar o pessoal do help desk, reduzindo o tempo para identificar a causa de um problema, e ajudando os usuários com uma resolução mais rápida.

Servidores de balanceamento de carga em vários locais.

O balanceamento de carga é um serviço essencial em qualquer datacenter com grande volume de tráfego, mas um controlador de fornecimento de aplicativo também pode redirecionar o tráfego para um cluster de servidores localizado em um datacenter completamente diferente. Denomina-se balanceamento de carga de servidor global. Os servidores no outro datacenter podem ter o front-end feito por outro ADC, que trabalha em conjunto com o primeiro dispositivo. Esses sites podem ser configurados nos modos ativo-passivo ou ativo-ativo. Neste último caso, os dois locais suportam de modo ativo o tráfego de entrada. Cada controlador de fornecimento de aplicativo detecta qual datacenter está mais próximo de determinado usuário e encaminha a solicitação do cliente para um servidor nesse datacenter. Este processo minimiza a latência e os tempos de ida e volta da solicitação do usuário e garante uma experiência melhor.

Essa configuração também oferece suporte para continuidade de negócios em caso de interrupção de um datacenter. Quando o tráfego é encaminhado para esse datacenter, o ADC irá desviá-lo para um ADC disponível em local adjacente com condições para dirigir o tráfego a um servidor viável.

Desempenho de aplicativo

Se o desempenho do aplicativo ficar aquém das expectativas do usuário, a sua produtividade pode ficar gravemente comprometida. Os controladores de fornecimento de aplicativos podem empregar uma gama de mecanismos para aprimorar o desempenho de aplicativo, especialmente através de redes móveis e de latência alta.

Balanceamento de carga de banco de dados SQL é um mecanismo que pode gerar ganhos de desempenho. O balanceamento de carga de SQL usa muitas das mesmas técnicas empregadas para tráfego TCP de balanceamento de carga, mas aplica essa inteligência no nível do banco de dados. Utiliza lógica dirigida a política para cada transação SQL, aprimorando o número de solicitações e conexões que podem ser tratadas no cluster do banco de dados.

Outros serviços comuns de otimização de desempenho de aplicativo oferecidos por um controlador de fornecimento de aplicativo são descarregamento de tarefas que utilizam muito a capacidade do servidor, multiplexação da conexão, compactação e caching.

SSL e TLS são essenciais para fazer negócios na internet. Gerenciar tráfego criptografado com novos criptogramas ocupa muito tempo de processamento da CPU. Os controladores de fornecimento de aplicativos podem lidar com o excesso de altos volumes de tráfego criptografado e não criptografado. O ADC gerencia certificados e descriptografa o tráfego antes que chegue no servidor.

A multiplexação do TCP é um método efetivo para tratar altos volumes de solicitações de entrada do servidor. A multiplexação do TCP mantém conexões ativas entre o ADC e os servidores. À medida que o tráfego alcança o ADC, esta encaminha as solicitações através desses canais abertos, e isso elimina a sobrecarga ineficiente do "abre-fecha" de cada transação, que pode impactar negativamente o desempenho do servidor.

Otimização de desempenho em redes móveis

Os controladores de fornecimento de aplicativos também podem fornecer benefícios de desempenho entre redes móveis. As páginas da web projetadas para links de internet de alta velocidade quase sempre falham em proporcionar a mesma experiência de usuário ao conectar um dispositivo móvel através de uma rede limitada em largura de banda.

Vários mecanismos criativos permitem ao controlador de fornecimento de aplicativo otimizar o fornecimento de conteúdo da web via redes móveis. Sharding de domínio é um exemplo. A otimização de camada de conexão é aplicada a um único domínio. O conteúdo de cada página subdivide-se em uma sequencia de subdomínios que permitem a abertura simultânea de um maior número de canais, o que diminui o tempo de carregamento da página e melhora o desempenho.

Os controladores de fornecimento de aplicativos têm visibilidade do conteúdo fornecido, e podem otimizar ainda mais o fornecimento de páginas da web com grandes imagens convertendo arquivos GIF em formatos PNG mais eficientes.

Os outros componentes de grande porte de uma página da web incluem scripts extensos e arquivos de folhas de estilo em cascata (cascading style sheet, CSS), as quais podem ser compactadas pelos ADCs, removendo caracteres desnecessários e espaços em branco.

Depois de compactados, os arquivos atravessam a rede em velocidade muito maior e, desta forma, os tempos de download são reduzidos.

Segurança de aplicativo e do usuário

O fornecimento pela web introduziu novas ameaças e vulnerabilidades com as quais os aplicativos tradicionais destinados a LAN nunca imaginaram ter de lidar. À medida em que os funcionários tornam-se mais móveis e demandem acesso remoto para aplicativos e dados, o setor de TI deve conceber salvaguardas mais rigorosas contra ataques externos e vazamento de dados.

Os controladores de fornecimento de aplicativos servem como o ponto de entrada natural ou gateway na rede. autenticam cada usuário que tente acessar um aplicativo. Se o aplicativo for baseado em SaaS, o ADC pode validar a identidade de um usuário em relação ao repositório de dados do Active Directory no local, o que elimina a necessidade de armazenar credenciais em nuvem. Esse processo não apenas é mais seguro, mas também melhora a experiência do usuário ao fornecer capacidades de SSO (login único) para vários aplicativos.

Agora, o SAML, protocolo baseado em XML, é amplamente utilizado para simplificar o processo de login do aplicativo. O ADC pode atuar como um agente do SAML, autorizando os usuários através de qualquer armazenamento de dados em que a sua identidade pode ser confirmada. Alguns aplicativos permitem o uso de credenciais de sites como Facebook ou Google+ para validar identidades antes de conceder acesso. Os ADCs podem atuar como uma identidade do SAML ou provedor de serviços a este respeito.

Ataques de negação de serviço distribuídos (DDoS) estão sem controle. 1 Propriedades empresariais na web, em particular, estão sendo almejadas com a intenção de sobrecarregar os servidores e interromper a sua capacidade de executar negócios. O ADC pode implementar medidas que limitem a taxa para proteger recursos internos do servidor contra esses ataques especialmente concebidos. Quando ocorre um surto extraordinariamente maciço de solicitações de entrada, o ADC pode estrangular essas solicitações e minimizar a quantidade de largura de banda disponível que consomem ou rejeitar a solicitação por completo.

Os controladores de fornecimento de aplicativos convergiram o balanceamento de carga e a proteção avançada de camadas 7 que, normalmente, só estavam disponíveis como soluções standalone. Os firewalls de aplicativo podem inspecionar cabeçalhos de pacotes de dados quanto a scripts maliciosos ou conteúdo suspeito, que podem não ser detectados pelo firewall da rede (Figura 2).

Figura 2. Proteção da camada 7 além das capacidades do firewall de rede

1 Jonathan Keane. Ataques de DDoS atingiram números recordes no T2 de 2015. Digital Trends. 19 de agosto de 2015. http://www.digitaltrends.com/computing/ddos-attacks-hit-record-numbers-in-q2-2015/

O controlador de fornecimento de aplicativo é compatível com modelos de segurança positivos e negativos. Quando um ADC é colocado no modo de "aprendizagem", pode analisar o tráfego para determinar padrões de uso que significam comportamento normal. Se, por exemplo, uma solicitação de entrada maliciosa for enviada usando injeção de SQL ou scripting entre sites, o ADC identificará automaticamente e bloqueará esta solicitação. Além disso, pode usar proteção com base em assinatura via integração com provedores de segurança terceirizados, como a Qualys. A combinação desses métodos de proteção permitem que o ADC use um modelo de segurança híbrida completa para aplicativos e usuários.

O que há de novo para ADCs?

Os ADCs são de grande valor para as organizações de TI pois garantem o fornecimento seguro de aplicativos e dados ao usuário. No entanto, espera-se que continuem a evoluir no mesmo ritmo em que avançam os aplicativos. Redes definidas por software colocaram exigências crescentes sobre os controladores de fornecimento de aplicativos para que operem "como um serviço". À medida que os protocolos tornam-se mais centrados nos aplicativos, os ADCs também devem se adaptar e tornar-se mais "autoautomatizadas" para proporcionar otimização e proteção perfeitas para cada tipo de aplicativo.

Próximo passo