Blog › Cloud e Google Cloud
GKE 1.37 traz escala nativa a zero e otimização de custos para clusters
O Google Cloud anunciou escala nativa a zero no GKE 1.37, permitindo desligar pods ociosos e manter resposta rápida com buffers de capacidade compartilhados.
O que aconteceu
O Google Cloud anunciou recursos nativos de escala até zero no Google Kubernetes Engine (GKE) na versão 1.37. A novidade permite que cargas de trabalho reduzam suas réplicas para zero pods de forma automática quando não houver demanda, encerrando o consumo de recursos computacionais. Quando novas tarefas chegam, a infraestrutura reinicia a execução de forma ágil por meio de mecanismos internos de capacidade.
Historicamente, equipes de tecnologia recorriam ao KEDA (Kubernetes Event-Driven Autoscaling) para obter esse comportamento. Embora funcional, o KEDA exigia a instalação de operadores adicionais, o gerenciamento de CRDs específicas (como ScaledObject) e uma volumosa quantidade de configurações em YAML para grandes clusters.
A nova abordagem do GKE transfere essa responsabilidade para o plano de controle gerenciado da plataforma. A arquitetura combina o HorizontalPodAutoscaler (HPA) padrão à especificação KEP-2021, que viabiliza a configuração de minReplicas: 0. Para direcionar o dimensionamento, o GKE introduziu o recurso AutoscalingMetric. Esse componente conecta métricas do Google Cloud Managed Service for Prometheus, Cloud Monitoring ou Google Cloud Pub/Sub diretamente ao HPA, dispensando adaptadores externos.
Por que isso importa
O consumo de infraestrutura ociosa sempre foi um desafio para a eficiência em nuvem. Aplicações orientadas a eventos, processamentos em lote e ambientes de desenvolvimento frequentemente permanecem ativos apenas aguardando novas mensagens ou requisições. Esse modelo tradicional vincula custos fixos à simples prontidão da infraestrutura.
A eliminação de componentes adicionais diminui o esforço operacional da equipe de sustentação. Sem a necessidade de manter operadores de terceiros ou configurações paralelas de CRDs, a arquitetura ganha simplicidade e confiabilidade. O caminho de leitura de métricas passa a ser interno e gerenciado pelo GKE, o que reduz tempos de reação no envio dos sinais de escalonamento.
Outro ponto essencial é a resolução do atraso de inicialização, conhecido como cold start. Escalar a partir de zero réplicas costuma exigir a criação de nós e a inicialização de contêineres, o que pode gerar esperas de 60 a 90 segundos. Para solucionar esse gargalo, o Google Cloud apresentou os capacity buffers do GKE.
Esses buffers funcionam como um conjunto compartilhado de capacidade aquecida dentro do cluster:
- Buffer ativo: Uma pequena reserva de nós computacionais que atende dezenas ou centenas de aplicações simultaneamente. Quando uma carga de trabalho precisa sair do zero, ela assume imediatamente esses recursos, eliminando o tempo de provisionamento de novos nós.
- Buffer em espera (standby): Uma camada complementar de capacidade, com custo inferior ao buffer ativo, projetada para reabastecer o buffer principal de maneira contínua durante cargas sustentadas.
O que muda para a sua empresa
Para os times de engenharia e operações, a gestão de contêineres torna-se mais direta e menos suscetível a erros de configuração de operadores externos. A lógica de escala agora é nativa da carga de trabalho, expressa de maneira sucinta nos manifestos do Kubernetes.
Na perspectiva de FinOps e gestão de custos, a empresa deixa de pagar por réplicas de pods ociosas. Processadores assíncronos vinculados a filas do Pub/Sub, por exemplo, passam a existir computacionalmente apenas quando há mensagens pendentes. Ambientes de testes e homologação também podem se beneficiar ao eliminar custos fora dos períodos de utilização. O Google Cloud já sinalizou planos futuros para adicionar controles granulares com janelas recorrentes de escala a zero para esses cenários.
A grande vantagem dessa abordagem é equilibrar a redução de gastos com a responsividade técnica. Em vez de escolher entre gastar para manter pods ligados ou aceitar atrasos severos na inicialização, a combinação de escala nativa a zero com capacity buffers oferece rapidez de execução com consumo financeiro estritamente atrelado à necessidade real.
Como começar
A adoção do recurso nativo no GKE 1.37 pode ser conduzida em etapas claras pelas equipes de infraestrutura e desenvolvimento:
- Mapeamento de cargas de trabalho: Identifique aplicações orientadas a eventos, filas ou rotinas periódicas com momentos nítidos de inatividade. Avalie quais componentes geram custos contínuos sem processamento constante.
- Configuração do AutoscalingMetric: Crie o recurso customizado
AutoscalingMetriccom a definição da fonte de dados desejada, como contadores de mensagens não entregues no Cloud Monitoring ou métricas no Google Cloud Managed Service for Prometheus. - Ajuste do HPA: No manifesto do HorizontalPodAutoscaler (
autoscaling/v2), defina o parâmetrominReplicascomo zero e aponte a métrica externa configurada. - Implementação de capacity buffers: Ative os buffers de capacidade no cluster para proteger as cargas de trabalho contra atrasos de cold start, garantindo que o primeiro pod tenha recursos disponíveis instantaneamente.
A simplicidade dessa configuração nativa facilita a evolução da governança e a otimização contínua da infraestrutura em nuvem.