GH GambleHub

SLA, SLO e KPI confiabilidade

1) Termos e diferenças

O SLI (Service Level Indicator) é um indicador de qualidade medido (por exemplo, proporção de pedidos bem-sucedidos, p95 latência).
SLO (Service Level Objectiva) - Destino SLI por janela de tempo (por exemplo, "sucesso ≥ 99. 9% em 28 dias").
Erro de orçamento - taxa de não cumprimento do SLO: '1 - SLO'.
SLA - obrigações contratuais com multas/empréstimos (externos).
KPI de confiabilidade - métricas operacionais de processo (MTTD/MTTA/MTTR/MTBF,% de mitigates automáticos, revestimento de alertas etc.).

💡 Regra: SLA ≤ SLO; o contrato externo não deve ser mais rigoroso do que o objetivo interno do serviço.

2) Como escolher o SLI (baseado em Golden Signals)

1. Latency - p95/p99 para endpoints-chave.
2. Traffic - RPS/RPM/fluxo de mensagens.
3. Errors - 5xx/erros de negócios (por exemplo, pagamentos «decline por culpa PSP» excluir).
4. Saturation - Saturação de recursos (CPU/RAM/IO/lag).

Critérios de um bom SLI:
  • Correlaciona com a experiência do usuário (user-perceived).
  • Está tecnicamente disponível e estável na medida.
  • Controlando (pode haver melhorias).
  • Baixo custo de recolha.

3) Fórmulas e exemplos

3. 1 Disponibilidade (availability)


Availability = Успешные запросы / Все запросы
Error Budget (за период) = 1 − SLO

Exemplo: SLO 99. 9% para 30 dias → orçamento de erros = 0. 1%, o equivalente a 43 min 12 segundos de indisponibilidade.

3. 2 Latitude

O SLO por latência é formulado como uma proporção de pedidos que se encaixam no limiar:

Latency SLI = доля запросов с duration ≤ T
SLO пример: 99% запросов ≤ 300 мс (rolling 28d)

3. 3 Pagamentos (nível de negócios)


Payment Success SLI = (успешные проводки — внешние отказы PSP) / все попытки
💡 Excluir «decline no cartão do cliente» das falhas do serviço; Só incluímos a culpa da plataforma.

4) Orçamento errado e burn-rate

Erro de orçamento - seu «tanque de combustível» para inovação (lançamentos, experiências).

Burn-rate - velocidade de consumo do orçamento:
  • canal rápido (detecção por £1 h),
  • canal lento (tendência por £6-12 h/24 h).
Ideias liminares:
  • Se o burn-rate> 14. 4 em 1 hora - SEC-1 (comemos o orçamento diurno por £100 min).
  • Se o burn-rate> 6 em 6 horas é o V-2 (degradação rápida).

5) Alerting por SLO (multi-window, multi-burn)

Indicador de erro: 5xx ou distúrbios de latência.

Exemplos de PromQL (resumidos):
promql
Доля ошибок за 5 минут sum(rate(http_requests_total{status=~"5.."}[5m]))
/
sum(rate(http_requests_total[5m]))

Быстрый burn (1m окно)
(
sum(rate(http_requests_total{status=~"5.."}[1m])) /
sum(rate(http_requests_total[1m]))
) / (1 - SLO) > 14.4

Медленный burn (30m окно)
(
sum(rate(http_requests_total{status=~"5.."}[30m])) /
sum(rate(http_requests_total[30m]))
) / (1 - SLO) > 2
Use histogramas de porcentagem para SLO sobre latência:
promql p95 latency histogram_quantile(0.95, sum by (le) (rate(http_request_duration_seconds_bucket[5m])))

6) Exemplos de SLI/SLO sobre domínios

6. 1 passarela API/Edge

SLI-Errors: proporção de respostas 5xx <0. 1% (28d).
SLI-Latency: p95 ≤ 250 ms (dia).
SLO: Availability ≥ 99. 95% (quarteirão).

6. 2 Pagamentos

O SLI-Sucess: Um recuo de sucesso (excluindo as falhas de clientes) ≥ 99. 8% (28d).
SLI-Latency: autorização ≤ 2 segundos para 99% (dia).
SLO: Time-to-Wallet p95 ≤ 3 мин (24h).

6. 3 Bancos de dados (PostgreSQL)

SLI-Lag: liga de replicação p95 ≤ 1 segundo (dia).
SLI-Errors: taxa de erro de solicitação ≤ 0. 05% (28d).
SLO: disponibilidade do cluster ≥ 99. 95%.

6. 4 Filas/Streaming (Kafka)

SLI-Lag: classe de consumo p95 ≤ N mensagens (hora).
SLI-Durability: confirmação de registro ≥ 99. 99% (28d).
SLO: disponibilidade de corretores ≥ 99. 9%.


7) KPI processo de confiabilidade

MTTD (Mean Time To Detect)

MTTA (… To Acknowledge)

MTTR (… To Restore)

MTBF (… Between Failures)

% dos incidentes de mitigação automática

Revestimento SLO/alertas de alta circulação (≥ de destino de 95%)

Proporção de lançamentos em fase canária

Consumo de orçamento errado por comandos/fichas


8) Como colocar SLO realista

1. Mede a confiabilidade básica atual (3-4 semanas).
2. Defina os caminhos «sensíveis» do usuário (login, depósito, jogo).
3. Leve em conta o custo de cada desvantagem (tempo, dinheiro, reputação).
4. Escolha uma meta ambiciosa, mas alcançável (uma melhora de 10% a 30% para a meta básica).
5. Reveja trimestralmente.

