Minha IBM Efetue login Inscreva-se
O que é um controlador de entrega de aplicações (ADC)?

O que é um controlador de entrega de aplicações (ADC)?

Explore a solução GSLB da IBM Inscreva-se para receber atualizações da nuvem
Ilustração com colagem de pictogramas de engrenagem, braço robótico, telefone celular

Publicado: 22 de maio de 2024
Contribuidores: Chrystal R. China, Michael Goodwin

O que é um controlador de entrega de aplicações (ADC)?

O que é um controlador de entrega de aplicações (ADC)?

Um controlador de entrega de aplicações (ADC) é um dispositivo de rede usado para otimizar a entrega de aplicações pela internet, tipicamente como parte de uma rede de entrega de aplicações (ADN).

Um ADC pode ser um aparelho de hardware ou um programa de software e geralmente é colocado na zona desmilitarizada (DMZ) de uma rede empresarial, entre o firewall e um ou mais servidores de aplicações. Os ADCs atuam como proxies reversos que recebem, descriptografam, validam e direcionam solicitações de clientes antes de enviar respostas criptografadas de volta ao usuário.

Os ADCs ajudam as empresas a modernizar aplicações de rede, acelerar conexões entre máquinas clientes e servidores web, otimizar o balanceamento global de carga de servidores (GSLB) e aumentar a disponibilidade geral das aplicações para os usuários finais.

Melhorando o desempenho e a resiliência das conexões de “última milha”.

Descubra como as soluções GSLB ajudam as equipes de balanceamento de carga a alcançar mais funcionalidade com menos custo.

ADCs e balanceadores de carga

ADCs e balanceadores de carga

A evolução dos controladores de entrega de aplicativos está intimamente ligada ao desenvolvimento de aplicações web, data centers e do amplo campo do gerenciamento de redes.

No final dos anos 1990 e início dos anos 2000, com a comercialização da internet e o aumento do tráfego web, as empresas precisavam de uma solução para garantir que sites e aplicativos pudessem lidar eficientemente com grandes volumes de tráfego de aplicações. O principal desafio era encontrar uma forma de distribuir as solicitações recebidas entre vários servidores para garantir alta disponibilidade e resiliência da rede.

A primeira geração de dispositivos criados para resolver esse desafio foi chamada de balanceadores de carga. Inicialmente, eles eram simples e operavam na camada de transporte. Os balanceadores de carga se concentravam em distribuir o tráfego recebido entre vários servidores para equilibrar as cargas e evitar sobrecarregar qualquer servidor individualmente.

Com o aumento da complexidade de aplicativos e sites, os balanceadores de carga legados perderam popularidade por não conseguirem analisar e tomar decisões com base no conteúdo das solicitações dos usuários (além de apenas endereços IP e portas). Isso levou os desenvolvedores a adotar soluções de balanceamento de carga na camada 7, que podiam inspecionar o conteúdo das mensagens na camada de aplicação.

Os balanceadores de carga avançados podiam rotear o tráfego com base em fatores como cabeçalhos HTTP, cookies ou até mesmo solicitações de páginas específicas, facilitando estratégias mais sofisticadas de gerenciamento de tráfego, como persistência de sessão (ou “stickiness”) e roteamento baseado em conteúdo. Com o passar do tempo, à medida que os desenvolvedores adicionavam mais funcionalidades, esses balanceadores de carga se transformaram nos controladores inteligentes que hoje chamamos de ADCs.

Conteúdo relacionado Assine a newsletter da IBM
Qual é a função de um controlador de entrega de aplicações?

Qual é a função de um controlador de entrega de aplicações?

Os controladores modernos de entrega de aplicativos são componentes essenciais em infraestruturas de TI resilientes e de alta disponibilidade, especialmente em data centers de redes. Esses controladores gerenciam o tráfego de aplicativos com uma série de processos e funcionalidades complexas, assegurando o fluxo eficiente e seguro de dados entre os dispositivos dos usuários e os servidores backend. Esses recursos são:

Balanceamento de Carga

Uma das principais funções de um ADC é distribuir o tráfego de entrada entre vários servidores (balanceamento de carga) com base em algoritmos como menos conexões, round-robin e tempo de resposta do servidor. Se um servidor estiver sobrecarregado ou ficar offline, o ADC redireciona o tráfego para outros servidores, evitando que o servidor problemático se torne um gargalo e mantenha o desempenho da rede e a experiência do usuário inalterados (ou minimamente afetados).

