17 de abril de 20263 min de leitura

Controlando custos de IA no AKS com Application Network e agentgateway

(autor não identificado)

Azure

Banner - Controlando custos de IA no AKS com Application Network e agentgateway

À medida que empresas brasileiras escalam suas iniciativas de Inteligência Artificial, os times de infraestrutura e plataforma enfrentam um desafio crescente: como oferecer acesso fluido aos serviços de AI sem que uma única aplicação consuma, inadvertidamente, todo o orçamento ou a cota de tokens disponível?

A natureza dos serviços de IA frequentemente centraliza a autenticação via chaves de API compartilhadas. Em ambientes Kubernetes, isso cria um ponto único de falha e uma visibilidade distorcida de quem está, de fato, gerando custos. O uso do Azure Kubernetes Application Network (AppNet), em conjunto com o agente agentgateway, permite evoluir dessa gestão passiva para uma governança ativa e transparente no nível de rede.

O desafio do modelo de cotas compartilhadas

O workflow padrão de inferência de IA geralmente segue este caminho:

  1. Configuração de uma conta no provedor de IA.
  2. Distribuição de uma Service Account ou API Key global.
  3. Aplicações consumindo o serviço via shared quota.

Quando a cota é atingida, o erro 403: Insufficient Quota afeta toda a plataforma. Identificar qual serviço foi o responsável por esse estouro é uma tarefa complexa que consome latência operacional, gerando o chamado "noisy neighbor effect", onde uma aplicação mal configurada impacta o SLA de todo o ecossistema.

Por que o gerenciamento manual de chaves não escala

A estratégia de mitigar isso via API keys individuais é frequentemente ineficiente. Ela exige que o time de DevOps gerencie o ciclo de vida (provisionamento, rotação e governança de segredos) para cada nova micro-serviço. Isso transforma a camada de plataforma em um gargalo, contrariando a agilidade proposta pelo Kubernetes.

Uma abordagem orientada à plataforma com AppNet

O diferencial desta solução é mover a política de rate limiting da camada de aplicação para a camada de rede, utilizando Identity em vez de Secrets. O Azure Kubernetes Application Network (que utiliza os princípios do Istio Ambient Mode) estabelece mtls automaticamente entre as workloads.

Ao configurar o agentgateway para interceptar esse tráfego e realizar o rate limiting (Token Rate Limiting) baseado na identidade da workload (obtida via mTLS), eliminamos a necessidade de expor chaves aos pods. Veja os componentes principais para essa implementação:

1. Configuração do agentgateway:

apiVersion: agentgateway.dev/v1alpha1
kind: AgentgatewayParameters
metadata:
  name: agentgateway
spec:
  deployment:
    spec:
      template:
        metadata:
          labels:
            istio.io/dataplane-mode: none
            networking.istio.io/tunnel: http
  istio: {}
  rawConfig:
    binds:
    - listeners:
      port: 15008
      tunnelProtocol: hboneGateway

2. Definindo a política de rate limit:

apiVersion: agentgateway.dev/v1alpha1
kind: AgentgatewayPolicy
metadata:
  name: minute-token-budget
spec:
  targetRefs:
  - group: gateway.networking.k8s.io
    kind: Gateway
    name: gateway
  traffic:
    rateLimit:
      global:
        backendRef:
          group: ""
          kind: Service
          name: ratelimit
          namespace: ratelimit
          port: 8081
        descriptors:
        - entries:
          - expression: source.identity.namespace
            name: client_ns
          unit: Tokens
        domain: token-budgets

Esta configuração permite que, após atingir a cota (ex: 100 tokens), o agentgateway bloqueie apenas a aplicação excedente com um 429 Too Many Requests, mantendo a estabilidade total das demais instâncias no cluster.

Conclusão e visão estratégica

Esta arquitetura é um exemplo prático de como aplicar princípios de FinOps e SecOps na ponta, sem adicionar complexidade ao código das aplicações. Para empresas brasileiras, a transição para métodos de autenticação baseados em identidade, em vez de chaves estáticas, não é apenas uma boa prática de segurança — é uma necessidade de eficiência operacional.


Artigo originalmente publicado em Azure Updates - Latest from Azure Charts.

Gostou? Compartilhe:
Precisa de ajuda?Fale com nossos especialistas 👋
Avatar Walcew - Headset