Apigee anuncia disponibilidade geral do APIM Extension Processor

15 DE ABRIL DE 2025
Ishita Saxena Strategic Cloud Engineer
Sanjay Pujare Software Engineer

Temos o prazer de anunciar a disponibilidade geral (GA, na sigla em inglês) do Apigee Extension Processor (versão 1.0). Esse novo e eficiente recurso expande significativamente o alcance e a flexibilidade do Apigee, tornando mais simples do que nunca gerenciar e proteger uma grande variedade de serviços de back-end e de arquiteturas modernas de aplicativos.

Para os desenvolvedores que usam modelos de implantação modernos, o Extension Processor oferece integração direta com o Cloud Run, possibilitando a aplicação de políticas do Apigee a aplicativos conteinerizados escalonáveis.

O Extension Processor também viabiliza novos e eficientes padrões de comunicação. Agora, é possível gerenciar facilmente interações avançadas em tempo real com o streaming bidirecional do gRPC, o que permite a criação de aplicativos altamente interativos e de baixa latência. Além disso, para arquiteturas orientadas por eventos, o Extension Processor fornece um caminho para gerenciar e proteger Server-Sent Events (SSEs), facilitando o streaming de dados eficiente para os clientes.

Mas os benefícios vão além da implantação de aplicativos e dos protocolos de comunicação. O Apigee Extension Processor, em conjunto com as políticas do Google Token Injection, simplifica drasticamente o acesso seguro à infraestrutura do Google Cloud. Você pode se conectar e controlar diretamente o acesso a serviços de dados eficientes, como o Bigtable, e aproveitar a inteligência da Vertex AI em suas cargas de trabalho de aprendizado de máquina, tudo isso mantendo o framework de segurança consistente do Apigee.

Por fim, com a integração aos recursos inteligentes de gerenciamento de tráfego do Cloud Load Balancing do Google, o Extension Processor oferece flexibilidade incomparável no roteamento e gerenciamento de diversos fluxos de tráfego. Essa combinação eficiente possibilita inúmeras formas de gerenciamento, até mesmo os cenários de API mais complexos.

Este blog descreve uma solução eficiente para um desafio importante no atual cenário de aplicativos de alto desempenho e em tempo real: gerenciar o streaming do gRPC no Apigee. Embora o gRPC seja um ponto central dos microsserviços eficientes, sua natureza de streaming apresenta um desafio para as organizações que usam o Apigee do Google Cloud como um proxy inline (modo tradicional). Exploraremos como o Apigee Extension Processor permite que o plano de dados do Apigee aplique políticas ao tráfego de streaming do gRPC à medida que ele passa pelo balanceador de carga de aplicativo (ALB, na sigla em inglês). Isso é possível por meio de uma extensão de serviço (extensão de tráfego), permitindo gerenciamento e roteamento eficazes sem que o fluxo do gRPC atravesse diretamente o gateway do Apigee.

Continue a leitura e conheça os principais elementos dessa solução, com destaque para seus benefícios e uma visão geral de alto nível de um caso de uso real que envolve um back-end do Cloud Run.


Noções básicas do Apigee Extension Processor

O Apigee Extension Processor é uma extensão de tráfego avançada (um tipo de extensão de serviço) que permite usar o Cloud Load Balancing para enviar chamadas ao Apigee como parte de seu gerenciamento de APIs. Isso permite que o Apigee aplique políticas de gerenciamento de APIs às solicitações antes que o ALB encaminhe essas solicitações para os serviços de back-end gerenciados pelo usuário, estendendo efetivamente os recursos robustos de gerenciamento de APIs do Apigee para cargas de trabalho expostas por meio do Cloud Load Balancing.


Infraestrutura e fluxo de dados

O diagrama a seguir descreve os componentes necessários para a configuração do Apigee Extension Processor:

A configuração do Apigee Extension Processor envolve vários componentes importantes. Isso inclui um ALB, uma instância do Apigee com o Extension Processor ativado e uma extensão de serviço. Para obter uma descrição detalhada desses componentes, consulte a Visão geral do Apigee Extension Processor (em inglês).

Data flow diagram for Apigee Services extensions

As etapas numeradas a seguir correspondem às setas numeradas no fluxograma, ilustrando a sequência de eventos:

1 - O cliente envia uma solicitação ao ALB.

2 - O ALB, que atua como ponto de aplicação obrigatória de política (PEP, na sigla em inglês), processa o tráfego. Como parte desse processamento, ele chama o Apigee por meio da extensão de serviço configurada (extensão de tráfego).

3 - O Apigee Extension Processor, que atua como o ponto de decisão de política (PDP, na sigla em inglês), recebe a chamada, aplica as políticas de gerenciamento de APIs relevantes à solicitação e retorna a solicitação processada ao ALB (PEP).

