Voltar ao blog

SLI vs SLO vs SLA: diferenças e como configurá-los

· 7 min de leitura

Em resumo: SLI é o que medes, SLO é que objetivo queres alcançar, SLA é o compromisso contratual. Estes termos do livro Google SRE estão entre as frases mais usadas na operação de serviços web - e frequentemente misturadas.

Em resumo: SLI é o que medes, SLO é que objetivo queres alcançar, SLA é o compromisso contratual. Estes termos do livro Google SRE estão entre as frases mais usadas na operação de serviços web - e frequentemente misturadas.

SLI - Service Level Indicator

Métrica concreta com que quantificas a fiabilidade do serviço. Exemplos:

  • % de pedidos que terminaram em HTTP 2xx ou 3xx nos últimos 30 dias
  • % de pedidos com response time abaixo de 500 ms
  • % de emails entregues corretamente (delivered, não bounced)
  • Proporção de transações de pagamento bem sucedidas sobre todas as tentativas

Propriedades chave de um bom SLI:

  • Mensurável - existe um método concreto de recolha de dados
  • Relevante para o utilizador - reflete a experiência real do cliente, não uma métrica técnica interna
  • Específico - "uptime" é demasiado vago; "% de pedidos bem sucedidos para /api/v1/orders em janela de 5 minutos" é um SLI

SLO - Service Level Objective

Objetivo interno, que valor o SLI deve atingir. Expresso percentualmente por janela temporal.

Exemplos:

  • "99,9 % dos pedidos para /api/orders têm de terminar em HTTP 2xx em 30 dias"
  • "95 % dos pedidos têm de ter response time abaixo de 200 ms em 7 dias"
  • "99,5 % das transações de pagamento passam com sucesso no mês calendário"

SLO é mais alto que SLA para teres buffer. Se SLA diz 99,9 %, o SLO interno deveria ser p.ex. 99,95 % - para teres reserva para incidentes inesperados.

SLA - Service Level Agreement

Compromisso contratual com os clientes. Define o que acontece quando não cumpres o SLO - tipicamente:

  • Service credits - devolves parte da mensalidade (10-50% conforme tamanho da violação)
  • Termination rights - o cliente pode rescindir o contrato sem sanção
  • Obrigação de reporting - tens de publicar postmortem e relatórios de uptime

SLA tem consequências legais. SLO é objetivo interno.

Error budget

Conceito chave de SRE: downtime que podes permitir-te sem violar o SLO.

Exemplo: SLO = 99,9 % de uptime em 30 dias. São 0,1 % de downtime permitido. 0,1 % de 30 dias = 43 minutos por mês. Este é o teu error budget.

Implicações práticas:

  • Se já tens 35 min de downtime no mês, restam 8 min até "violação do SLO". A equipa deveria ser conservadora nos próximos deploys.
  • Se tens 5 min de downtime, tens 38 min de budget para riscos - podes fazer mudanças mais agressivas, testes A/B, experiências.
  • Error budget resolve o conflito entre velocidade de inovação (dev team) e estabilidade (ops team). Ambos seguem o mesmo número.

Exemplo prático: API e-commerce

SLI: % de pedidos HTTP a POST /api/checkout que terminaram em 2xx, medidos em buckets de 1 minuto nos últimos 30 dias.

SLO: ≥ 99,9 % de pedidos bem sucedidos em janela rolling 30-day.

SLA (para clientes Enterprise):

  • ≥ 99,5 % uptime no mês calendário
  • A 99,0-99,5 % = 10% de credit da mensalidade
  • A 95,0-99,0 % = 25% credit
  • A < 95,0 % = 50% credit + direito de rescindir o contrato

Error budget: 99,9 % SLO significa 43 min de downtime / mês em budget. SLA dá ainda maior buffer antes da penalização económica.

Resumo: tabela

Termo O que é Para quem
SLI Métrica concreta de fiabilidade Equipa engineering
SLO Objetivo interno para SLI Engineering + product
SLA Compromisso contratual Cliente + legal
Error budget Downtime que podes permitir-te antes da violação do SLO Engineering risk management

Erros práticos

  • SLO demasiado ambicioso. 99,99 % exige active-active redundancy em múltiplas regiões. Irreal para pequena empresa.
  • Apenas uptime SLO. O web pode estar "up" e mesmo assim inutilizável. Adiciona latency SLO e error rate SLO.
  • SLA sem medição automática. Um relatório SLA calculado manualmente é pouco fiável. Investe em uptime tracking automatizado.
  • SLO sem consequências. Se a violação do SLO não interessa a ninguém, ninguém se preocupa com ele. Liga a deploy freeze, on-call escalation, etc.

Conclusão

O framework SLI/SLO/SLA não é burocracia de papel - é a linguagem com que a equipa de engineering comunica com business stakeholders sobre fiabilidade. Sem estes termos a discussão sobre estabilidade torna-se subjetiva ("o nosso web é instável"). Com eles é numérica ("nos últimos 30 dias atingimos 99,87 % SLI, que está abaixo do nosso 99,9 % SLO - aqui está o plano de ação").

Mede o SLI em tempo real

O ePulz.io fornece registo histórico de uptime com rollup de 30/90/365 dias. Base para reporting de SLO.

Iniciar monitorização →


Experimente o ePulz.io grátis - 7 dias sem cartão de crédito.

Criar conta