Error Budget no Node.js representa a quantidade de falha permitida por um SLO. Se a meta é 99,9% de disponibilidade em 30 dias, o orçamento é a parcela restante: 0,1% das oportunidades válidas.
O error budget conecta confiabilidade a decisões de produto. Quando o orçamento está saudável, a equipe pode assumir mais risco. Quando é consumido rapidamente, estabilidade e correção ganham prioridade.
Cálculo básico
errorBudget = 1 - SLOPara um SLO de 99,9%, o orçamento é 0,001. Em um milhão de requisições válidas, até mil poderiam falhar antes da violação do objetivo.
Baseado em eventos
Contar requisições costuma ser melhor que converter tudo em minutos de indisponibilidade, principalmente em serviços com tráfego variável.
budgetRemaining = allowedBadEvents - observedBadEventsBurn rate
Burn rate mede a velocidade de consumo. Uma taxa 1 significa gastar o orçamento no ritmo exato para esgotá-lo ao fim da janela. Taxa 10 indica consumo dez vezes mais rápido.
Alertas multiwindow
Combine janela curta e longa. A curta detecta incidentes graves; a longa evita alertas por picos pequenos. Alertas devem apontar impacto no SLO, não apenas uma métrica técnica isolada.
Prometheus
error_ratio =
sum(rate(http_requests_total{status_class="5xx"}[5m]))
/
sum(rate(http_requests_total[5m]))Divida a taxa de erro pelo orçamento permitido para obter uma aproximação do burn rate. Consulte Prometheus no Node.js.
Política operacional
Defina antecipadamente o que acontece quando o orçamento cai:
- reduzir frequência de deploys;
- bloquear mudanças de alto risco;
- priorizar correções de confiabilidade;
- aumentar revisão e canary;
- investigar dependências recorrentes;
- reavaliar capacidade.
Não use como punição
O orçamento é ferramenta de decisão, não mecanismo para culpar equipes. Ele torna explícito o equilíbrio entre velocidade e estabilidade.
Error budget por jornada
Uma média global pode esconder falha em uma operação crítica. Mantenha orçamento separado para login, pagamento, leitura e processamento assíncrono quando as expectativas forem diferentes.
Dependências externas
Falhas de terceiros ainda afetam a experiência. Registre a causa para diagnóstico, mas o SLI do produto deve refletir o resultado entregue. Estratégias de cache, fallback e circuit breaker podem reduzir consumo.
Deploys
Associe versão e horário de deploy às métricas. Se o burn rate aumenta após uma mudança, pause o rollout ou reverta rapidamente.
Canary e rolling deploy
Use uma pequena parcela de tráfego para validar a nova versão. O budget ajuda a definir limites de abortar o rollout antes de impactar toda a base.
Relatórios
Mostre orçamento total, consumido, restante, burn rate e causas principais. Um gráfico isolado sem contexto de janela pode induzir decisões erradas.
SLI e SLO
O cálculo depende de indicadores bem definidos. Consulte SLI e SLO no Node.js.
Erros comuns
- calcular com média de disponibilidade;
- reiniciar o orçamento após incidente;
- mudar o SLO para esconder consumo;
- não definir política de ação;
- misturar jornadas incompatíveis;
- ignorar baixo tráfego;
- alertar em qualquer erro individual.
Conclusão
Error Budget no Node.js converte o SLO em uma quantidade concreta de risco disponível. Ele ajuda produto e engenharia a decidir quando acelerar e quando investir em estabilidade.
Defina políticas antes de incidentes, monitore burn rate e relacione consumo a deploys e dependências. Consulte a política de error budget do Google SRE e a documentação sobre alertas de SLO.


