וְשַׂמְתִּי מִשְׁפָּט לְקָו וּצְדָקָה לְמִשְׁקָלֶת vesamti mishpat lekav utzedakah lemishkolet · farei do juízo a linha de medir e da justiça o prumo · Yeshayahu 28:17

Blog/Artigos · Operações

SLI: o prumo que diz se a parede está reta, medido do lado do usuário

Os quatro sinais de ouro, os métodos RED e USE e a boa métrica medida onde o cliente sente, com Prometheus e Datadog.

Por Juliano Vince de Campos · · 6 min de leitura · 4 seções · 4 figuras

מִשְׁקָלֶת VESAMTI · YESHAYAHU 28:17

Yeshayahu usa o prumo do pedreiro como imagem de justiça: o prumo não discute, ele mostra se a parede está reta ou torta, sem opinião. Confiabilidade precisa do mesmo prumo. Um serviço não é confiável porque o time acha que está bom; é confiável quando uma métrica honesta, medida do lado de quem usa, diz que está. O SLI, Service Level Indicator, é esse prumo: o número que reflete a experiência real do usuário, e não o conforto do dashboard interno.

Medir onde o cliente sente, não onde é fácil

O erro mais comum de monitoramento é medir o que é fácil de coletar, não o que importa. CPU a 90% não diz se o cliente está sofrendo; um checkout que responde em oito segundos diz. O SLI, definido no livro de SRE do Google, é a razão entre eventos bons e o total de eventos válidos, medida no ponto mais próximo possível da experiência do usuário: a latência que ele espera, o erro que ele recebe, a disponibilidade que ele percebe.

A distinção é entre métrica de causa e métrica de sintoma. Uso de disco é causa, útil para diagnóstico; taxa de erro na API é sintoma, o que o usuário sente. SLI é sempre sintoma, porque é a experiência que define confiabilidade. Medir do lado do servidor pode enganar: a requisição que o servidor considera bem-sucedida pode ter chegado tarde demais para o cliente, e é por isso que o melhor ponto de medição é o mais perto possível de quem usa.

Figura 1O que medir: causa contra sintoma, interno contra experiência
Reflete a experiência?
SLI de verdadelatência e erro medidos onde o cliente sente
Sintoma mal posicionadoerro medido no servidor, ignora o que chegou tarde
Métrica de diagnósticoCPU, disco, memória: útil para causa, não é SLI
Vaidade de dashboardnúmero interno que sobe e ninguém sente
Perto do usuário?
SLI mora no canto de cima à direita: sintoma, medido perto do usuário. Os outros quadrantes ajudam a diagnosticar, mas não definem confiabilidade.

Os quatro sinais de ouro

O livro de SRE do Google condensou décadas de operação em quatro sinais de ouro que cobrem quase qualquer serviço voltado ao usuário: latência (quanto tempo leva), tráfego (quanta demanda), erros (quanto falha) e saturação (quão cheio está o recurso). Se você só puder instrumentar quatro coisas, instrumente essas, porque juntas elas contam a história da saúde do serviço do ponto de vista de quem usa.

A latência tem uma sutileza que separa o operador maduro do iniciante: nunca use média. A média esconde a cauda, e é a cauda que dói. Meça percentis, p50, p95, p99, porque o p99 de um segundo significa que um a cada cem usuários espera mais que isso, e num serviço grande isso é muita gente sofrendo enquanto a média sorri. O sinal de erro também precisa distinguir erro do usuário de erro do sistema, senão você se alarma com o que não é seu problema.

Figura 2Os quatro sinais de ouro do Google SRE
  • 01Latênciatempo de resposta, sempre em percentil, nunca em média
  • 02Tráfegodemanda sobre o sistema: requisições por segundo, transações
  • 03Errostaxa de falha, separando erro do usuário do erro do sistema
  • 04Saturaçãoquão cheio está o recurso mais escasso; o gargalo iminente
Latência e erros são o que o usuário sente agora; tráfego e saturação antecipam o que vai doer. Quatro sinais que contam a história inteira.

RED e USE: dois métodos para não esquecer nada

Dois métodos práticos organizam a instrumentação. O RED, de Tom Wilkie na Weaveworks, é para serviços que atendem requisição: Rate (taxa de requisições), Errors (taxa de erros) e Duration (distribuição de latência). É o que você mede em cada microsserviço para saber se ele está servindo bem. Três números por serviço, e você tem o pulso da malha inteira.

