Mantenha o lado quente aquecido e o lado frio resfriado.
Talvez você se lembre (se tiver idade suficiente — e não, não se preocupe, não vou pedir que levante a mão) de uma campanha do McDonald’s, de anos atrás, que promovia embalagens para alguns de seus produtos que mantinham “o lado quente quente e o lado frio frio”.

O conceito era bem simples, na verdade: separar o quente do frio, mas mantê-los em um único recipiente para facilitar o transporte.
Essa noção de separação dentro do mesmo “contêiner” é, na verdade, a base do que faz de um proxy de aplicativo, bem, um proxy. Mantém o lado do cliente como cliente e o lado do aplicativo como... aplicativo.
Ok, pensando bem, talvez isso não fique tão bom na tradução quanto eu gostaria.
Ainda assim, o conceito é válido e importante para entender um proxy de aplicativo.
Fundamentalmente, um proxy é um software que se posiciona logicamente entre dois participantes de uma troca de comunicação. Um proxy de aplicativo fica entre um aplicativo e um cliente. Porém, nem todos os proxies são completos . Um proxy completo exige a separação interna dos dois lados; em essência, um proxy completo tem duas pilhas de rede independentes contidas em um único dispositivo: o lado do cliente (o lado quente) e o lado do aplicativo (o lado frio).

Eu sei, a analogia não está funcionando muito bem, não é? Tenha paciência comigo, é o que temos por enquanto.
O motivo pelo qual isso é (ou deveria ser) um requisito para um proxy de aplicações é que permite ao proxy participar da comunicação entre o cliente e o servidor. Isso é necessário para oferecer funcionalidades como minificação (que melhora o desempenho da aplicação), recursos de segurança (como a sanitização de dados) e multiplexação TCP (otimização), além de uma ampla variedade de outros serviços.
É nessa “lacuna” interna entre o lado do cliente e o lado do aplicativo que a mágica acontece. É ali que diversos serviços — desde o balanceamento de carga básico até o firewall avançado de aplicações e o controle de acesso a aplicações — entram em ação. As solicitações são efetivamente encerradas no lado do cliente de um proxy de aplicações. Depois disso, ocorre um processo muito semelhante ao encadeamento de serviços, mas tudo acontece internamente, nas velocidades do barramento interno e do processador (que quase sempre são superiores à velocidade da rede). Em seguida, são realizadas inspeções, políticas são aplicadas, transformações ocorrem e decisões são tomadas. Uma conexão separada é estabelecida entre o proxy e o aplicativo, e a solicitação segue seu caminho.
Quando essa solicitação retorna ao proxy, ocorre o processo inverso. A inspeção é realizada. Os dados são depurados. As políticas são aplicadas. Em seguida, ela retorna ao lado do cliente, de onde pode ser transferida de volta para o cliente.
E tudo isso acontece em menos de um segundo, porque todo o processo ocorre internamente no proxy.
Como a finalidade de um proxy de aplicativos é fornecer uma ampla variedade de serviços de aplicativos — disponibilidade, segurança, mobilidade, identidade e acesso, além de desempenho —, ele realmente deve ser um proxy completo. Somente um proxy completo é projetado para participar de todas as solicitações e respostas. Os proxies simples (que, entrando em detalhes, são na verdade proxies sem estado) participam apenas da conversa inicial, quando a conexão entre o cliente e o aplicativo está sendo estabelecida. Sua finalidade é escolher uma instância do aplicativo e, então, “costurar” a conexão entre os dois. Depois disso, o proxy deixa de participar. Ele enxerga um “fluxo” (uma construção TCP da camada 4 que você talvez já tenha ouvido mencionar em discussões sobre SDN, mas esse é outro assunto para outra ocasião) e simplesmente encaminha os pacotes de um lado para o outro, misturando indiscriminadamente o quente e o frio. (Viu? Eu sabia que, em algum momento, a analogia funcionaria.)
Dito isso, um proxy de aplicações moderno (e escalável) deve ser um proxy completo e ter três características principais: programabilidade, desempenho e protocolos.
A programabilidade é fundamental nos data centers modernos e na nuvem para viabilizar a automação, a orquestração e a padronização. Ela também é essencial no caminho de dados para habilitar a segurança e os serviços que agregam valor exclusivo aos negócios e às operações, permitindo o suporte a protocolos personalizados e o aprimoramento dos existentes. O desempenho pode parecer algo simples, mas não é. Como um proxy de aplicações interage com cada solicitação, ele precisa ser não apenas rápido, mas extremamente rápido. Ele precisa fazer o que deve ser feito com agilidade, sem adicionar à comunicação uma latência que prejudique a experiência com a aplicação. Isso está longe de ser tão fácil quanto parece, especialmente diante da forte tendência de usar a computação de uso geral como base para a implantação.
Por fim, os protocolos são importantes. A primeira coisa em que pensamos quando dizemos “aplicativo” provavelmente é HTTP. Isso não é nenhuma surpresa; HTTP é o novo TCP e a língua franca da Internet. Mas ele não é o único protocolo em uso, especialmente em uma era de comunicações viabilizadas pela Internet. Há também SIP e UDP. Sem falar em SMTP (você ainda envia e-mails, certo?) e LDAP. E quanto a SSL e TLS? Com o foco (e a urgência) cada vez maior em levar o SSL Everywhere, bem, a todos os lugares, é ainda mais essencial que um proxy de aplicativos seja compatível com SSL/TLS — e com extrema fluência. Caso contrário, esse requisito de desempenho pode não ser atendido.
Um proxy de aplicações pode fornecer a plataforma de que os data centers modernos precisam para enfrentar desafios de segurança e desempenho, automatizar e orquestrar processos a fim de reduzir os custos operacionais e garantir a melhor experiência possível com as aplicações tanto para consumidores quanto para clientes corporativos. Mas ele precisa ser um proxy de aplicações completo, com capacidade de programação, alto desempenho e suporte a protocolos, para garantir que nenhuma aplicação fique para trás.
Sobre o autor

