Visão geral das extensões de serviço

Com as extensões de serviço, os usuários dos produtos do Google Cloud , como o Cloud Load Balancing e o Media CDN, podem inserir código personalizado diretamente no caminho de dados. Isso ajuda você a personalizar o comportamento desses produtos para atender às necessidades da sua empresa. Esta página oferece uma visão geral de alto nível das extensões de serviço.

Tipos de extensões

O caminho de dados em produtos de rede, como o Cloud Load Balancing e a Media CDN, pode ser visualizado como um pipeline de etapas de processamento de dados. Com as extensões de serviço, é possível inserir lógica personalizada em uma ou mais dessas etapas.

As extensões de serviço oferecem duas maneiras de inserir lógica personalizada: plug-ins e chamadas.

Plug-ins

Com os plug-ins, é possível inserir código personalizado inline no caminho de dados de rede. Você cria esses plug-ins usando WebAssembly (Wasm) e ABI Proxy-Wasm.

Os plug-ins são executados como módulos Wasm em uma infraestrutura de sandbox gerenciada pelo Google semelhante a uma infraestrutura sem servidor. Os plug-ins são executados em computação gerenciada pelo Google. Elas têm capacidade restrita e requisitos de tempo de execução rigorosos. Eles são executados perto do plano de dados, e a otimização de latência é gerenciada. A figura a seguir mostra como os plug-ins funcionam.

Os plug-ins incluem lógica personalizada inline.
Os plug-ins incluem lógica personalizada inline (clique para ampliar).

Para mais informações sobre plug-ins, consulte Visão geral dos plug-ins.

Chamadas

Com os destaques, você usa o Cloud Load Balancing para fazer chamadas gRPC do Envoy para serviços do Google e gerenciados pelo usuário durante o processamento de dados.

As callouts são executadas como servidores gRPC de uso geral em VMs de computação gerenciadas pelo usuário, em pods do Google Kubernetes Engine (GKE) no GKE Multi-Cloud ou em ambientes locais. A figura a seguir mostra como as chamadas para serviços funcionam.

As chamadas incluem lógica personalizada de serviços.
Os callouts incluem lógica personalizada de serviços (clique para ampliar).

As frases de destaque não têm restrições de tempo de execução e podem reutilizar o software existente, conforme necessário. Com as callouts, você aproveita os benefícios de serviços totalmente gerenciados que também podem ser personalizados para atender às necessidades exclusivas de cargas de trabalho específicas. Você só precisa confirmar a escalonabilidade e a disponibilidade do seu serviço de destaque.

Para mais informações sobre destaques, consulte Visão geral dos destaques do Cloud Load Balancing.

Extensões do Cloud Load Balancing

As extensões de serviço para o Cloud Load Balancing permitem que os usuários adicionem personalização avançada aos caminhos de processamento de solicitações e respostas do balanceamento de carga para balanceadores de carga de aplicativo compatíveis.

Para mais informações, consulte a visão geral das extensões do Cloud Load Balancing.

Plug-ins

As extensões de serviço ajudam você a usar plug-ins pré-publicados para suas necessidades personalizadas, adicionando-os ao caminho de processamento do Cloud Load Balancing.

Use plug-ins com o Cloud Load Balancing nos seguintes exemplos de cenário:

Tratamento de exceções
Redirecione os clientes para uma página de erro personalizada em determinadas classes de resposta.
Geração de registros personalizada
Registre cabeçalhos definidos pelo usuário ou dados personalizados no Cloud Logging.
Adição de cabeçalho
Crie cabeçalhos relevantes para seus aplicativos ou clientes específicos.
Insira novos cabeçalhos para solicitação e resposta.
Manipulação de cabeçalho
Reescreva cabeçalhos de solicitação e resposta ou substitua cabeçalhos do cliente no caminho para o back-end ou ao responder a um cliente.
Segurança
Escreva políticas de segurança personalizadas com base em cabeçalhos de solicitação ou resposta do cliente e tome decisões de restrição no seu plug-in.
Injeção de script
Reescreva o HTML da origem para integração do Google reCAPTCHA ou inclusão de tag do Google Analytics.
Influenciar o Cloud CDN
Manipule as características da solicitação HTTP para influenciar a dinâmica de armazenamento em cache personalizada e determinar qual conteúdo é disponibilizado pelo cache do Cloud CDN.
Roteamento
Reescreva solicitações HTTP para influenciar a seleção de serviço de back-end, permitindo decisões de roteamento mais avançadas na borda.

Chamadas para serviços gerenciados pelo usuário