4 - O ALB conclui o processamento e encaminha a solicitação ao serviço de back-end.

O serviço de back-end inicia a resposta, que é recebida pelo ALB. A ALB pode chamar o Apigee novamente por meio da extensão de serviço para aplicar políticas à resposta antes de encaminhá-la ao cliente.


Eliminação de lacunas: como ativar a passagem do streaming do gRPC

Muitos aplicativos modernos exigem e usam a potência do streaming do gRPC. No entanto, o Apigee, que é usado como um proxy inline, atualmente não oferece suporte a streaming. E é nesse ponto em que o Apigee Extension Processor passa a ser essencial, permitindo que o ALB processe o tráfego de streaming do gRPC e atue como o PEP (ponto de aplicação obrigatória de política) e que o ambiente de execução do Apigee atue como o PDP (ponto de decisão de política).


Principais elementos necessários para ativar a passagem do streaming do gRPC com o Apigee

Para ativar a passagem do streaming do gRPC usando o Apigee Extension Processor, os seguintes elementos-chave são necessários. Para obter instruções detalhadas de configuração, consulte Primeiros passos com o Apigee Extension Processor (em inglês).

  • Serviço de back-end de streaming do gRPC: um serviço do gRPC que implementa os recursos de streaming necessários (servidor, cliente ou bidirecional).

  • Instância do Apigee com o Extension Processor ativado: uma instância e um ambiente do Apigee configurados com o recurso Extension Processor usam um proxy de API sem destino para o processamento ext-proc de tráfego a partir da extensão de serviço.

  • Configuração da extensão de serviço: uma extensão de tráfego (um tipo de extensão de serviço) que atua como uma ponte entre o ALB e o ambiente de execução do Apigee (idealmente usando o Private Service Connect, ou PSC).

  • Conectividade de rede: configuração de rede adequada que permite a comunicação entre todos os componentes (entre o cliente e o ALB, o ALB e o Apigee e o ALB e o back-end).

Caso de uso: proteção e gerenciamento de serviços de streaming do gRPC no Cloud Run com o Apigee

Considere um cenário no qual um cliente desenvolve um serviço de back-end de alto desempenho com recursos de streaming do gRPC, como o fornecimento de registros de aplicativos em tempo real. Para fins de escalonabilidade e facilidade de gerenciamento, esse aplicativo de back-end é implantado no Google Cloud Run em seu projeto principal do Google Cloud. Agora, o cliente deseja expor esse serviço de streaming do gRPC a seus clientes por meio de um gateway de API seguro e bem gerenciado. Ele escolhe o Apigee para essa finalidade, aproveitando seus recursos robustos de gerenciamento de APIs, como autenticação, autorização, limitação de taxa e outras políticas.


O desafio

Como já mencionado, o Apigee não oferece suporte nativo ao streaming do gRPC quando usado no modo de proxy inline. A exposição direta do serviço do gRPC do Cloud Run por meio de configurações padrão do Apigee não seria compatível com nenhum dos casos de uso de streaming: cliente, servidor ou streaming bidirecional.


Solução

O Apigee Extension Processor fornece a ponte necessária para gerenciar o tráfego de streaming do gRPC destinado a um aplicativo de back-end implantado no Cloud Run no mesmo projeto do Google Cloud.

Aqui, temos um fluxo simplificado:


1 - Iniciação do cliente

  • O aplicativo cliente inicia uma solicitação de streaming do gRPC.

  • Essa solicitação é direcionada ao endereço IP público ou nome DNS do ALB que atua como ponto de entrada.


2 -
Processamento do balanceador de carga de aplicativo e chamada da extensão de serviço

  • O ALB recebe a solicitação de streaming do gRPC de entrada.

  • O ALB é configurado com um serviço de back-end que usa um grupo de endpoints de rede (NEG, na sigla em inglês) sem servidor apontando para o back-end no Cloud Run.

  • O ALB também é configurado com uma extensão de serviço (extensão de tráfego) que tem um back-end de ambiente de execução do Apigee específico configurado.

  • O ALB chama primeiro essa extensão de serviço para o tráfego relevante.


3 - Processamento do proxy do Apigee

  • A solicitação do gRPC é encaminhada para o proxy de API do Apigee designado por meio da extensão de serviço.

  • Dentro desse proxy X do Apigee, várias políticas de gerenciamento de APIs são executadas. Isso pode incluir autenticação, autorização e limitação de taxa.

Observação: o proxy do Apigee nesse cenário é um proxy sem destino, ou seja, não tem um endpoint de destino configurado. Ele depende do ALB para o roteamento final.


