0 XP
Módulo 11 · DevSecOps, FinOps e Projeto Final

FinOps: medir, atribuir e reduzir custo

Intermediário 40 min+25 XPCost ExplorerTagsKubecost

Objetivos desta aula

  • Atribuir custo por projeto e ambiente
  • Aplicar right-sizing
  • Automatizar economia

FinOps começa em medir e atribuir: sem tags consistentes, o custo é uma bola única que ninguém consegue reduzir com segurança. Com atribuição, você descobre que 40% do gasto está em um ambiente de teste esquecido — e a economia vira decisão trivial.

As alavancas mais efetivas, na ordem: desligar o que não é usado, right-sizing baseado em métrica real, escolher armazenamento e classe adequados, usar capacidade reservada ou spot para carga previsível/tolerante, e reduzir tráfego entre zonas.

Custo é decisão de engenharia com contrapartida de confiabilidade. Reduzir réplicas economiza até o momento em que você viola o SLO. É por isso que FinOps e SRE conversam: o error budget é o limite do que a economia pode custar.

1. As três fases do FinOps

Informar (ver quem gasta), otimizar (reduzir desperdício) e operar (tornar custo parte da rotina). Sem tags e atribuição, não há conversa possível.

2. Onde o dinheiro some

  • Instâncias e nós superdimensionados (requests muito acima do uso)
  • Ambientes de dev ligados à noite e fim de semana
  • NAT Gateway e tráfego entre zonas
  • Volumes, snapshots e IPs esquecidos
  • Logs guardados para sempre

3. Alavancas

Rightsizing, Spot para cargas tolerantes (Karpenter facilita), Savings Plans para a base estável, desligamento agendado, políticas de retenção e classes de storage mais baratas.

4. Custo no pull request

O Infracost comenta no PR quanto a mudança de Terraform vai custar por mês — o time decide antes, não na fatura.

Na prática

Atribuição e otimização

bash

# custo por ambiente (requer tags ativadas em Cost Allocation Tags)
aws ce get-cost-and-usage --time-period Start=2026-09-01,End=2026-09-30 \
  --granularity MONTHLY --metrics UnblendedCost \
  --group-by Type=TAG,Key=env

# right-sizing com base em recomendacao
aws compute-optimizer get-ec2-instance-recommendations --query 'instanceRecommendations[].{ID:instanceArn,Atual:currentInstanceType,Sugerido:recommendationOptions[0].instanceType}'

# desligar ambiente de dev fora do horario comercial
aws ec2 stop-instances --instance-ids $(aws ec2 describe-instances \
  --filters Name=tag:env,Values=dev Name=instance-state-name,Values=running \
  --query 'Reservations[].Instances[].InstanceId' --output text)

# no Kubernetes: identificar requests muito acima do uso real
kubectl top pods --all-namespaces | sort -k3 -h | tail -20

Nota de segurança: Automação que desliga recursos precisa de escopo por tag; sem isso, um erro derruba produção.

Infracost no CI

bash

infracost breakdown --path infra/envs/prod --format json --out-file base.json
infracost diff --path infra/envs/prod --compare-to base.json
# saída: "Monthly cost will increase by $142 (+18%)"

Por que isso importa

Engenheiro que fala de custo com números participa de decisões — e isso acelera carreira.

Erro comum

Cortar réplicas e limites até violar o SLO, trocando fatura menor por incidente.

Dica de produção

Publique um painel de custo por ambiente ao lado do painel de SLO: as duas conversas ficam honestas.

Pergunta de entrevista

Como você reduziria 30% do custo mantendo o SLO?

Glossário

right-sizing
Ajustar o tamanho do recurso ao consumo real observado.
spot
Capacidade com grande desconto que pode ser interrompida pelo provedor.
Rightsizing
Ajustar o tamanho do recurso ao uso real.
Spot
Capacidade ociosa da nuvem com grande desconto, que pode ser interrompida.
Showback
Mostrar a cada time quanto ele gasta, sem cobrar internamente.

Conexão com o CloudShop

Documentar o custo mensal do CloudShop e aplicar duas otimizações medidas.

Quiz da aula

  1. 1. Qual é o pré-requisito para atribuir custo por ambiente?

  2. 2. Qual carga é boa candidata a instâncias Spot?

Minhas anotações

Salvo automaticamente neste navegador.

AnteriorPróxima