Com as extensões de serviço, os balanceadores de carga de aplicativo compatíveis enviam uma solicitação do caminho de processamento de dados para serviços de back-end gerenciados pelo usuário.

Use as chamadas com o Cloud Load Balancing para o seguinte:

  • Quando a quantidade de computação ou armazenamento é arbitrária
  • Quando você quer manter o estado
  • Quando você quer usar serviços externos, como o BigQuery ou aplicativos de terceiros hospedados em qualquer lugar

As frases de destaque são muito flexíveis e aceitam várias personalizações. Confira alguns exemplos de casos de uso do dia a dia:

Roteamento e gerenciamento de tráfego personalizados
Realize redirecionamentos de HTTP ou URL.
Modifique atributos de solicitação, como cabeçalhos ou URLs, com base em lógica específica do aplicativo para forçar o mapa de URL a escolher um serviço de back-end diferente do originalmente segmentado pela solicitação.
Adicione, remova ou modifique cabeçalhos ou reescreva URLs com base em uma lógica complexa específica do aplicativo antes de encaminhar o tráfego para o serviço de back-end.
Implemente a afinidade ou a fixação de sessão personalizada com base nos atributos específicos de uma solicitação.
Em Visualização, implemente o encaminhamento dinâmico, que mapeia locatários para endpoints de maneira programática.
Segurança e geração de registros
Registre informações personalizadas de payloads ou cabeçalhos personalizados no Logging ou em uma solução de registro personalizada.
Use ferramentas ou serviços de segurança, incluindo autenticação de usuário personalizada e suporte à autorização.
Valide cabeçalhos e parâmetros de consulta arbitrários, como IDs de dispositivos.
Registre solicitações e respostas em soluções de geração de registros de terceiros.
Implemente a autenticação e autorização personalizadas do usuário.
Integração de parceiros
Integre produtos de segurança, como segurança do gateway de API, gerenciamento de BOT ou firewall de aplicativos da Web (WAF).
Autorização
Enriqueça o processo de tomada de decisão de autorização ou restrinja ainda mais as decisões de autorização dos mecanismos de autorização integrados fornecidos pelo Google.
Misture decisões de autorização de vários sistemas de autorização.
Integre perfeitamente os mecanismos de autorização do Google com ecossistemas e infraestruturas de autorização mais amplos, incluindo mecanismos de políticas externas.

Para mais informações, consulte Visão geral das extensões do Cloud Load Balancing e do Cloud CDN.

Chamadas para os Serviços do Google

Com as extensões de serviço, os balanceadores de carga de aplicativo compatíveis podem enviar uma solicitação do caminho de tratamento de dados para serviços selecionados do Google.

É possível configurar uma extensão para chamar o Model Armor e aplicar políticas de segurança de maneira uniforme ao tráfego de inferência em balanceadores de carga de aplicativos, incluindo o GKE Inference Gateway.

Para mais informações, consulte Integração com os Serviços do Google.

Extensões do GKE

O gateway do Google Kubernetes Engine (GKE) permite usar extensões para adicionar código personalizado ao caminho de processamento do balanceamento de carga. É possível usar essas extensões para personalizar o roteamento, modificar payloads de solicitação ou resposta e integrar com serviços externos.

Para mais informações, consulte Personalizar o roteamento de tráfego do gateway do GKE usando extensões de serviço.

Extensões do Media CDN

A Media CDN oferece muitos recursos principais integrados para lidar com os casos de uso mais comuns de redes de fornecimento de conteúdo (CDNs). As extensões de serviço ajudam você a atender a vários requisitos que vão além desses recursos.

Para mais informações, consulte Visão geral das extensões da Media CDN.

Plug-ins para Media CDN

Com as extensões de serviço, é possível usar plug-ins pré-publicados para suas necessidades personalizadas adicionando-os ao caminho de processamento do Media CDN.

Confira alguns casos de uso importantes em que você pode usar plug-ins com o Media CDN:

Personalização
Reescreva URLs de solicitação.
Normalize valores de cabeçalho para melhorar o desempenho do cache.
Segurança e geração de registros
Durante eventos ao vivo, bloqueie usuários com tokens pirateados.
Aceite a autenticação e autorização personalizadas do usuário.
Traduza e implemente a assinatura de URL personalizada.
Personalize chaves de cache, cabeçalhos específicos do aplicativo ou tipos de dispositivos.
Registre variáveis personalizadas no Cloud Logging.
Segmentação e monetização
Melhore as conversões com testes A/B.
Implemente a segmentação personalizada de anúncios.
Ofereça modelos de uso de teste sem custo extra.
Integração de parceiros
Implemente a marca-d'água de vídeo.
Otimize vídeos e imagens.