Os balanceadores de carga também mantêm a persistência de sessão, garantindo que os dados da sessão de um usuário sejam armazenados em cache e permaneçam no mesmo servidor durante toda a interação.

Com o balanceamento de carga global de servidores (GSLB), frequentemente chamado de balanceamento de carga para balanceadores, os ADCs podem distribuir as solicitações entre vários servidores localizados em diferentes regiões geográficas, direcionando automaticamente os usuários para o data center mais próximo ou com melhor desempenho.

Descarregamento de TLS e SSL

O processamento de segurança na camada de transporte (TLS) e de camada de sockets seguros (SSL) pode, por vezes, sobrecarregar os recursos de um servidor web. Com o descarregamento de SSL, os ADCs substituem os servidores backend e atuam como endpoints SSL ou TLS, gerenciando a criptografia e descriptografia, liberando recursos da CPU para o processamento de dados de aplicativos e melhorando o desempenho do servidor.

Multiplexação TCP

Os ADCs otimizam as conexões de rede usando processos de multiplexação TCP, que consolidam diversas conexões TCP do lado do cliente (agregando-as ou reutilizando-as) em um número menor de conexões do lado do servidor. Utilizando um conjunto de conexões persistentes de servidor, o ADC pode multiplexar dinamicamente as solicitações dos clientes sobre essas conexões para reduzir a sobrecarga do servidor.

Armazenamento em cache de conteúdo

Os ADCs podem armazenar em cache conteúdos solicitados com frequência (como imagens, vídeos e sites) mais próximos ao usuário, eliminando a necessidade de gerá-los ou buscá-los repetidamente nos servidores web. Essas políticas de cache podem reduzir significativamente a carga de processamento nos servidores de origem e melhorar o tempo de resposta dos servidores para os usuários finais.

Compressão de conteúdo

Os ADCs compactam o conteúdo web (como HTML, CSS e JavaScript) antes de enviá-lo ao cliente, reduzindo a demanda de banda e acelerando a entrega de conteúdo, especialmente para usuários com conexões de internet mais lentas.

Segurança de aplicativos

ADCs frequentemente incluem firewalls de aplicação DNS e firewalls de aplicação web (WAFs) que protegem contra vulnerabilidades comuns de segurança, como injeção de SQL, envenenamento de cookies, cross-site scripting (XSS) e outros ataques na camada de aplicação, inspecionando o tráfego recebido em busca de padrões maliciosos e bloqueando solicitações potencialmente prejudiciais.

Os ADCs também ajudam a proteger as aplicações contra distributed denial-of-service (DDoS), filtrando o tráfego malicioso antes que ele sobrecarregue a infraestrutura da aplicação. Com controles de acesso específicos para cada aplicação, protocolos de limitação de taxa e recursos de gerenciamento de bots, os ADCs são fundamentais na criação de arquiteturas de zero trust e na prevenção de abusos e ataques à rede.

Modelagem de tráfego

Os ADCs organizam o tráfego priorizando as aplicações críticas, garantindo que recebam a largura de banda necessária durante picos de tráfego, permitindo que dados sensíveis ao tempo e de missão crítica atravessem a rede mais rapidamente. Utilizando políticas de qualidade de serviço (QoS), os ADCs podem também ajudar a gerenciar a largura de banda e evitar a congestão da rede.

Autenticação central

Os ADCs podem interagir com serviços de diretório (como um Active Directory no local) para controlar o acesso do aplicativo do usuário e fornecer pontos de autenticação central para autenticação do cliente e verificação de autorização. Eles também suportam novos protocolos, como autenticação multifator (MFA) e logon único (SSO), para melhorar a segurança da rede.

ADCs em ambientes nativos da nuvem

ADCs em ambientes nativos da nuvem

A mudança para aplicações nativas em nuvem exigiu que os controladores de entrega de aplicações evoluíssem para oferecer suporte a ambientes conteinerizados e arquiteturas de microsserviços. Embora os ADCs baseados em hardware e software ainda sejam eficazes de várias maneiras, os ADCs tradicionais foram projetados para aplicativos monolíticos e frequentemente têm dificuldades para acompanhar a natureza dinâmica das aplicações nativas em nuvem de hoje.