4 - Retorno para o ALB

  • Como o proxy do Apigee não tem destino, após o processamento da política, o controle retorna para o ALB por meio da resposta da extensão de serviço.


5 - Roteamento para o back-end no Cloud Run pelo balanceador de carga

  • O ALB, com base em sua configuração de serviço de back-end, encaminha a solicitação de streaming do gRPC para o serviço de back-end apropriado, que é mapeado para o NEG sem servidor no qual reside o serviço do Cloud Run.

  • O ALB lida com o roteamento subjacente para a instância do Cloud Run.


6 - Tratamento das respostas

O tratamento das respostas segue um padrão semelhante ao fluxo de solicitações. O back-end inicia a resposta, que é então tratada pelo ALB. O ALB pode chamar o Apigee por meio da extensão de serviço (extensão de tráfego) para a aplicação obrigatória da política antes de encaminhar a resposta ao cliente.


Esse caso de uso simplificado demonstra como o Apigee Extension Processor pode ser usado para aplicar políticas de gerenciamento de APIs ao tráfego de streaming do gRPC destinado a um aplicativo implantado no Cloud Run no mesmo projeto do Google Cloud. O ALB lida principalmente com o roteamento para o serviço do Cloud Run com base em sua configuração de NEG.


Benefícios do uso do Apigee Extension Processor para o streaming do gRPC

A utilização do Apigee Extension Processor para gerenciar os serviços de streaming do gRPC no back-end proporciona várias vantagens importantes, estendendo os principais pontos fortes do Apigee a essa nova aplicação da plataforma:

  • Extensão do alcance do Apigee

Essa abordagem estende os recursos robustos de gerenciamento de APIs do Apigee para o streaming do gRPC, um padrão de comunicação de streaming para o qual não há suporte nativo no proxy principal da plataforma Apigee.

  • Aproveitamento de investimentos existentes

Para organizações que já usam o Apigee para suas APIs RESTful, essa solução permite o gerenciamento dos serviços de streaming do gRPC dentro do Apigee. Embora seja necessário o uso do Extension Processor, ele aproveita os conceitos de gerenciamento de APIs já conhecidos e reduz a necessidade de ferramentas separadas.

  • Gerenciamento centralizado de políticas

O Apigee fornece uma plataforma centralizada para definir e aplicar políticas de gerenciamento de APIs. Ao integrar o streaming do gRPC por meio do Extension Processor, é possível manter a consistência na governança e na segurança de todos os endpoints de API.

  • Possibilidade de monetização

Se você estiver expondo os serviços de streaming do gRPC como um produto, será possível usar os recursos de monetização do Apigee. Você poderá gerar receita sempre que suas APIs de streaming do gRPC forem usadas adicionando planos de tarifas aos produtos de APIs personalizados que você criar no Apigee.

  • Melhoria na observabilidade e rastreabilidade

Embora a análise detalhada no nível do protocolo do gRPC possa ser limitada em um cenário de passagem, o Apigee ainda fornece insights valiosos sobre o fluxo de tráfego de seus serviços de streaming, incluindo tentativas de conexão, taxas de erro e padrões gerais de uso. Essa observabilidade é essencial para o monitoramento e a solução de problemas.

Os sistemas de rastreamento distribuído do Apigee podem ajudar a rastrear solicitações em sistemas distribuídos que envolvem serviços de streaming do gRPC, fornecendo visibilidade de ponta a ponta em vários aplicativos, serviços e bancos de dados.

  • Business Intelligence

O Apigee API Analytics coleta o grande volume de informações que fluem pelo seu balanceador de carga, fornecendo visualização de dados na IU ou possibilitando o download dos dados para análise off-line. Esses dados são extremamente úteis para entender padrões de uso, identificar gargalos de desempenho e tomar decisões de negócios bem fundamentadas.

Ao considerar esses benefícios, fica claro que o Apigee Extension Processor representa uma solução prática e valiosa para levar recursos essenciais de gerenciamento de APIs para os serviços de streaming do gRPC no Google Cloud.


O futuro

O Apigee Extension Processor representa um passo significativo na extensão dos recursos do Apigee. Imaginamos um futuro no qual qualquer gateway, em qualquer lugar, possa aproveitar a potência da capacidade de aplicação obrigatória de políticas do Apigee. Isso envolverá o aproveitamento do protocolo ext-proc e a integração a vários balanceadores de carga e gateways baseados no Envoy, permitindo que eles atuem como pontos de aplicação obrigatória de política (PEPs), com o ambiente de execução do Apigee atuando como o ponto de decisão de política (PDP). Essa evolução capacitará ainda mais as organizações a gerenciar e proteger consistentemente seus ativos digitais em ambientes cada vez mais distribuídos e heterogêneos.