Apostila completa de FinOps: gestão financeira de nuvem
A nuvem trocou um gasto fixo, planejado e centralizado por um gasto variável, distribuído e decidido a cada terraform apply. FinOps é a prática cultural que traz responsabilidade financeira de volta — sem travar a engenharia — combinando dados de custo, times de finanças, tecnologia e negócio para tomar decisões de trade-off entre velocidade, custo e qualidade. Esta apostila cobre o FinOps Framework completo, das fases Inform/Optimize/Operate à maturidade, com o olho no que o mercado pede.
O que é FinOps e por que a nuvem exige uma disciplina nova
Objetivo: entender o que quebrou no modelo financeiro tradicional quando a infraestrutura virou nuvem, e o que o FinOps Framework propõe em resposta.
1.1 O que a nuvem mudou no dinheiro
| Data center próprio | Nuvem |
|---|---|
| CapEx: compra grande, planejada, aprovada com meses de antecedência | OpEx: gasto contínuo, cresce sozinho com o uso |
| Compras passam por um setor central (o "gatekeeper") | Qualquer engenheiro provisiona recursos com um comando |
| Custo fixo e previsível por anos | Custo variável, muda por hora, difícil de prever |
| Fatura simples | Fatura com milhões de linhas, centenas de SKUs, preços que mudam |
| Decisão de arquitetura ≠ decisão de compra | Cada decisão de arquitetura é uma decisão de compra |
O resultado: finanças perde a visibilidade e o controle que tinha, e a conta cresce sem que ninguém sinta-se responsável — o clássico "a nuvem saiu cara e ninguém sabe explicar por quê".
1.2 A definição
Segundo a FinOps Foundation (a organização que mantém o framework): FinOps é "uma disciplina de gestão financeira de nuvem e uma prática cultural que permite às organizações obter o máximo valor de negócio, ajudando times de engenharia, finanças e negócio a colaborar em decisões de gasto orientadas por dados".
É sobre maximizar valor por real gasto. Às vezes a decisão FinOps certa é gastar mais — se aquele gasto acelera receita, reduz risco ou melhora a experiência de forma que compensa. O papel do FinOps é dar dados para que o trade-off (velocidade × custo × qualidade) seja uma escolha consciente, não um acidente. "Cost cutting" é um evento; FinOps é uma prática contínua.
1.3 O FinOps Framework
Os princípios
- Times colaboram (engenharia, finanças, produto, liderança).
- Decisões são guiadas pelo valor de negócio da nuvem.
- Todos são donos do seu uso da nuvem (accountability distribuída).
- Os dados de FinOps são acessíveis e oportunos.
- Um time central conduz a prática (habilita, não controla tudo).
- Aproveitar o modelo de custo variável da nuvem (é uma vantagem, não só um risco).
As personas
FinOps é um esporte de times: praticante/analista de FinOps, engenharia/DevOps/plataforma, finanças, procurement, liderança de produto e executivos, e cada vez mais times de dados e de IA/ML.
As três fases (um ciclo iterativo)
| Fase | Pergunta | Atividades |
|---|---|---|
| Inform (Informar) | "Quanto gastamos, em quê, e quem é dono?" | Visibilidade, alocação, tagging, showback/chargeback, unit economics, orçamento, previsão, detecção de anomalia |
| Optimize (Otimizar) | "Como pagamos menos pelo que precisamos?" | Otimização de taxa (commitments), otimização de uso (rightsizing, autoscaling, eliminar desperdício), decisões de arquitetura |
| Operate (Operar) | "Como isso vira hábito contínuo do negócio?" | Governança, políticas, automação, KPIs, cadência de reuniões, cultura, melhoria contínua |
Não é uma escada — é uma roda que gira continuamente, em maturidade crescente (Módulo 9).
FinOps deixou de ser "planilha de um analista" e virou função: FinOps Analyst, FinOps Engineer, Cloud Economist, e a certificação FinOps Certified Practitioner aparece como requisito. Perfis vêm de finanças com fluência técnica, ou de cloud/DevOps com veia de negócio. Pergunta de abertura clássica: "O que é FinOps e por que ele existe?" — a resposta cita o que a nuvem quebrou (variável, descentralizado, sem gatekeeper) e que o objetivo é valor, não corte.
✏️ Exercício 1 — Identifique o problema
Uma empresa viu a fatura de nuvem crescer 60% em um ano. Finanças quer "congelar novos recursos". Engenharia diz que precisa de agilidade. Como FinOps enquadra isso de forma diferente das duas posições?
Gabarito: FinOps não escolhe entre "congelar" e "liberdade total". Enquadra assim: (1) Inform — primeiro, tornar visível onde cresceu e por quê (novo produto? desperdício? mais clientes?), e ligar o custo a valor (custo por cliente subiu ou caiu?). (2) Se o crescimento acompanha receita e a métrica de eficiência melhorou, o gasto pode estar saudável. (3) Optimize — atacar o desperdício identificado (recursos ociosos, sem commitment, superdimensionados) sem travar features. (4) Operate — dar a cada time visibilidade do próprio custo e uma meta de eficiência, transformando accountability em hábito. O congelamento cego mataria valor; a liberdade sem dados manteria o desperdício.
O modelo de custo da nuvem e a anatomia da fatura
Objetivo: entender como os provedores cobram, quais os modelos de preço, e como ler uma fatura de nuvem — o vocabulário sem o qual nada de FinOps faz sentido.
2.1 Os modelos de preço
| Modelo | Como funciona | Desconto típico | Trade-off |
|---|---|---|---|
| On-demand | Paga pelo que usar, por segundo/hora, sem compromisso | 0% (preço cheio) | Máxima flexibilidade, máximo preço |
| Committed use (Savings Plans, Reserved Instances, CUDs) | Compromete um gasto ou capacidade por 1 ou 3 anos | ~20–40% (até 60–70% em RI de 3 anos) | Desconto grande em troca de compromisso; risco se o uso mudar |
| Spot / preemptible | Capacidade ociosa do provedor, pode ser retomada com aviso curto | ~60–90% | Barato, mas some sem hora marcada — só para carga tolerante a interrupção |
| Serverless / consumo | Paga por invocação/requisição/GB-segundo; escala a zero | — | Zero ocioso; pode ficar caro em volume alto e constante |
2.2 Onde o dinheiro vaza
- Recursos ociosos e órfãos: VMs paradas mas ligadas, discos sem VM, IPs reservados sem uso, snapshots antigos, load balancers sem tráfego, ambientes de teste rodando no fim de semana.
- Superdimensionamento (over-provisioning): instância 8x maior do que a carga usa; banco com IOPS provisionado no talo "por segurança".
- Preço cheio evitável: carga estável rodando on-demand quando poderia ter commitment; nada de spot em cargas batch.
- Transferência de dados (egress): tráfego saindo da nuvem, entre regiões, entre zonas — a linha da fatura que mais surpreende.
- Armazenamento sem ciclo de vida: tudo em hot storage para sempre; logs retidos além do necessário; versões antigas nunca expiradas.
- Serviços gerenciados premium usados onde um mais simples bastava.
2.3 A fatura: o dado bruto do FinOps
Todo provedor entrega um arquivo detalhado de faturamento (AWS CUR — Cost and Usage Report; GCP Billing Export; Azure Cost details). É a fonte de verdade: cada linha tem serviço, tipo de uso, região, conta/projeto, tags, quantidade, custo on-demand, custo efetivo (com desconto), e a amortização de commitments. A FOCUS (FinOps Open Cost and Usage Specification) é um esquema aberto que padroniza esses formatos entre provedores — o "Parquet das faturas de nuvem" — e vale conhecer.
- List / on-demand: o preço de tabela, sem desconto.
- Efetivo (billed): o que o provedor de fato cobrou naquele dia (pode incluir uma cobrança grande de RI antecipado).
- Amortizado: o custo do commitment diluído ao longo do período que ele cobre — a visão certa para analisar tendência e alocar por time. Sempre trabalhe com custo amortizado nas análises.
Perguntas: "Explique on-demand, reserved/savings plan e spot", "O que é egress e por que assusta na fatura?", "Diferença entre custo amortizado e billed", "O que é o CUR / billing export e para que serve?". Saber citar FOCUS mostra que você acompanha o estado da arte.
✏️ Exercício 2 — Caça ao desperdício
Você recebe acesso à conta de nuvem de uma startup pela primeira vez. Liste os seis primeiros lugares que você olha para achar dinheiro fácil.
Gabarito: (1) Instâncias/VMs paradas há dias mas não desligadas, e as com CPU média < 5%. (2) Discos e snapshots não anexados a nada. (3) Ambientes de dev/staging rodando 24/7 (deveriam parar à noite/fim de semana). (4) Zero cobertura de commitment em cargas de produção estáveis rodando há meses. (5) Egress alto — tráfego entre zonas/regiões ou saindo para a internet que dá para reduzir. (6) Armazenamento sem política de ciclo de vida: logs e backups antigos em hot storage. Bônus: IPs públicos reservados sem uso e load balancers sem targets.
Inform I — visibilidade e alocação
Objetivo: fazer cada real de nuvem ter um dono. Estratégia de tags, hierarquia de contas, showback vs chargeback e o tratamento de custos compartilhados.
3.1 A regra de ouro: você não otimiza o que não consegue atribuir
Antes de qualquer otimização, o custo precisa ser alocável: quanto deste gasto é do time A, do produto X, do cliente Y, do ambiente de produção? Sem isso, FinOps é impossível — ninguém sente responsabilidade por um número que não é "dele".
3.2 Estratégia de tagging/labeling
- Defina um conjunto mínimo obrigatório: por exemplo
owner/team,environment(prod/staging/dev),service/app,cost-center,product. Poucas tags, bem aplicadas, valem mais que vinte inconsistentes. - Padronize os valores:
team=paymentse nãoTeam: Payments,pmts,payment-team. Documente o vocabulário permitido. - Force via automação: tags aplicadas no IaC (Terraform), políticas que barram criação de recurso sem tag (AWS SCP / tag policies, Azure Policy, GCP org policy), e tag herdada da conta/projeto quando o recurso não suporta tag.
- Meça a cobertura de tagging como um KPI (% do custo alocável) e persiga o que ficou "untagged".
- Hierarquia de contas/projetos como alocação estrutural: uma conta AWS ou projeto GCP por time/ambiente já resolve a maior parte da alocação, independente de tags.
3.3 Showback × Chargeback
| Showback | Chargeback | |
|---|---|---|
| O que é | Mostrar a cada time quanto ele gastou (relatório, dashboard) | Debitar de fato o orçamento do time / repassar o custo |
| Efeito | Cria consciência e conversa; baixo atrito | Cria responsabilidade financeira real; alto atrito se feito cedo demais |
| Quando | Começe por aqui — quase sempre | Depois que a alocação é confiável e a cultura está madura |
Debitar times com base em uma alocação furada (30% "untagged" rateado por chute) gera disputa em vez de melhoria. Amadureça o showback primeiro: alocação > 90%, números que os times reconhecem, e só então discuta chargeback — de preferência com um período de "shadow chargeback" antes de valer.
3.4 Custos compartilhados
Rede, cluster de Kubernetes compartilhado, ferramentas de observabilidade, o time de plataforma, os descontos de commitment — nada disso pertence a um time só. Estratégias de rateio:
- Proporcional ao consumo de cada time (ex.: dividir o custo do cluster por uso de CPU/memória por namespace — Módulo 8).
- Igualitário entre times (simples, justo para custos verdadeiramente comuns).
- Por métrica de negócio (por receita, por nº de clientes) — quando faz sentido estratégico.
- Absorvido pela plataforma (o time central "come" o custo comum) — reduz atrito, mas esconde o custo real do time.
- Distribuição de commitments: o desconto do Savings Plan deve ser distribuído aos times que geraram o uso coberto, não ficar todo com quem comprou — senão o incentivo se perde.
Escolha uma regra, documente, e seja consistente. Rateio que muda todo mês destrói a confiança no número.
Perguntas: "Como você garante que 100% do custo de nuvem seja alocável?" (tags obrigatórias forçadas por política + hierarquia de contas + KPI de cobertura), "Showback ou chargeback?" (começar por showback), "Como ratear o custo de um cluster compartilhado?" (proporcional ao uso, regra documentada e estável). Tag policy e "cost allocation tags" são termos que precisam sair natural.
✏️ Exercício 3 — Desenhe a alocação
Empresa com 8 times, tudo numa única conta AWS, ~40% do custo sem tag. Proponha um plano em 90 dias para chegar a > 90% de custo alocável.
Gabarito (exemplo): Dias 1–30: definir o schema mínimo de tags (team, env, service, cost-center) e o vocabulário; auditar o untagged e mapear os maiores ofensores a um time. Dias 31–60: aplicar tags via Terraform em todo recurso novo; migrar times críticos para contas/projetos separados (alocação estrutural); habilitar cost allocation tags no billing; política que bloqueia recurso sem tag em produção. Dias 61–90: campanha de retagging do legado com os times, dashboard de cobertura por time como KPI público, e regra de rateio documentada para o resto compartilhado. Meta: untagged < 10% e caindo.
Inform II — unit economics, previsão e orçamento
Objetivo: ligar o custo de nuvem a uma métrica de negócio (o "custo unitário"), prever o gasto futuro e operar orçamentos e alarmes de anomalia.
4.1 Unit economics: o número que importa
"Gastamos R$ 500 mil/mês em nuvem" não diz se está bom. "Gastamos R$ 0,12 por pedido processado, e caiu de R$ 0,15" diz. O custo unitário conecta a nuvem ao valor e permite decidir com clareza.
| Negócio | Métrica unitária candidata |
|---|---|
| SaaS B2B | Custo de nuvem por cliente ativo; por seat; por conta |
| E-commerce / marketplace | Custo por pedido; por sessão; por GMV |
| Mídia / conteúdo | Custo por usuário ativo mensal; por hora de vídeo entregue |
| API / plataforma | Custo por 1.000 chamadas; por transação |
| Produto de IA | Custo por resposta; por documento processado; por usuário (ver Módulo 8) |
Uma empresa saudável em crescimento gasta mais em nuvem a cada trimestre. O sinal de eficiência é o custo por unidade de valor caindo (ou pelo menos crescendo mais devagar que a receita). É isso que se leva para a diretoria, não o valor absoluto da fatura.
4.2 Previsão (forecasting)
- Baseline + tendência + sazonalidade: extrapolar o histórico (com cuidado: Black Friday, fim de trimestre, lançamentos).
- Bottom-up por driver: "custo ≈ nº de clientes previsto × custo unitário × fator de eficiência esperado" — mais explicável e defensável que uma curva.
- Incorporar o roadmap: o novo produto que sobe em março, a migração que desliga um sistema em junho.
- Faixas, não ponto: cenário conservador / esperado / agressivo. Finanças precisa da faixa.
- Comparar previsto × realizado todo mês e ajustar o modelo (o forecast é um produto vivo).
4.3 Orçamento e detecção de anomalia
- Budgets por time/produto com alertas em % (50/80/100/forecast-to-exceed). O alerta vai para o dono, não só para o FinOps.
- Anomaly detection (nativo dos provedores ou de ferramenta): detecta um salto fora do padrão — um
JOINcartesiano num warehouse, um loop de retry, um ambiente esquecido ligado, uma chave vazada minerando cripto. Quanto antes o alarme, menor o estrago. - Alerta acionável: "o serviço X subiu 3× ontem, provável causa Y, dono Z" — não "o custo total variou".
Perguntas: "O que é unit economics de nuvem e por que importa mais que o custo total?", "Como você faria o forecast de nuvem para o ano que vem?" (bottom-up por driver + roadmap + faixas + comparação mensal), "Como detectar uma anomalia de custo antes de virar uma fatura enorme?". Trazer o exemplo do "custo por pedido caindo mesmo com a fatura subindo" costuma impressionar.
✏️ Exercício 4 — Defina a métrica e o alarme
Uma plataforma de emissão de notas fiscais gasta R$ 90k/mês em nuvem e processa 6 milhões de notas/mês. (a) Qual métrica unitária você acompanha? (b) O time de produto quer lançar um recurso que dobra o custo do serviço de PDF. Como FinOps ajuda a decidir? (c) Que alarme você configura?
Gabarito: (a) Custo de nuvem por nota emitida (hoje R$ 0,015), acompanhado por mês e por componente (compute, storage, egress, PDF). (b) Traduzir "dobra o custo do PDF" em impacto no custo unitário total e comparar com o valor esperado do recurso (mais retenção? novo tier pago? menos suporte?). Se o custo/nota sobe de R$ 0,015 para R$ 0,019 mas o recurso sustenta um plano premium, pode valer; a decisão fica explícita. (c) Budget mensal com alerta em 80% e "forecast to exceed"; anomaly detection no serviço de PDF e no egress; alerta por dono se custo/nota diário sair da faixa histórica ± X%.
Optimize I — otimização de taxa (rate optimization)
Objetivo: pagar menos pelo mesmo recurso via compromissos (Savings Plans, Reserved Instances, CUDs), gerindo cobertura e utilização como um portfólio.
5.1 As duas alavancas de otimização
- Rate optimization (este módulo): reduzir o preço unitário do recurso sem mudar o que você usa — commitments, spot, negociação, tiers de storage.
- Usage optimization (Módulo 6): reduzir o que você usa — desligar, redimensionar, arquitetar melhor.
Ordem prática recomendada: elimine o desperdício primeiro (Módulo 6), depois compre commitments sobre a base já enxuta — senão você compromete 3 anos de uma instância que nem deveria existir.
5.2 Commitments: o vocabulário
| Termo | Significado |
|---|---|
| Reserved Instance (RI) | Compromisso com um tipo/família de instância específico, por 1 ou 3 anos; maior desconto, menos flexível |
| Savings Plan (AWS) / CUD (GCP) | Compromisso com um valor de gasto por hora (ou uso), aplicável a várias instâncias/serviços; um pouco menos desconto, muito mais flexível |
| Cobertura (coverage) | % do seu uso elegível que está coberto por algum commitment |
| Utilização (utilization) | % do commitment que você comprou e de fato está usando (o resto é dinheiro jogado fora) |
| Waste / underutilization | Commitment pago mas não consumido — o pior resultado, pior que on-demand |
5.3 A estratégia de portfólio
Pense nas suas cargas como camadas de risco, e cubra cada uma com o instrumento certo:
uso (vCPU-hora)
│
│ ┌─────────────── pico variável → ON-DEMAND (paga caro, mas só quando precisa)
│ ┌─────┤
│ │ └─────────────── carga tolerante a interrupção → SPOT (batch, CI, workers)
│ ┌───┤
│ │ └───────────────────── camada intermediária → SAVINGS PLAN de 1 ano (flexível)
│ │
│ └───────────────────────── base estável 24/7 há meses → RI / SP de 3 ANOS (desconto máximo)
└────────────────────────────────────────────────────────────────────▶ tempo
- Comprometa só a base sólida. A regra prática: cubra o que você tem quase certeza de que ainda estará rodando daqui a 1–3 anos. Deixe a parte incerta em on-demand/SP curto.
- Meta de cobertura típica: 70–85% da base estável (não 100% — você quer folga para reduzir sem ficar com commitment ocioso).
- Meta de utilização: > 95%. Utilização baixa significa que você comprometeu demais.
- Escalone os vencimentos (laddering): não deixe tudo vencer no mesmo mês; compre em ondas para acompanhar o crescimento.
- Prefira o instrumento flexível (Savings Plan / compute-flexible) a menos que a economia extra do RI rígido seja grande e a carga seja realmente imóvel.
- Revisão contínua: cobertura e utilização são métricas de dashboard semanal, com dono.
5.4 Outras otimizações de taxa
- Storage tiering: mover dados frios para tiers baratos (infrequent access, archive/Glacier) via políticas de ciclo de vida; escolher a classe certa na escrita.
- Licenças: BYOL (traga sua licença), edições de banco/SO adequadas, evitar SKUs "enterprise" onde não precisa.
- Região: preços variam por região; para cargas sem exigência de latência/soberania, uma região mais barata ajuda (pesando egress).
- Committed spend com o provedor (EDP / MACC): contrato plurianual de gasto mínimo em troca de desconto geral — assunto do Módulo 9.
Tema central de entrevista FinOps: "Explique cobertura vs utilização de commitments", "RI ou Savings Plan?" (SP pela flexibilidade, salvo carga imóvel onde o RI de 3 anos compensa), "Você deve mirar 100% de cobertura?" (não — deixe folga para a base poder encolher), "O que fazer primeiro: comprar commitment ou fazer rightsizing?" (rightsizing — não comprometa desperdício).
✏️ Exercício 5 — Monte o portfólio
Uma empresa tem: 200 vCPU rodando 24/7 estável há 18 meses; +100 vCPU que variam com o horário comercial; um pipeline noturno de dados que usa 300 vCPU por 4h e tolera reinício. Nenhum commitment hoje. Proponha a cobertura.
Gabarito: (1) Base de 200 vCPU 24/7: cobrir ~75–85% (150–170 vCPU) com Savings Plan de 3 anos (compute-flexible) para desconto máximo; deixar o restante em SP de 1 ano ou on-demand como folga. (2) Os 100 vCPU de horário comercial: SP de 1 ano cobrindo a parte que se repete todo dia útil; o pico em on-demand. (3) Pipeline noturno tolerante a interrupção: spot, sem commitment — economia de 60–90% e o reinício já é aceito. Revisar cobertura/utilização mensalmente e escalonar novas compras conforme cresce.
Optimize II — otimização de uso (usage optimization)
Objetivo: reduzir o que se consome — rightsizing, autoscaling, desligar o ocioso, eliminar desperdício e usar arquitetura para baixar o custo estrutural.
6.1 Rightsizing
Ajustar o tamanho/tipo do recurso ao que a carga realmente usa, com base em métricas (CPU, memória, rede, IOPS) de um período representativo (2–4 semanas, incluindo pico).
- Alvos: VMs com utilização de pico baixa, bancos superdimensionados, discos com IOPS provisionado ocioso, clusters com nós vazios.
- Considere famílias mais novas (melhor preço/performance) e arquiteturas ARM (Graviton na AWS, Axion no GCP, Cobalt no Azure) — costumam dar 20–40% de custo/performance para cargas compatíveis.
- Cuidado: rightsizing agressivo demais causa incidente. Deixe margem para pico e crescimento; faça gradual e monitore.
6.2 Elasticidade: autoscaling e "parking"
- Autoscaling horizontal por demanda (RPS, fila, CPU) — pague pelo pico só durante o pico. Configure limites e cooldown para não oscilar.
- Scale-to-zero para serviços de uso esporádico (serverless, KEDA, Knative).
- Scheduling / parking: desligar dev, staging, QA fora do horário de trabalho. Uma carga que roda 8h/dia útil em vez de 24/7 custa ~25%. É uma das economias mais fáceis e maiores.
- Ambientes efêmeros: ambiente de PR criado no merge e destruído no fim — nada esquecido ligado.
6.3 Eliminação de desperdício (a faxina permanente)
| Item | Ação |
|---|---|
| Recursos órfãos (discos, IPs, snapshots, LBs, NAT gateways sem uso) | Inventário automático + expiração; alarme de recurso órfão |
| Dados antigos em hot storage | Políticas de ciclo de vida; expiração de logs; limpar versões antigas |
| Egress evitável | Colocar serviços que conversam muito na mesma zona/região; CDN e cache; comprimir; endpoints privados em vez de sair pela internet |
| Logs e observabilidade em excesso | Amostragem, níveis, retenção por criticidade — telemetria vira uma fatia grande e silenciosa |
| Ambientes de teste esquecidos | TTL obrigatório; revisão trimestral de "o que é isso e quem usa?" |
6.4 Arquitetura como alavanca de custo avançado
As maiores economias raramente vêm de mexer num slider — vêm de decisão de design:
- Serverless/managed vs sempre-ligado para cargas intermitentes.
- Assíncrono e batch em vez de processamento síncrono caro em tempo real, quando o negócio permite.
- Cache (resultado, borda, dados) para não recomputar/reconsultar.
- Escolha de datastore adequada ao padrão de acesso (ver apostilas de SQL/NoSQL e Engenharia de Dados).
- Multi-tenant em vez de stack dedicada por cliente pequeno.
- Data gravity: processar perto de onde o dado está para evitar egress e cópias.
Assim como latência e disponibilidade, o custo tem que entrar no design review e na definição de pronto. "Quanto isso vai custar por unidade e como escala?" deveria ser tão rotineiro quanto "qual o p99?". FinOps maduro coloca uma estimativa de custo no template de RFC/design doc.
Perguntas: "Como você faz rightsizing sem causar incidente?" (métricas de 2–4 semanas com pico, margem, gradual, monitorar), "Qual a economia de 'parkear' ambientes não-produtivos?" (~75%), "Dê exemplos de decisão de arquitetura que reduz custo estruturalmente". A ideia de "custo como requisito não-funcional" é um diferencial de sênior.
✏️ Exercício 6 — Priorize as ações
Auditoria achou: (a) 30 VMs de dev rodando 24/7 (R$ 18k/mês); (b) cluster de produção 40% superdimensionado (R$ 25k/mês de folga); (c) R$ 12k/mês de egress entre zonas por um serviço mal colocado; (d) 4 TB de logs de 2 anos em hot storage (R$ 4k/mês). Ordene por prioridade e diga o risco de cada ação.
Gabarito: Priorização por (economia × facilidade × baixo risco): (1) (a) parkear dev — R$ 18k, trivial, risco ~zero (agendador de start/stop). (2) (d) ciclo de vida dos logs — R$ 4k, fácil, risco baixo (mover para archive, manter retenção mínima legal). (3) (c) egress entre zonas — R$ 12k, esforço médio (mover o serviço para a mesma zona do que ele consome / endpoint privado), risco baixo-médio (janela de migração). (4) (b) rightsizing do cluster de produção — R$ 25k potencial, maior economia mas maior risco: fazer gradual, com métricas de pico, margem de segurança e monitoramento, fora de eventos sazonais.
Operate — cultura, processo e accountability
Objetivo: transformar visibilidade e otimizações pontuais em prática permanente da organização — operating model, KPIs, cadência, automação e o custo como responsabilidade de cada time.
7.1 O time central de FinOps: habilita, não policia
O time de FinOps (às vezes uma pessoa, às vezes um CCoE — Cloud Center of Excellence) não aprova cada recurso nem "é o dono do custo". Ele: constrói a visibilidade e as ferramentas, define padrões e políticas, treina e evangeliza, gerencia o portfólio de commitments e a negociação com o fornecedor, roda a cadência de reuniões, e destrava decisões que precisam de finanças + engenharia + negócio juntos. A responsabilidade pelo custo é de cada time de engenharia — o FinOps dá o mapa e a bússola.
7.2 KPIs de FinOps
| Categoria | KPI |
|---|---|
| Alocação | % do custo alocável (cobertura de tag); % de custo compartilhado não rateado |
| Taxa | Cobertura de commitment; utilização de commitment; % de uso em spot onde aplicável; desconto efetivo médio |
| Uso / desperdício | % de recursos ociosos; economia de rightsizing realizada; custo de ambientes não-produtivos fora de horário |
| Valor | Custo unitário (por cliente / transação / feature) e sua tendência; custo de nuvem como % da receita |
| Operação | Tempo para detectar/agir em anomalia; % de forecast accuracy; nº de recomendações abertas vs fechadas |
7.3 Cadência e rituais
- Semanal: o time de FinOps revisa anomalias, cobertura/utilização de commitments, e recomendações novas.
- Mensal: revisão de custo com cada time de engenharia — seu gasto, sua tendência, seu custo unitário, suas recomendações pendentes; previsto × realizado com finanças.
- Trimestral: revisão de estratégia — compra de commitments, metas de eficiência do próximo trimestre, roadmap e seu impacto de custo, negociação com fornecedor.
- Contínuo: custo no design review; alertas indo para os donos; canal onde times pedem ajuda.
7.4 Automação e "policy as code"
- Tags obrigatórias forçadas na criação; recurso sem tag é bloqueado ou marcado para remoção.
- Start/stop agendado de ambientes não-produtivos.
- Limpeza automática de recursos órfãos e de ambientes efêmeros com TTL vencido.
- Políticas de tamanho máximo / tipos permitidos por ambiente (guardrails, não gates).
- Recomendações de rightsizing e de commitment geradas e roteadas automaticamente para o time dono.
- Alertas de anomalia e de budget para o Slack/Teams do time, não para um e-mail que ninguém lê.
FinOps que vira "abra um chamado para criar uma VM" mata a razão de ser da nuvem e é sabotado pelos times. A cultura certa é liberdade com responsabilidade: os times criam o que precisam, veem o custo do que criaram, têm metas de eficiência, e políticas automáticas impedem só os erros grosseiros (recurso gigante sem aprovação, sem tag, dev ligado no fim de semana).
Perguntas: "Qual o papel do time central de FinOps?" (habilitar e destravar, não aprovar tudo), "Como você cria accountability de custo sem virar gargalo?" (showback por time + metas de eficiência + guardrails automáticos + cadência de revisão), "Que KPIs de FinOps você acompanharia?", "Como é a cadência de reuniões de uma prática de FinOps?".
✏️ Exercício 7 — Monte o operating model
Você é a primeira contratação de FinOps de uma scale-up com 12 times de engenharia e R$ 8M/ano de nuvem, cultura muito autônoma. Descreva o modelo operacional que você propõe nos primeiros 6 meses.
Gabarito (exemplo): Meses 1–2 (Inform): visibilidade — billing export para um dashboard, tags obrigatórias no IaC, showback por time, KPI de cobertura de alocação. Meses 3–4 (Optimize): faxina de desperdício com os times (órfãos, parking de dev, ciclo de vida de storage), primeira compra de Savings Plan sobre a base já limpa, anomaly detection ligado com alertas nos canais dos times. Meses 5–6 (Operate): cadência mensal de revisão de custo por time com meta de custo unitário; custo no template de design doc; automação de parking e limpeza; revisão trimestral de commitments e do forecast com finanças. Princípio o tempo todo: guardrails automáticos, nunca gates manuais — respeitar a cultura autônoma.
FinOps para o que escala diferente: Kubernetes, dados e IA
Objetivo: aplicar FinOps aos três domínios onde a alocação e a otimização têm regras próprias — contêineres compartilhados, plataformas de dados e cargas de IA/GenAI.
8.1 Kubernetes: alocar o cluster compartilhado
Um cluster é uma fatura só, mas dezenas de times rodam nele. O custo precisa ser dividido por consumo real de cada workload.
- Ferramentas: OpenCost (padrão CNCF, open source) e Kubecost — alocam o custo dos nós por namespace/deployment/label, com base em CPU e memória requested vs used.
- Request vs usage: o grande desperdício de K8s é gente pedindo (
requests) muito mais do que usa — o cluster "enche" de reservas ociosas e escala nós à toa. Meça o gap e ajuste requests (VPA ajuda). - Bin packing e autoscaling de nós (Cluster Autoscaler, Karpenter): consolidar pods em menos nós, usar spot para workloads tolerantes, escalar a base para o mínimo.
- Custo compartilhado do cluster (control plane, system pods, folga): ratear proporcionalmente ou absorver na plataforma — regra documentada.
- Idle cost: quanto do cluster está pago e vazio — KPI de eficiência do time de plataforma.
8.2 Dados: o custo que se esconde nas queries
- Warehouses (BigQuery, Snowflake, Redshift): custo por dado escaneado ou por tempo de warehouse ligado. Alavancas: particionar/clusterizar para escanear menos, materializar o que se repete, matar full-refresh desnecessário, desligar warehouse ocioso, alertar nas 10 queries mais caras, e educar sobre
SELECT *. - Pipelines (Spark, ETL): spot para jobs batch, rightsizing de cluster, evitar shuffle e reprocessamento (ver apostila de Engenharia de Dados).
- Storage do lake: compactar arquivos pequenos, tiering, expirar snapshots de Iceberg/Delta.
- Alocação: custo por dataset / por time / por dashboard — quem gera a query, paga.
8.3 IA e GenAI: a nova fronteira de custo
Cargas de IA têm drivers de custo próprios e crescem rápido. FinOps aqui olha:
- Custo por token (APIs de LLM): entrada vs saída, escolha de modelo por tarefa, tamanho de contexto, prompts enxutos, caching, batching, "model routing" (modelo barato para o fácil).
- GPU: o recurso mais caro — utilização de GPU como KPI, spot/reserved para treino, compartilhamento (MIG, time-slicing), scale-to-zero de endpoints de inferência, quantização.
- Unit economics de IA: custo por resposta, por documento, por usuário de IA — e se isso cabe no preço do produto.
- Denial of wallet: abuso que infla custo — quota e rate limit por usuário, teto de custo por requisição (ver apostila de Segurança de Aplicações de IA).
- A FinOps Foundation trata isso como o "FinOps for AI" — e há uma apostila irmã (Otimização de Custos de Cloud e IA) com as táticas técnicas em detalhe.
Perguntas: "Como você aloca o custo de um cluster Kubernetes compartilhado?" (OpenCost/Kubecost por namespace, request vs usage), "Por que 'requests' mal dimensionados encarecem K8s?", "Quais os drivers de custo de um produto de GenAI e como controlá-los?" (token, modelo, contexto, GPU, cache; unit economics por resposta). Saber que FinOps hoje inclui dados e IA, não só VMs, é diferencial.
✏️ Exercício 8 — Kubernetes caro
Um cluster custa R$ 60k/mês. O OpenCost mostra: uso médio de CPU 22% e de memória 35% do que está requested; 3 namespaces respondem por 70% dos requests; muitos nós on-demand. Liste quatro ações.
Gabarito: (1) Ajustar requests dos 3 namespaces dominantes para perto do uso real (com margem), usando dados históricos / VPA em modo recomendação — isso libera capacidade e reduz nós. (2) Ligar consolidação e autoscaling agressivo de nós (Karpenter/Cluster Autoscaler) para empacotar pods e derrubar nós vazios. (3) Migrar workloads tolerantes a interrupção para nós spot. (4) Showback por namespace com o gap request-vs-uso visível, e meta de eficiência por time. Bônus: revisar limits/HPA e políticas de qualidade de serviço.
Maturidade, ferramentas, contratos e armadilhas
Objetivo: avaliar a maturidade da prática, escolher ferramental, negociar com o provedor, e reconhecer os erros que fazem programas de FinOps fracassarem.
9.1 Maturidade: Crawl → Walk → Run
| Estágio | Como é |
|---|---|
| Crawl | Visibilidade básica (dashboard, algum tagging), showback informal, otimizações reativas e pontuais, poucos KPIs |
| Walk | Alocação > 90%, commitments geridos com metas de cobertura/utilização, forecast razoável, cadência de revisão com os times, automação de desperdício, custo unitário acompanhado |
| Run | Custo no design review, chargeback confiável, otimização quase toda automatizada, decisões de trade-off feitas em tempo real pelos times, FinOps integrado a planejamento e a produto, IA/dados cobertos |
Cada capability do framework (alocação, forecast, rate optimization, anomaly management…) pode estar em estágios diferentes. Avalie por capability e priorize as que dão mais retorno.
9.2 Ferramentas
| Camada | Opções |
|---|---|
| Nativas do provedor | AWS Cost Explorer / Budgets / CUR + Athena/QuickSight; GCP Billing + BigQuery + Looker Studio; Azure Cost Management |
| Plataformas multi-cloud | Apptio Cloudability, Flexera CloudHealth, Vantage, Finout, Kion, ProsperOps (automação de commitment) |
| Kubernetes | OpenCost, Kubecost |
| Open source / DIY | Billing export → warehouse → dashboard próprio; padrão FOCUS para normalizar entre clouds; Infracost para estimar custo no PR de Terraform |
| IA | Rastreio de custo por chamada no gateway de LLM (ver apostila de LLMOps) |
| Sustentabilidade | Cloud Carbon Footprint, calculadoras de carbono dos provedores |
Regra: comece com o nativo + um dashboard. Plataforma paga se justifica com multi-cloud, muitas contas, ou necessidade de alocação/automação sofisticada — e ela mesma custa (às vezes % do gasto).
9.3 Contratos e negociação com o provedor
- Committed spend agreements (AWS EDP/PPA, Google, Azure MACC): compromisso plurianual de gasto mínimo em troca de desconto percentual sobre toda a fatura, créditos e suporte. Negocie com dados de forecast na mão e não comprometa acima do piso confiável.
- Marketplace: compras via marketplace do provedor às vezes contam para o committed spend — pode ser alavanca de negociação.
- Timing: fim de trimestre/ano do fornecedor melhora a margem de negociação.
- Não deixe o desconto virar preguiça: desconto contratual não substitui otimização de uso — ele multiplica a economia de um ambiente já enxuto.
9.4 FinOps + sustentabilidade e + segurança
- GreenOps: reduzir desperdício de nuvem quase sempre reduz emissões; regiões mais limpas, horários de menor intensidade de carbono para batch, e o carbono como métrica ao lado do custo.
- Segurança: recursos órfãos e não-tagueados também são risco de segurança; picos de custo podem indicar comprometimento (cripto-mineração). FinOps e SecOps compartilham o inventário.
9.5 Armadilhas que afundam programas de FinOps
- Virar polícia de custo — gates manuais, "não pode criar nada" — a engenharia sabota.
- Só falar de corte — sem ligar a valor, FinOps vira o vilão e perde apoio.
- Chargeback prematuro sobre alocação ruim — gera briga interna.
- Comprar commitment sobre desperdício — comprometer 3 anos do que deveria ser desligado.
- Ferramenta antes de cultura — comprar plataforma cara e ninguém olhar os relatórios.
- Alertas sem dono — vão para uma lista que ninguém lê.
- Otimização de uma vez — sem cadência, o desperdício volta em três meses.
- Ignorar dados e IA — onde o custo mais cresce hoje.
Perguntas sênior: "Como você avalia a maturidade de FinOps de uma empresa?" (crawl/walk/run por capability), "Ferramenta nativa ou plataforma paga?" (nativo + dashboard primeiro; plataforma para multi-cloud/escala), "O que é um EDP/committed spend agreement?", "Por que programas de FinOps falham?" (virar polícia, só falar de corte, chargeback cedo, comprar commitment sobre desperdício).
✏️ Exercício 9 — Diagnóstico de maturidade
Uma empresa: tem dashboard de custo, ~85% alocável, comprou muitos RIs mas a utilização é 78%, faz "força-tarefa de corte" 1x por ano, não acompanha custo unitário, e o time de dados/IA não participa. Classifique a maturidade e dê as 3 prioridades.
Gabarito: Está no fim do "Crawl" / início do "Walk", desigual por capability: visibilidade ok, alocação quase lá, mas rate optimization imatura (utilização 78% = ~22% de commitment desperdiçado), operação reativa (força-tarefa anual em vez de cadência), e sem unit economics nem cobertura de dados/IA. Prioridades: (1) Corrigir o portfólio de commitments — trocar RIs rígidos subutilizados por Savings Plans flexíveis, mirar utilização > 95% e cobertura ~80% da base estável. (2) Instituir cadência mensal de revisão por time com custo unitário como métrica — sair do "corte anual". (3) Trazer dados e IA para a prática (OpenCost no cluster, custo por token/GPU, alocação por dataset).
Mercado de trabalho: roadmap, entrevistas e portfólio
Objetivo: converter o conteúdo dos módulos anteriores em aprovação — perfis, certificação, roadmap, banco de perguntas com respostas e projetos que geram entrevista.
10.1 Os perfis que contratam
| Perfil | Foco | Vem de |
|---|---|---|
| FinOps Analyst / Practitioner | Visibilidade, alocação, relatórios, forecast, recomendações, cadência | Finanças/FP&A com fluência de nuvem; analista de dados |
| FinOps Engineer | Automação, policy as code, integração de billing, OpenCost, dashboards, otimização técnica | DevOps/SRE, cloud engineering, platform |
| Cloud Economist / Cost Optimization Lead | Estratégia de commitments, negociação com fornecedor, unit economics, arquitetura de custo | Sênior de cloud + negócio |
| FinOps Lead / Head of FinOps | Montar a prática, operating model, stakeholders, cultura | Experiência combinada de finanças + engenharia + programa |
10.2 Certificação e comunidade
- FinOps Certified Practitioner (FOCP) — a certificação de entrada da FinOps Foundation, quase sempre citada em vagas. Há trilhas avançadas (Engineer, Professional) e específicas (FinOps for AI, para setores).
- FinOps Framework (documentação aberta da FinOps Foundation) — leitura obrigatória; conheça princípios, personas, fases e as capabilities.
- Comunidade: FinOps Foundation (Slack, eventos FinOps X), State of FinOps report anual.
- Certificações de nuvem (AWS/GCP/Azure a nível de arquitetura/prática) complementam bem.
10.3 Roadmap de estudo (8 semanas)
| Semanas | Foco | Entregável |
|---|---|---|
| 1 | FinOps Framework completo + modelo de custo da nuvem (Módulos 1–2) | Resumo do framework; glossário próprio |
| 2–3 | Inform: numa conta real (sua, de estudo, ou dados públicos de billing), montar dashboard, tagging, showback, unit economics (Módulos 3–4) | Dashboard de custo por time/serviço + uma métrica unitária |
| 4–5 | Optimize: análise de commitments (cobertura/utilização), rightsizing, caça ao desperdício (Módulos 5–6) | Relatório de economia com ações priorizadas e risco de cada |
| 6 | Operate: KPIs, cadência, automação (parking, limpeza, policy as code) (Módulo 7) | Um operating model de 1 página + 1 automação funcionando |
| 7 | K8s (OpenCost) e IA (custo por token/GPU) (Módulo 8) | Alocação de um cluster por namespace; planilha de unit economics de IA |
| 8 | Maturidade, ferramentas, FOCP; consolidação e portfólio (Módulos 9–10) | Estudo de caso publicado + preparo para a certificação |
10.4 Banco de perguntas de entrevista (com a resposta que aprova)
Júnior/pleno — "O que é FinOps?"
Disciplina de gestão financeira de nuvem e prática cultural que reúne engenharia, finanças e negócio para tomar decisões de gasto orientadas por dados, maximizando valor por real gasto. Existe porque a nuvem tornou o custo variável, descentralizado e sem gatekeeper. Não é corte de custo — é trade-off consciente entre velocidade, custo e qualidade, num ciclo Inform → Optimize → Operate.
Pleno — "Diferença entre showback e chargeback"
Showback mostra a cada time quanto ele gastou (consciência, baixo atrito); chargeback debita de fato o orçamento do time (responsabilidade real, alto atrito). Começa-se por showback; chargeback só depois que a alocação é confiável (> 90%) e a cultura está madura, idealmente com um período de shadow chargeback.
Pleno — "Cobertura vs utilização de commitments"
Cobertura = % do uso elegível protegido por algum commitment. Utilização = % do commitment comprado que está realmente sendo consumido. Metas típicas: cobertura ~70–85% da base estável (folga para encolher), utilização > 95%. Utilização baixa é pior que on-demand — você paga por algo que não usa.
Pleno/sênior — "Rightsizing ou comprar commitment primeiro?"
Rightsizing e eliminação de desperdício primeiro: você não quer comprometer 1–3 anos de uma instância superdimensionada ou que deveria estar desligada. Otimize o uso, estabilize a base, e só então compre commitments sobre esse consumo enxuto e previsível.
Sênior — "Como criar accountability de custo sem virar gargalo?"
Liberdade com responsabilidade: times criam o que precisam, mas (1) veem o próprio custo (showback com alocação > 90%), (2) têm meta de custo unitário / eficiência, (3) recebem alertas de anomalia e budget nos seus canais, (4) discutem custo numa cadência mensal, e (5) políticas automáticas (guardrails) impedem só os erros grosseiros. Nada de chamado para criar VM.
Sênior — "A fatura de nuvem cresceu 40% no trimestre. Como você investiga?"
Decompor: por serviço, por conta/time, por região, por tag — onde cresceu? Custo amortizado, não billed. Separar crescimento por mais uso (mais clientes/tráfego) de crescimento por desperdício (ociosos, sem commitment, superdimensionado) e de anomalia (pico pontual). Cruzar com métrica de negócio: o custo unitário subiu ou caiu? Se o custo/cliente caiu e o crescimento acompanha receita, pode estar saudável; se o custo/cliente subiu, atacar as causas identificadas.
Armadilha — "Vamos economizar bloqueando a criação de recursos"
Isso mata a agilidade que justifica a nuvem e é contornado pelos times. A abordagem certa é visibilidade + accountability + guardrails automáticos: mostrar o custo a quem o gera, dar metas de eficiência, automatizar parking e limpeza, e reservar aprovação manual só para gastos realmente grandes. Corte vem de otimização contínua, não de burocracia.
10.5 Projetos de portfólio que geram entrevista
- Análise de conta (âncora): pegue uma conta de nuvem (sua, de laboratório, ou um dataset de billing público) e produza um relatório FinOps completo: alocação por time/serviço, unit economics, cobertura/utilização de commitments, top desperdícios com economia estimada e risco, e um plano Inform/Optimize/Operate. Publique como estudo de caso.
- Dashboard de custo do zero: billing export → warehouse (BigQuery/DuckDB) → dashboard (Looker Studio/Metabase) com showback, tendência e alarme de anomalia; bônus se normalizar via FOCUS.
- Automação de economia: um script/pipeline que agenda start/stop de ambientes não-produtivos, ou que detecta e reporta recursos órfãos, com o "antes/depois" da economia.
- Alocação de Kubernetes: subir OpenCost num cluster de estudo e produzir showback por namespace com o gap request-vs-uso e recomendações.
- Modelo de unit economics de um produto de IA: planilha/notebook que calcula custo por resposta em função de modelo, tokens, cache e volume, com cenários.
Quatro ideias sustentam FinOps: (1) o objetivo é valor por real gasto, não corte — às vezes a decisão certa é gastar mais; (2) não se otimiza o que não se aloca — visibilidade e tagging vêm primeiro; (3) a sequência é eliminar desperdício, depois comprar desconto — nunca comprometa 3 anos de lixo; (4) FinOps é cultura contínua com accountability distribuída, habilitada por um time central e por guardrails automáticos — não uma força-tarefa anual nem uma polícia. As ferramentas e os SKUs mudam todo ano; o ciclo Inform → Optimize → Operate não.