O Que É um Error Budget? Explicado
Um error budget é a quantidade de falhas que um sistema pode ter antes que o trabalho de confiabilidade precise ter prioridade, o complemento prático de um objetivo de nível de serviço.
Confiabilidade perfeita não é alcançável nem vale o custo. Os error budgets, uma ideia central de SRE, tornam o trade-off explícito: você se compromete com uma confiabilidade alvo, aceita que a indisponibilidade restante é um budget que pode gastar e muda o comportamento quando ele se esgota.
Budget = 100% menos o objetivo
Se o seu objetivo de nível de serviço é 99,9% de sucesso, seu error budget são os 0,1% restantes, a parcela permitida de falhas dentro de uma janela. Enquanto você estiver dentro do budget, pode gastá-lo entregando funcionalidades. Quando você o esgota, a política determina parar e investir em confiabilidade.
Por que ele existe
Os error budgets resolvem a eterna tensão entre andar rápido e permanecer confiável, não por argumentação, mas por um número acordado. Dentro do budget, entregue com ousadia; acima do budget, desacelere e reforce. Isso transforma um debate de valores em uma decisão orientada por dados.
Aplicando ao CI
Você pode enquadrar a confiabilidade do CI da mesma forma: um alvo para a frequência com que o pipeline entrega um resultado confiável, com o restante como um budget de instabilidade. Quando falhas transitórias e instáveis consomem o budget, esse é o sinal para investir em determinismo, infraestrutura e retries em vez de mais funcionalidades.
Gastando com sabedoria
Nem todo consumo de budget é igual. Um bug real e capturado é o budget funcionando como pretendido; uma falha transitória de infraestrutura consumindo budget é desperdício. Separar os dois diz se você deve gastar o budget em trabalho de qualidade ou em confiabilidade e automação.
O ângulo da Latchkey
Os runners gerenciados com autocorreção da Latchkey protegem a parte desperdiçada de um budget de confiabilidade de CI: ao repetir automaticamente falhas transitórias e mecânicas para que um contratempo isolado não quebre o seu build, eles evitam que o ruído do ambiente consuma o budget que deveria ser gasto em trabalho real.
Principais conclusões
- Um error budget é a indisponibilidade permitida antes que o trabalho de confiabilidade vença.
- É 100% menos o seu objetivo de confiabilidade dentro de uma janela.
- Ele transforma o trade-off entre velocidade e confiabilidade em um número.
- Separar o consumo real do transitório mostra onde investir.