O USE, de Brendan Gregg, é o complemento para recursos: Utilization (quanto do recurso está em uso), Saturation (quanto trabalho está na fila esperando) e Errors (falhas do recurso). RED olha o serviço do lado de quem pede; USE olha o recurso do lado de quem serve. Juntos, cobrem os dois ângulos: quando o RED de um serviço piora, o USE dos seus recursos costuma explicar por quê, e é assim que o SLI vira ponto de partida do diagnóstico, não só do alarme.

Figura 3RED e USE: dois métodos, dois ângulos
MétodoParaAs três medidasAutor
REDserviços que atendem requisiçãoRate, Errors, DurationTom Wilkie
USErecursos (CPU, disco, fila)Utilization, Saturation, ErrorsBrendan Gregg
Golden Signalsserviço voltado ao usuáriolatência, tráfego, erros, saturaçãoGoogle SRE
RED para o serviço, USE para o recurso, sinais de ouro para a experiência. Não competem: cada um cobre um lado, e o operador maduro usa os três.

O SLI é a fundação, não o fim

Definir bons SLIs é o trabalho de base que sustenta tudo que vem depois. Sem um SLI honesto, o SLO é um alvo sobre areia e o alerta grita pelo motivo errado. Ferramentas como Prometheus, com sua linguagem de consulta, e Datadog, com métricas e traces integrados, coletam e calculam o SLI, mas a escolha de qual medir e onde é decisão de engenharia, não de ferramenta. Instrumentar a coisa errada com a ferramenta certa continua medindo a coisa errada.

O padrão que eu aplico é começar pela jornada crítica do usuário, não pela topologia do sistema. Qual é a ação que, se falhar, o cliente reclama? O login, o pagamento, a busca. Para cada uma, defino o SLI do lado do usuário, meço o percentil que dói e só então penso em objetivo. Foi essa disciplina que, na CRDC, transformou monitoramento de infraestrutura com centenas de falsos positivos em nove SLOs com base em SLI que refletem o que o cliente de fato sente.

Figura 4Do sistema ao SLI que importa, começando pela jornada do usuário
  1. 01Jornada críticaa ação que, se falhar, o cliente reclama: login, pagamento
  2. 02Ponto de mediçãoo mais perto do usuário possível, não o mais fácil
  3. 03IASinal e percentillatência p99, taxa de erro; nunca média
  4. 04ColetaPrometheus, Datadog ou equivalente calculam o SLI
  5. 05Base para o SLOo indicador honesto sustenta o objetivo e o alerta

A cada nova jornada crítica, o ciclo recomeça. SLI não é projeto que acaba, é a fundação que se mantém.

Começar pela jornada do usuário, e não pela topologia, é o que garante que o SLI meça o que dói, não o que é fácil de coletar.

Para levar

O SLI é o prumo da confiabilidade: a métrica honesta, medida do lado do usuário, que diz se o serviço está reto ou torto sem opinião. Os quatro sinais de ouro dão o essencial, RED cobre o serviço, USE cobre o recurso, e a jornada crítica define o que medir. Prometheus e Datadog coletam; a engenharia decide o quê e onde. Sem SLI honesto, SLO é alvo sobre areia. A IA propõe o indicador, reduz o falso positivo e liga sintoma a causa, mas escolher o prumo certo continua sendo trabalho de quem opera.

Tags

  • #julianovincedecampos
  • #SLI
  • #SRE
  • #Observabilidade
  • #GoldenSignals
  • #Prometheus
  • #Datadog

Onde eu estudei, me certifiquei e trabalhei

  • University of Cambridge
  • PUC Minas
  • PUC-RS
  • PUC Goiás
  • Pontificia Universidad Católica del Perú
  • Amazon Web Services
  • Google
  • IBM
  • Oracle
  • COBIT 5 Foundation
  • ITIL v3 Foundation
  • Exemplar Global
  • Red Team Leaders
  • Infosec
  • Salesforce
  • Flowgrammers
  • ISO/IEC 27001
  • NIST Cybersecurity Framework
  • Compass UOL
  • Luby
  • Creditas
  • PicPay
  • PagoNxt, Santander
  • Mercado Pago
  • Itaú Unibanco
  • Foursys
  • Soluti Certificação Digital