Se você está começando com Kubernetes no Google Cloud, provavelmente se deparou com duas opções: GKE Standard e GKE Autopilot. Neste post, vamos entender o que é cada uma, suas diferenças fundamentais e quando usar uma ou outra. Ao final, você saberá exatamente qual escolher para sua arquitetura.
O que é GKE?
Google Kubernetes Engine (GKE) é o serviço gerenciado de Kubernetes oferecido pela Google Cloud. Ele abstrai a complexidade de manter um cluster Kubernetes, delegando tarefas críticas (como atualizações, scaling de nós e monitoramento da control plane) para o Google.
O GKE não é apenas um Kubernetes rodando em máquinas virtuais. É uma plataforma inteligente que oferece diferentes níveis de automação e controle, dependendo de como você quer operá-la.
GKE vs Kubernetes Self-Hosted
Antes de compararmos Standard e Autopilot, é importante entender por que usar GKE em vez de instalar Kubernetes na mão.
Instalação Self-Hosted
Quando você instala Kubernetes manualmente em VMs, você é responsável por:
- Gerenciar a control plane: Manter etcd, kube-apiserver, kube-controller-manager e kube-scheduler rodando e saudáveis
- Atualizar versões: Planejamento, testes e execução de upgrades do cluster
- Escalabilidade de nós: Adicionar, remover e substituir máquinas manualmente ou via scripts customizados
- Monitoramento e alertas: Implementar sua própria estratégia de observabilidade
- Segurança e patches: Aplicar patches de kernel, atualizar componentes, gerenciar certificados
- Networking: Configurar plugins CNI, gerenciar IPs e roteamento
É viável, mas exige expertise profunda e consome muitos recursos operacionais.
GKE: O Lado Gerenciado
Com GKE, o Google gerencia:
- Control plane completamente — você nunca vê os nós mestres
- Atualizações automáticas (ou com seu controle) do control plane
- Segurança de base — patches de kernel, hardening do SO
- Networking gerenciado — VPC, LoadBalancer, Ingress integrados
Você ainda gerencia os nós workers (máquinas onde seus pods rodam), mas até isso pode ser automatizado com Autopilot.
GKE Standard
GKE Standard é a modalidade clássica: você gerencia o cluster de nós workers, mas a Google gerencia a control plane.
Como Funciona
Você cria um cluster especificando:
- Número de nós iniciais (ou deixa como 0 e escala depois)
- Tipo de máquina para cada nó (e1-standard-4, n2-highmem-8, etc.)
- Zona ou região onde os nós serão criados
- Configurações de rede (subnets, IP ranges)
Depois, você tem total controle: pode criar node pools adicionais, ajustar autoscaling, aplicar taints/labels, executar scripts de inicialização, instalar drivers customizados.
Responsabilidades Suas
- Monitoramento de nós: Você vê o uso de CPU, memória e disco de cada nó
- Atualizações de nós: Google oferece patches de segurança; você aprova e faz o upgrade
- Scaling manual ou automático: Configure Cluster Autoscaler para escalar automaticamente
- Gerenciar node pools: Diferentes tipos de máquinas para diferentes cargas de trabalho
Exemplo: Criando um Cluster Standard
gcloud container clusters create my-cluster \ --zone us-central1-a \ --num-nodes 3 \ --machine-type n2-standard-4 \ --enable-autoscaling \ --min-nodes 1 \ --max-nodes 10
Pronto. Você tem um cluster com 3 nós que escala automaticamente entre 1 e 10.
Custos em GKE Standard
Você paga por:
- Cada máquina virtual (nó): O preço da VM (e1-standard-4 custa ~$0.15/hora, por exemplo)
- Controle plane: Há um taxa fixa (~$0.10/hora por cluster, dependendo da região)
- Recursos adicionais: IPs públicos, discos persistentes, load balancers
GKE Autopilot
GKE Autopilot leva a automação ao próximo nível. Aqui, a Google gerencia não só a control plane, mas todo o cluster de nós.
Como Funciona
Você especifica apenas:
- Região ou zona onde quer que o cluster rode
- Tamanho aproximado da carga de trabalho
- Configurações de rede (se quiser customizar)
O resto? A Google cuida. Quando você faz deploy de um pod, o Google provisiona automaticamente a máquina certa, com o tamanho certo, na zona certa, com base no que o pod precisa.
Responsabilidades Suas
Bem menos:
- Deploy de aplicações: Você só precisa saber escrever bons yamls de Kubernetes
- Monitoramento de aplicações: Via Prometheus, Grafana, Cloud Logging — não de nós
- Scaling automático: Totalmente automático; os nós surgem e desaparecem conforme necessário
- Segurança: Postura de segurança padrão já aplicada
Você não vê (e não precisa se preocupar com) máquinas individuais.
Exemplo: Criando um Cluster Autopilot
gcloud container clusters create my-autopilot-cluster \ --region us-central1 \ --enable-autoscaling \ --enable-autorepair
Bem mais simples, não?
Custos em GKE Autopilot
Você paga por:
- Recursos consumidos pelos pods: CPU e memória que seus containers de verdade usam (billing é granular)
- Sem máquinas vazias: Se você tem um nó com 4 CPUs mas seus pods usam 1 CPU, você paga por 1 CPU
- Premium de automação: Um overhead pequeno (~1-2%) sobre o preço de compute
- Controle plane: Incluído (sem taxa separada)
É importante: você paga pelos pods rodando, não pelas máquinas. Um Pod com 0.5 CPU custará menos que uma máquina inteira de 4 CPUs.
Standard vs Autopilot: Comparação Direta
| Aspecto | Standard | Autopilot |
|---|---|---|
| Gerenciamento de nós | Você | |
| Controle de configuração | Total | Limitado (seguidor de best practices) |
| Scaling | Manual + Cluster Autoscaler | Automático (granular) |
| Tipos de máquina | Você escolhe | Google escolhe baseado em pods |
| Custo | Paga VM inteira (mesmo vazia) | Paga por recurso consumido |
| Curva de aprendizado | Maior | Menor |
| Customizações (drivers, init scripts) | Sim | Não (limitado) |
| Ideal para | Máxima performance e controle | Simplidade e otimização de custo |
| Versão do Kubernetes | Você escolhe qual versão atualizar | Google gerencia automaticamente |
| Node Pools com taints/labels | Sim, completo controle | Sim, mas limitado |
Quando Usar GKE Standard
Escolha Standard quando:
1. Você precisa de controle total
Se sua aplicação exige drivers específicos (GPU, TPU, NVIDIA), tuning de kernel ou configurações muito específicas, Standard é necessário. Autopilot não permite init scripts customizados ou instalação de pacotes nos nós.
2. Você tem expertise em Kubernetes
Se sua equipe já gerencia Kubernetes em produção, Standard oferece a flexibilidade que vocês provavelmente querem. Você pode otimizar node pools, usar taints/tolerations avançados, customizar cada detalhe.
3. Você quer minimizar custo com máquinas preemptíveis
Com Standard, você pode usar preemptible VMs (máquinas que custam 70% menos, mas podem ser interrompidas). Isso funciona bem para cargas de trabalho tolerantes a falhas. Autopilot não oferece essa opção de forma explícita.
4. Suas aplicações têm padrões de carga previsíveis
Se você sabe que precisa de exatamente 20 nós e-2-standard-4 durante o horário comercial, Standard com autoscaling manual ou scripts customizados pode ser mais barato.
5. Você quer versões específicas do Kubernetes
Autopilot sempre roda versões recomendadas pelo Google (com pequena margem de escolha). Standard permite escolher e testar versões antes de atualizar.
Quando Usar GKE Autopilot
Escolha Autopilot quando:
1. Você quer simplicidade operacional
Se sua equipe é pequena ou prefere focar em aplicações, não em infraestrutura, Autopilot elimina a carga de gerenciar nós. Você abre um cluster e já está rodando.
2. Você tem cargas de trabalho variáveis
Se seus pods variam muito em tamanho (alguns precisam 0.1 CPU, outros 8 CPUs), Autopilot brilha. Você não paga por máquinas ociosas — paga exatamente pelo que usa.
3. Segurança é prioridade
Autopilot aplica automaticamente as melhores práticas de segurança do Google. Você não pode (nem precisa) se preocupar com hardening de nós, porque tudo já vem configurado.
4. Você está começando com Kubernetes
Se é seu primeiro Kubernetes em produção, Autopilot reduz a curva de aprendizado. Você se foca em escrever bons manifests YAML, não em gerenciar infraestrutura.
5. Multi-tenancy
Autopilot isola workloads de diferentes tenants de forma mais robusta. O Google gerencia as máquinas com segurança pensada para esse cenário.
6. Você quer maior disponibilidade com menos overhead
Autopilot distribui nós entre zonas automaticamente, oferecendo alta disponibilidade sem você configurar node pools em múltiplas zonas.
Cenários Práticos
Cenário 1: Startup com time pequeno
Uma startup com 2 engenheiros rodando um serviço PHP escalável deveria usar Autopilot. O time não tem tempo para gerenciar nós. Autopilot cuida de tudo; eles só fazem deploy via kubectl e pronto.
Impacto: Menos burnout, mais foco em features.
Cenário 2: Empresa com Data Pipeline complexo
Uma empresa que roda ML pipelines, processamento de imagem e jobs batch intensivos em GPU deveria usar Standard. Precisa de GPUs, controladores customizados (CUDA), e quer otimizar custo com preemptible VMs. Autopilot não oferece essa flexibilidade.
Impacto: Melhor controle de custos (30-40% mais barato com preemptible).
Cenário 3: SaaS multi-tenant
Uma plataforma SaaS servindo vários clientes deveria considerar Autopilot com namespaces bem isolados. A segurança automática e a ausência de overhead operacional justificam o pequeno premium de custo.
Impacto: Menos riscos de segurança, menos incidentes operacionais.
Custos: Uma Comparação Real
Vamos comparar dois cenários:
Cenário A: Standard com 3 nós n2-standard-4
- 3 nós × $0.19/hora (n2-standard-4) = $0.57/hora
- Controle plane: $0.10/hora
- Total: ~$0.67/hora ≈ $490/mês (24/7)
Se seus pods usam apenas 2 CPUs totais, você ainda paga pelas 12 CPUs das máquinas.
Cenário B: Autopilot com mesma carga
Seus pods precisam de 2 CPUs + 4GB RAM:
- 2 CPUs: ~$0.03/hora
- 4GB RAM: ~$0.0005/hora
- Overhead Autopilot (~10%): +$0.003/hora
- Total: ~$0.033/hora ≈ $24/mês (24/7)
A diferença é dramática se sua carga é pequena ou esporádica.
Conclusão
GKE Standard é para quem quer máxima flexibilidade e tem expertise para gerenciar infraestrutura. GKE Autopilot é para quem quer simplicidade e custo otimizado.
Não há “melhor”, depende do seu contexto. Uma regra prática:
- Iniciantes, startups, times pequenos: Autopilot
- Máquinas especializadas (GPU/TPU), cargas previsíveis, expertise em K8s: Standard
E lembre-se: você pode sempre começar com Autopilot e migrar para Standard depois, se suas necessidades evoluírem. A infraestrutura em nuvem é flexível — use isso a seu favor.
Gostou do conteúdo?
- ✅ Inscreva-se na newsletter para receber mais dicas práticas sobre Cloud e Kubernetes diretamente no seu e-mail!
- 🚀 Conheça a Imersão Golang e leve seus conhecimentos em Go para o próximo nível!
Faça parte da comunidade!
Receba os melhores conteúdos sobre Go, Kubernetes, arquitetura de software, Cloud e esteja sempre atualizado com as tendências e práticas do mercado.