Lori MacVittie é engenheira distinta e evangelista-chefe no Escritório do CTO da F5, com ampla experiência em entrega de aplicações, estratégia de automação e infraestrutura. Ela é conhecida por transformar complexidade em clareza, seja definindo diretrizes para agentes de IA, analisando arquiteturas multinuvem frágeis ou investigando os limites de sistemas escaláveis. Ela acumula mais de trinta anos de experiência no setor, abrangendo desenvolvimento de aplicações, arquitetura de TI e operações de redes e sistemas. Antes de ingressar na F5, atuou como editora de tecnologia e recebeu diversos prêmios. MacVittie tem mestrado em Ciência da Computação e é uma autora prolífica, com publicações que abrangem segurança, nuvem e arquitetura empresarial. Ela também é uma entusiasta de jogos de tabuleiro e videogames, além de ter opiniões assumidamente fortes sobre queijos.
Mais publicações de Lori Mac VittiePublicações relacionadas no blog

Entrega e proteção de agentes de IA em fábricas de IA: F5 para a arquitetura de referência NVIDIA OpenShell para agentes de IA seguros
As soluções da F5 ampliam a Arquitetura de Referência NVIDIA OpenShell para agentes de IA seguros.
Como medir – e minimizar – o custo total de propriedade do seu Kubernetes
O Kubernetes pode ser baixado e executado gratuitamente, mas sua manutenção está longe de não ter custos. Assim como outras grandes plataformas de código aberto que são “gratuitas” apenas em um sentido simplista, o Kubernetes quase certamente exigirá investimentos para ser implantado e operado.
As-Code: a pilha de TI contínua
Infraestrutura, configuração, pipeline, operações. De repente, tudo é “como código”. Lori MacVittie busca esclarecer a terminologia e identificar os diferentes componentes de uma stack contínua de TI.
O estado da entrega de aplicações em 2017: automação, APIs e DevOps
Explore o relatório State of Application Delivery de 2017. Leia o blog retrospectivo da F5 sobre o início da ascensão das redes declarativas e dos pipelines de DevOps.
DevOps Summit: onde a rede foi convidada para a festa
No DevOps Summit NY, falou-se muito não apenas sobre DevOps, mas também sobre contêineres, IoT e microsserviços. As sessões se concentraram não só na mudança cultural necessária para crescer em escala com uma abordagem DevOps, mas também fizeram questão de incluir...
F5 e Nutanix convergem em infraestrutura no .NEXT
Aplicações empresariais como Microsoft SharePoint e Exchange, juntamente com a VDI, continuam sendo a espinha dorsal da sua empresa. A produtividade, embora não seja tão atraente quanto o lucro, é um fator essencial para o sucesso das operações empresariais atuais. Deixar de...