Anti-pattern:
  • «Cinco donzelas» sem justificativa.
  • SLO por métricas não visíveis para o usuário (por exemplo, CPU sem vínculo com UX).
  • Há muito SLO → pulverizar o foco.

9) Relatórios SLO e orçamentos

Relatório padrão (semanal/mensal):
  • Execução de cada SLO: alvo vs, tendências, confidence.
  • Resumo do consumo de erros: quanto orçamento «queimado» do que, quem (lançamento/incidente).
  • Top cinco causas de degradação, plano CAPA e status de tarefas.
  • Impacto no negócio de conversão, ND, retenção, LTV.

10) Conexão com política de lançamento

Orçamento de erro <50% → lançamentos livres.
50-80% → «modo cauteloso» - apenas low-risk/canários.

💡 80% → congelamento de lançamentos, foco de estabilização e dívida.

11) SLA (contratual) - modelos de itens

Obrigação de disponibilidade, por exemplo, 99. 9 %/mês.
Exceções (Force Majeure): DDoS fora de controle razoável, provedores de terceiros.
Janela de medição e área de responsabilidade: fontes de métricas, método de cálculo.
Créditos/multas: tabela de níveis (por exemplo, indisponibilidade de 60-120 min → crédito X%).
Procedimentos de escalação e notificação: prazos, canais.
Dados e privacidade, camuflagem, armazenamento, Legal Hold.
Plano de trabalho para evitar repetições (CAPA) em caso de violação.

💡 O SLA externo deve referir-se a um SLI e metodologia de cálculo específicos, verificáveis.

12) Ferramentas de medição

Métricas passivas: Prometheus/Mimir/Thanos, exportadores.
Logi: Loki/ELK para contagem de sucesso/erro no nível de negócios.
Sintético: amostras ativas (login/depósito/jogo) por cron.
Traçado: Tempo/Jaeger para «estreitos» p99.
Pagamento/finanças: fontes de ground truth para SLI de pagamento.


13) Exemplos de solicitação (modelos)

Taxa de API de sucesso (excluindo 4xx como clientes):
promql
1 - (
sum(rate(http_requests_total{status=~"5.."}[5m]))
/ sum(rate(http_requests_total[5m]))
)
Cartão SLO:
yaml slo:
name: "API Availability"
window: "28d"
target: 0.999 sli: "1 - 5xx%"
owner: "Platform SRE"
alerting:
fast_burn: {window: "1h", factor: 14.4}
slow_burn: {window: "6h", factor: 6}
Sucesso de pagamento (por eventos de negócios em logs/striptease):

success_rate = (count_over_time({app="payments"}     = "status=success"[5m]))
/ (count_over_time({app="payments"}     ~ "status=(success    fail)"[5m]))
💡 Confira os filtros para excluir «decline por cliente».

14) FinOps e confiabilidade

Vale por 9: o custo de adicionar nove aumenta exponencialmente.
A curva de benefícios é ideal onde o aumento de receita/redução de perdas ≥ o custo de «9» adicionais.
Portfólio SLO: diferentes níveis para diferentes caminhos (pagamentos críticos «mais caros», relatórios «mais baratos»).


15) Qualidade SLO/alertas - folha de cheque

  • O SLI está correlacionado com o UX e as métricas de negócios.
  • A janela e a agregação estão alinhadas (rolling 28d/trimestre).
  • Alertas multi-window, sem flapping, com roda de rolo.
  • Documentação: proprietário, fórmula, fontes, runbook.
  • Painel demo SLO com orçamento errado e indicadores burn.
  • Revisão regular de metas (trimestral).
  • Testes de sintética em cenários essenciais.

16) Plano de implementação (4 iterações)

1. Semana 1: inventário de caminhos personalizados, rascunhos de SLI, dashboards básicos.
2. Semana 2: formalização do SLO, orçamento, alertas (fast/slow burn).
3. Semana 3: integração com o processo de incidentes/lançamentos, regras freeze.
4. Semana 4 +: SLA contratual, reviravolta trimestral, modelo finups «per 9».


17) Mini-FAQ

Você precisa ter um SLO para o serviço?
Melhor 2-3 chave (sucesso + latência) em vez de dezenas secundárias.

E se o orçamento estiver esgotado?
Congelamento de lançamentos, foco de estabilização e CAPA, remoção de fichas experimentais.

Como evitar o conflito entre velocidade de lançamento e confiabilidade?
Planeje lançamentos de orçamento, implemente canários e feições-flags.


Resultado

A confiabilidade não é controlada por um conjunto de métricas soltas, mas por um sistema: SLI → SLO → erro de orçamento → burn-alerting → processo de incidentes → CAPA → SLA. Normalize as definições, as fontes de dados e os relatórios, vincule os objetivos à experiência e economia do usuário e reveja regularmente o nível de «devaneio» de acordo com o ROY real.

Contact

Entrar em contacto

Contacte-nos para qualquer questão ou necessidade de apoio.Estamos sempre prontos para ajudar!

Iniciar integração

O Email é obrigatório. Telegram ou WhatsApp — opcionais.

O seu nome opcional
Email opcional
Assunto opcional
Mensagem opcional
Telegram opcional
@
Se indicar Telegram — responderemos também por lá.
WhatsApp opcional
Formato: +indicativo e número (ex.: +351XXXXXXXXX).

Ao clicar, concorda com o tratamento dos seus dados.