Confiabilidade não é "nunca quebrar", é "quebrar dentro do orçamento". Define o alvo (SLO), roda o mês, e olha o error budget queimando a cada falha. Quando ele zera, os releases congelam.
Escolhe o SLO e roda o mês. Sem incidente, o ruído de fundo de erros mal arranha o budget. Clica em "injetar incidente" pra ver ele queimar de verdade.
SLI é o número medido. SLO é o alvo que você promete. Error budget é o que sobra: 100% menos o SLO. É o tanto de falha que você tem permissão de gastar antes de parar de arriscar.
SLO
Falha permitida
Downtime/mês
99%
1%
~7h 18min
99,9%
0,1%
~43min
99,99%
0,01%
~4min 23s
99,999%
0,001%
~26s
SLI e error budget em Go
// SLI: fração de requests que deram certo
sli := float64(sucesso) / float64(total)
// error budget: o que o SLO permite gastar
slo := 0.999// 99,9%
orcado := (1 - slo) * float64(total)
gasto := float64(falhas)
restante := orcado - gasto
if restante <= 0 {
congelarReleases() // foca em estabilidade
}
🧠 Desafio · SLI, SLO & Error Budget
Roda o mês e injeta um incidente aqui de cima antes de responder. As duas últimas são de reflexão: escreve a sua e só então revela o modelo.