Para resolver isso, provedores de serviços como Citrix, VMWare, Amazon Web Services (AWS), Microsoft Azure e IBM, entre outros, desenvolveram ADCs nativos em nuvem (na forma de IaaS, PaaS e SaaS) que oferecem agilidade, escalabilidade e recursos de automação avançados. Os ADCs modernos são projetados para se integrar sem dificuldades às APIs dos provedores de nuvem e às ferramentas de orquestração de containers (como o Kubernetes), oferecendo recursos superiores de descoberta de serviços, escalonamento automático e gerenciamento de tráfego.

Casos de uso do ADC

Casos de uso do ADC

Mesmo tendo começado como simples balanceadores de carga, os controladores de entrega de aplicações têm se ajustado constantemente para atender às exigências dinâmicas das infraestruturas de TI e das soluções de entrega de aplicativos. Os ADCs de hoje são plataformas multifacetadas de entrega de aplicativos que oferecem desempenho de aplicações, segurança e otimização de entrega em ambientes complexos e multinuvem.

Qualquer empresa que opere uma Content Delivery Network (CDN) em grande escala, complexa ou distribuída pode usar ADCs para garantir que as aplicações de rede estejam sempre disponíveis e com bom desempenho.

Os ADCs podem ajudar as empresas em:

Balanceamento de carga global do servidor

Os ADCs podem redirecionar o tráfego da rede para clusters de servidores em data centers por toda a rede. Especificamente, eles podem colaborar com outros ADCs para otimizar o caminho que o tráfego percorre na internet, permitindo que cada ADC roteie as solicitações para o data center mais próximo do cliente, minimizando a latência e o tempo de ida e volta.

Gerenciamento de conexão

ADCs gerenciam clientes de diferentes velocidades ajustando os tempos limite e os buffers de acordo com a necessidade. Os controladores também podem encerrar conexões para liberar recursos desnecessários e multiplexar conexões para maior eficiência da rede.

Monitoramento do funcionamento

Os ADCs monitoram continuamente a integridade dos servidores de aplicativos em tempo real para garantir que o tráfego seja roteado apenas para servidores responsivos e disponíveis. Eles podem enviar pings para servidores web, tentar estabelecer conexões TCP e fazer solicitações no nível do aplicativo para verificar se um servidor está funcionando de forma otimizada.

Caso um servidor falhe ou comece a funcionar abaixo do esperado, o ADC consegue redirecionar o tráfego para outros servidores e até mesmo reiniciar o servidor ou executar outras ações de recuperação (se configurado para tal).

Suporte a multilocação

Os projetos de multilocação possibilitam que diversos grupos dentro de uma organização (DevOps, marketing e vendas ou equipes de aplicações específicas como serviço ao cliente, inventário e pagamentos) utilizem a mesma infraestrutura de aplicações. A consolidação de mais serviços em menos dispositivos, sejam eles virtuais ou físicos, ajuda as organizações a aumentarem a agilidade da rede e a reduzirem os custos relacionados à administração, aquisição e suporte contínuo.

ADCs na edge computing

A edge computing envolve o processamento de dados próximo à fonte (edge da rede), em vez de depender apenas de um data center central. Os ADCs implementados no edge da rede podem otimizar o tráfego local, gerenciar políticas locais de segurança e conformidade e garantir que os aplicativos funcionem de forma eficiente, mesmo em ambientes distribuídos. Isso é especialmente útil para aplicações e serviços de IoT que exigem recursos de processamento em tempo real.

Integração com a rede definida por software (SDN)

Os ADCs evoluíram para serem mais programáveis e facilmente integrados com arquiteturas SDN, que separam a camada de controle da rede da camada de dados para um gerenciamento de recursos mais centralizado e flexível. Agora, os ADCs podem ser configurados e gerenciados dinamicamente com controladores de software, permitindo respostas mais ágeis às flutuações do tráfego de rede e às demandas dos aplicativos.

Recursos de aprendizado de máquina (ML) e IA

A inteligência artificial (IA) e as tecnologias de ML podem ajudar os ADCs a prever padrões de tráfego, detectar possíveis ameaças à segurança e automatizar tarefas de gerenciamento de rede, melhorando a eficiência e reduzindo a necessidade de interação humana com a rede.

Benefícios dos ADCs

Os controladores de entrega de aplicativos ajudam as empresas a otimizar o roteamento de tráfego e maximizar a disponibilidade da rede, especialmente para aquelas que lidam com grandes volumes de tráfego web, hospedam aplicações de missão crítica ou necessitam de altos níveis de segurança de dados.

Os ADCs oferecem às empresas:

