SRE

Error Budget: o que é, como calcular e usar no SRE

Toda decisão de implantar software em produção carrega um risco de falha. O problema não é eliminar esse risco — isso é impossível — mas decidir quanto risco é aceitável antes que o serviço viole os compromissos de confiabilidade com os usuários. É exatamente para isso que existe o error budget.

Error budget é o conceito central da prática de SRE (Site Reliability Engineering) criada pelo Google para equilibrar velocidade de entrega e confiabilidade de sistemas. Ele define matematicamente quanto tempo de indisponibilidade ou degradação um serviço pode acumular em um período sem violar seu SLO (Service Level Objective). Enquanto o saldo de error budget estiver positivo, o time pode deployar com frequência. Quando o budget se esgota, a velocidade de entrega precisa ser reduzida para proteger os usuários.

Neste guia técnico, você vai entender o que é error budget, como calcular, como usá-lo para governar decisões de deploy e qual a relação com SLIs, SLOs e as métricas DORA.

 

O que é error budget?

Error budget é o orçamento de erros ou indisponibilidade que um serviço pode acumular em um período de tempo sem violar o SLO definido. É a diferença entre a perfeição (100% de disponibilidade) e o SLO acordado.

A fórmula é direta: se o SLO de um serviço é de 99,9% de disponibilidade mensal, o error budget é de 0,1% do tempo total do mês — o que corresponde a aproximadamente 43,8 minutos de indisponibilidade acumulada por mês.

O conceito resolve um conflito estrutural em organizações de engenharia: times de desenvolvimento querem deployar frequentemente (velocidade), enquanto times de operações querem estabilidade (confiabilidade). O error budget torna esse conflito explícito e mensurável. Em vez de discussões subjetivas sobre “estamos deployando rápido demais?”, o time responde à pergunta “quanto do nosso error budget já consumimos este mês?”

 

Como calcular o error budget

O cálculo parte do SLO definido para o serviço. Há dois modelos principais dependendo do tipo de SLI (Service Level Indicator) adotado.

 

Error budget baseado em disponibilidade (tempo)

Este é o modelo mais comum para serviços que medem disponibilidade por tempo de uptime.

Fórmula:
Error budget = (1 - SLO) × período de tempo

Exemplos práticos para um período de 30 dias (43.200 minutos):

SLO de 99,9% → error budget de 43,2 minutos/mês
SLO de 99,5% → error budget de 216 minutos/mês (3,6 horas)
SLO de 99,0% → error budget de 432 minutos/mês (7,2 horas)

 

Error budget baseado em requisições (taxa de sucesso)

Para serviços que medem confiabilidade pela proporção de requisições bem-sucedidas, o error budget é calculado sobre o volume total de requisições.

Fórmula:
Error budget = (1 - SLO) × total de requisições no período

Se o serviço processa 1.000.000 de requisições por mês e o SLO é de 99,9%, o error budget é de 1.000 requisições com falha permitidas no mês.

Esse modelo é mais preciso para APIs e serviços transacionais porque reflete a experiência real dos usuários — uma hora de indisponibilidade às 3h da manhã tem impacto muito menor do que 1 minuto de falha no pico de acesso.

 

Como o error budget governa decisões de engenharia

A principal utilidade do error budget não é medir falhas — é criar uma política objetiva de como o time deve se comportar dependendo do saldo restante.

Times de SRE maduros definem uma política de error budget com regras explícitas atreladas ao consumo do orçamento.

 

Budget positivo — modo de velocidade

Quando o saldo de error budget está confortável (acima de 50% do período, por exemplo), o time tem liberdade para: deployar novas funcionalidades com frequência, executar experimentos e testes de carga em produção, conduzir exercícios de chaos engineering para validar resiliência e adotar tecnologias ou mudanças de arquitetura mais arriscadas.

 

Budget no limite — modo de atenção

Quando o consumo está acelerado ou o saldo cai abaixo de um threshold definido (por exemplo, 25% restante na metade do período), o time entra em modo de atenção: foco em qualidade antes de velocidade, revisão dos deployments recentes para identificar a causa do consumo elevado e priorização de melhorias de confiabilidade sobre novas features.

 

Budget esgotado — modo de freeze

Quando o error budget é totalmente consumido antes do fim do período, a política padrão é congelar novos deploys até o reset do período ou até que melhorias de confiabilidade sejam implementadas. Nesse momento, o time de produto e o time de engenharia precisam renegociar prioridades com dados concretos — não com opiniões.

Esse mecanismo é o que diferencia SRE de ITIL ou gestão tradicional de operações: a decisão de pausar deploys é automática e baseada em dados, não em julgamento político.

 

Error budget e as métricas DORA

