DEV Community

Cover image for Error Budget
Fabricio_Gonçalves
Fabricio_Gonçalves

Posted on • Edited on

Error Budget

Error Budget

O que seria error budget?

Orçamentos de erro (error Budget), no contexto de Site Reliability Engineering (SRE), ou "Engenharia de Confiabilidade de Sites", são uma estrutura para gerenciar riscos e trazer equilíbrio entre o desenvolvimento e os SREs. 

Em particular, eles são usados basicamente para medir quanto risco estamos dispostos a tolerar em um serviço.

Contanto que o tempo de atividade / disponibilidade medido esteja acima do SLA / SLO, haverá um erro de orçamento restante. 

Conseqüentemente, novos recursos e lançamentos podem ser colocados em produção.

Um orçamento de erro é a quantidade de erros que seu serviço pode acumular ao longo de um determinado período de tempo antes que seus usuários comecem a ficar insatisfeitos.

Mas para que error budget funciona bem, precisamos nos atentar a alguns pontos:

  • Termos SLOs que todas as partes interessadas na organização aprovaram como adequados para o produto.
  • Uma vez que você esgote seu orçamento de erro (ou chegue perto de esgotá-lo), você deve fazer algo para restaurar a estabilidade do seu sistema.
  • As pessoas responsáveis ​​por garantir que o serviço atenda ao seu SLO concordaram que é possível atender a este SLO em circunstâncias normais.
  • A organização se comprometeu a usar o orçamento de erros para a tomada de decisões e priorização. Esse compromisso é formalizado em uma política de orçamento de erro.
  • Que exista um processo em vigor para refinar o SLO. (Como melhorar o SLO?)

(A política de orçamento de erro também deve ser documentada)

Como calcular error budget?

Se definirmos nosso objetivo (SLO) como sendo 99% de eventos validos com sucessos, teremos 0,1% de margem para erros, ou seja, se nossa api recebe 1000000 requisições, com um SLO de disponibilidade de 99% teremos um orçamento de 1.000 erros durante esse período.

Faça suas simulações aqui.

Exemplificando

Imaginem o seguinte cenário:
Temos uma API que prometemos para o cliente que essa funcionalidade não retornará em mais de 200ms (SLA)

Internamente, acordamos que seria possível mantermos essa API retornando em menos de 100ms (SLO)

Porém, em alguns casos, inevitavelmente nossa a API vai demorar mais de 100ms, ai, neste momento, começamos a queimar nosso error budget (linha laranja).

alt text

Queimando error budget

Esse tópico ficará para o próximo post….

Lei também

Example Error Budget Policy
What is an error budget - and why does it matter?

Top comments (0)