Análise de dados em tempo real

Os ADCs coletam dados de uma ampla gama de métricas (como volume de tráfego, integridade do servidor e eventos de segurança), o que pode ajudar as empresas a obter insights sobre o funcionamento da rede.

Aceleração de aplicações

Os ADCs utilizam diversas técnicas, como a troca de conteúdo, para comprimir, reciclar e armazenar dados em cache, acelerando aplicativos e sites da rede.

Desempenho do aplicativo melhorado

Os ADCs podem expandir automaticamente os serviços de aplicativos disponíveis para garantir um roteamento de tráfego de alto desempenho, especialmente para redes com alta latência e redes móveis.

Recuperação de desastres automatizada

Os ADCs oferecem recursos de failover para garantir que um negócio possa continuar operando e que os usuários sofram o mínimo de atrasos quando um servidor falhar. Os ADCs duplicam e sincronizam as sessões de usuários entre servidores, para que, se um servidor sair do ar, as responsabilidades de execução sejam transferidas para uma cópia da sessão.

Segurança de rede mais forte

Os ADCs oferecem a primeira linha de defesa contra ataques maliciosos, usando WAFs e funcionalidades de detecção e prevenção de intrusão para proteger os dados da rede.

Soluções relacionadas

Soluções relacionadas

IBM NS1 Connect GSLB

Otimize a experiência dos usuários finais e melhore a resiliência da rede a um custo mais baixo com o IBM NS1 Connect GSLB, uma nova abordagem impulsionada por DNS e dados de desempenho de dispositivos em tempo real.

Conheça o IBM NS1 Connect GSLB Solicite uma demo ao vivo

IBM NS1 Connect Managed DNS

O serviço de DNS gerenciado IBM NS1 Connect oferece conexões DNS resilientes, rápidas e autoritativas para prevenir quedas de rede e manter sua empresa online o tempo todo.

Explore o IBM NS1 Connect Managed DNS Solicite uma demo ao vivo

Gerenciamento de desempenho de aplicações IBM


Integre a observabilidade full stack ao gerenciamento automatizado de recursos de aplicações para lidar com problemas de desempenho antes que impactem a experiência dos usuários.

Explore as soluções de entrega de aplicativos da IBM Conheça o IBM Turbonomic sem custo

Entrega de aplicação IBM

Capacite suas equipes a modernizar rapidamente as aplicações existentes e a entregar novas aplicações nativas em nuvem.

Explore as soluções de entrega de aplicativos da IBM Leia um estudo de caso de modernização

Recursos

Recursos

O que é gerenciamento de desempenho de aplicações (APM)?

O software de APM ajuda uma organização a garantir que as aplicações críticas atendam às expectativas estabelecidas para desempenho, disponibilidade e experiência do cliente ou usuário.

A IBM está utilizando RUM e DNS para oferecer GSLB de alto nível

Saiba como ter um "balanceador de carga para balanceadores de carga" mantém seu tráfego distribuído de forma eficiente e garante o desempenho que seus clientes esperam de uma aplicação habilitada para internet.

O que é otimização de rede?

A otimização de rede envolve um conjunto de estratégias, ferramentas, técnicas e melhores práticas para monitorar, gerenciar e melhorar o desempenho e a confiabilidade da rede.

O que é cibersegurança?

A cibersegurança refere-se a qualquer tecnologia, medida ou prática destinada a prevenir ciberataques a sistemas, aplicações, dispositivos computacionais, dados sensíveis e ativos financeiros de indivíduos e organizações ou a mitigar seus impactos.

O que é observabilidade?

Observabilidade é a capacidade de entender o estado interno ou condição de um sistema complexo com base apenas no conhecimento de suas saídas externas.

O que é hospedagem de servidores?

A hospedagem de servidores é um serviço de TI oferecido, geralmente, por provedores de serviços em nuvem, que proporciona acesso remoto a servidores virtuais ou físicos fora das instalações e seus recursos associados, mediante uma assinatura mensal ou preço baseado no uso.

Dê o próximo passo

O IBM NS1 Connect fornece conexões rápidas e seguras para usuários em qualquer lugar do mundo com DNS premium e direcionamento de tráfego avançado e personalizável. A arquitetura sempre ativa e baseada em API do NS1 Connect permite que suas equipes de TI monitorem redes de forma mais eficiente, implementem mudanças e realizem manutenções rotineiras.

Explore o NS1 Connect Agende uma demonstração em tempo real