O error budget complementa as DORA Metrics de forma direta. Enquanto as DORA Metrics medem a saúde do processo de entrega (Deployment Frequency, Lead Time, Change Failure Rate, Recovery Time), o error budget mede o impacto desse processo sobre a experiência do usuário em produção.

A conexão mais direta é com a Change Failure Rate: uma Change Failure Rate elevada se traduz em consumo acelerado do error budget. Times que observam o budget se esgotando consistentemente antes do fim do período devem investigar primeiro a qualidade do pipeline de CI/CD e os processos de revisão de código.

O error budget também informa o Failed Deployment Recovery Time: incidentes que consomem budget significativo devem ter postmortems com foco em reduzir o tempo de detecção e recuperação.

 

Erros comuns na implementação de error budget

O erro mais frequente é definir SLOs aspiracionais em vez de SLOs baseados em dados históricos reais. Um SLO de 99,99% para um serviço que historicamente opera em 99,5% gera um error budget de apenas 4,3 minutos/mês — tão restritivo que qualquer deploy não trivial o esgota imediatamente, tornando o mecanismo inútil.

O segundo erro é não conectar o error budget a uma política explícita. Medir o consumo sem definir o que acontece quando o budget se esgota transforma o conceito em um dashboard decorativo.

O terceiro erro é ignorar o error budget de componentes downstream. Um serviço com SLO de 99,9% que depende de três dependências externas com o mesmo SLO individualmente tem disponibilidade real bem menor — a análise de causa raiz precisa considerar o stack completo.

 
Observabilidade

 

O error budget é um dos pilares da prática de observabilidade e confiabilidade em times de SRE — ele conecta diretamente as métricas de disponibilidade às decisões de engenharia.

Conclusão

O error budget é o mecanismo que transforma SLOs de documentos aspiracionais em ferramentas operacionais. Ele cria uma linguagem comum entre times de produto e engenharia, elimina discussões subjetivas sobre velocidade versus confiabilidade e fundamenta decisões de deploy em dados mensuráveis.

A implementação eficaz começa pela definição de SLOs realistas com base em histórico real, avança com a criação de uma política explícita de resposta ao consumo do budget e amadurece com a integração dos dados de error budget nos rituais de planejamento de sprint e revisão de incidentes. Para referência técnica aprofundada, o capítulo sobre Error Budgets do Google SRE Book é a fonte primária do conceito.

Para estruturar sua estratégia de SLOs e error budget, fale com nossos especialistas.

 

Perguntas Frequentes

O que é error budget no SRE?
Error budget é o limite de indisponibilidade ou falha que um serviço pode acumular em um período sem violar seu SLO (Service Level Objective). É calculado como a diferença entre 100% de perfeição e o SLO definido. Por exemplo, um SLO de 99,9% gera um error budget de 0,1% do período — aproximadamente 43 minutos por mês. Enquanto o saldo está positivo, o time pode deployar; quando se esgota, a política padrão é congelar deploys.
Como calcular o error budget?
A fórmula básica é: Error budget = (1 - SLO) × período. Para SLO de 99,9% em 30 dias: (1 - 0,999) × 43.200 minutos = 43,2 minutos. Para serviços baseados em taxa de requisições: (1 - SLO) × total de requisições. Um serviço com SLO de 99,9% e 1 milhão de requisições mensais tem budget de 1.000 requisições com falha permitidas.
Qual a relação entre error budget e SLO?
O SLO (Service Level Objective) define a meta de confiabilidade do serviço. O error budget é o complemento matemático do SLO — é o espaço entre a perfeição e o SLO que o time pode usar para inovar. SLO mais restritivo (99,99%) gera error budget menor (4 minutos/mês). SLO mais flexível (99,5%) gera error budget maior (3,6 horas/mês). O SLO correto é aquele que equilibra as expectativas dos usuários com a velocidade de entrega do time.
O que acontece quando o error budget se esgota?
A política padrão em times de SRE é congelar novos deploys até o reset do período ou até que melhorias de confiabilidade sejam implementadas e validadas. O time redireciona o esforço para reduzir a taxa de falha: investigação de causa raiz, melhorias no pipeline de CI/CD, aumento da cobertura de testes e revisão dos processos de deploy. A decisão é objetiva e baseada em dados, não em negociação política.
Como o error budget se relaciona com as DORA Metrics?
As DORA Metrics medem a saúde do processo de entrega; o error budget mede o impacto desse processo sobre o usuário. A conexão mais direta é com a Change Failure Rate — uma taxa alta de falhas em deploy consome o error budget rapidamente. Times com budget se esgotando consistentemente devem investigar Change Failure Rate e Failed Deployment Recovery Time como indicadores do problema subjacente no pipeline de entrega.

Trabalho há mais de 15 anos no mercado B2B de tecnologia e hoje atuo como Gerente de Marketing da OpServices e Líder em Projetos de Governança para Inteligência Artificial.

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *