Testar grátis
5 min leitura Guide 821 of 877

Service Level Objectives (SLOs)

Confiabilidade é uma feature. GitScrum ajuda times a rastrear SLOs junto com trabalho de features, garantindo que investimentos em confiabilidade sejam visíveis e priorizados.

Fundamentos de SLO

SLI, SLO, SLA

TERMINOLOGIA DE SERVICE LEVEL:
┌─────────────────────────────────────────────────────────────┐
│                                                             │
│ SLI (Service Level Indicator):                             │
│ ──────────────────────────────                              │
│ A métrica sendo medida                                    │
│                                                             │
│ Exemplos:                                                   │
│ • Latência de request (p95)                               │
│ • Disponibilidade (requests bem-sucedidos / total)        │
│ • Taxa de erro                                             │
│ • Throughput                                               │
│                                                             │
│ ─────────────────────────────────────────────────────────── │
│                                                             │
│ SLO (Service Level Objective):                             │
│ ──────────────────────────────                              │
│ O valor alvo para o SLI                                   │
│                                                             │
│ Exemplos:                                                   │
│ • Latência p95 < 200ms                                    │
│ • Disponibilidade >= 99.9%                                │
│ • Taxa de erro < 0.1%                                     │
│                                                             │
│ ─────────────────────────────────────────────────────────── │
│                                                             │
│ SLA (Service Level Agreement):                             │
│ ──────────────────────────────                              │
│ Contrato com consequências                                │
│                                                             │
│ Exemplos:                                                   │
│ • "99.9% uptime ou cliente recebe crédito"               │
│ • Compromisso legal                                       │
│ • Geralmente mais flexível que SLO interno                │
│                                                             │
│ ─────────────────────────────────────────────────────────── │
│                                                             │
│ RELACIONAMENTO:                                             │
│                                                             │
│         SLI ──────→ SLO ──────→ SLA                       │
│      (medida)    (meta)    (contrato)                     │
│                                                             │
│  Exemplo:                                                   │
│  "Latência de request" → "p95 < 200ms" → "99% < 500ms"   │
│                                                             │
│  SLO é mais estrito que SLA (buffer interno)              │
│                                                             │
└─────────────────────────────────────────────────────────────┘

Definindo SLOs

Escolhendo Métricas

ESCOLHENDO SLIs:
┌─────────────────────────────────────────────────────────────┐
│                                                             │
│ SLIs CENTRADOS NO USUÁRIO:                                  │
│ ──────────────────────────                                  │
│ Escolha métricas que refletem experiência do usuário      │
│                                                             │
│ DISPONIBILIDADE:                                            │
│ "Usuários podem usar o serviço?"                          │
│ SLI: Requests bem-sucedidos / Total de requests           │
│ SLO: 99.9% (43.8 minutos downtime/mês permitidos)        │
│                                                             │
│ LATÊNCIA:                                                   │
│ "Quão rápido responde?"                                   │
│ SLI: Percentis de duração de request                      │
│ SLO: p50 < 100ms, p95 < 200ms, p99 < 500ms               │
│                                                             │
│ CORREÇÃO:                                                   │
│ "Retorna a resposta certa?"                               │
│ SLI: Respostas corretas / Total de respostas              │
│ SLO: 99.99% correto                                       │
│                                                             │
│ FRESHNESS:                                                  │
│ "Quão recentes são os dados?"                             │
│ SLI: Idade dos dados                                       │
│ SLO: Dados atualizados em 60 segundos                     │
│                                                             │
│ ─────────────────────────────────────────────────────────── │
│                                                             │
│ SLOs COMUNS:                                                │
│ ┌─────────────────────────────────────────────────────────┐│
│ │ SERVIÇO      SLI               SLO                     ││
│ │ ────────     ───               ───                     ││
│ │ API          Disponibilidade   99.9%                   ││
│ │ API          Latência (p95)    < 200ms                ││
│ │ Website      Page load (p95)   < 3s                   ││
│ │ Database     Query time (p95)  < 50ms                 ││
│ │ Checkout     Taxa de sucesso   99.5%                  ││
│ │ Search       Latência (p95)    < 500ms                ││
│ └─────────────────────────────────────────────────────────┘│
│                                                             │
│ NÃO MIRE EM 100%:                                           │
│ ─────────────────                                           │
│ 100% disponibilidade = Sem deploys, sem mudanças          │
│ Deixe espaço para error budget                            │
└─────────────────────────────────────────────────────────────┘

Error Budget

Conceito e Uso

ERROR BUDGET:
┌─────────────────────────────────────────────────────────────┐
│                                                             │
│ O QUE É:                                                    │
│ Error budget = 100% - SLO                                  │
│                                                             │
│ Se SLO = 99.9%, Error Budget = 0.1%                       │
│ Em 30 dias = 43.2 minutos de downtime permitidos          │
│                                                             │
│ USO DO ERROR BUDGET:                                        │
│ ┌─────────────────────────────────────────────────────────┐│
│ │     Error Budget (43.2 min/mês)                        ││
│ │  ┌──────────────────────────────────────────────────┐ ││
│ │  │ Deploys │ Experimentos │ Incidentes │ Restante  │ ││
│ │  │  15min  │    10min     │    8min    │   10min   │ ││
│ │  └──────────────────────────────────────────────────┘ ││
│ └─────────────────────────────────────────────────────────┘│
│                                                             │
│ QUANDO BUDGET ACABA:                                        │
│ ├── Congela deploys não-críticos                          │
│ ├── Foca em trabalho de confiabilidade                    │
│ ├── Investiga causa raiz                                  │
│ └── Recupera budget antes de novas features               │
│                                                             │
└─────────────────────────────────────────────────────────────┘

Melhores Práticas

Para SLOs

  1. Centrado no usuário — Métricas que importam
  2. Não 100% — Deixe error budget
  3. Menos é mais — 3-5 SLOs por serviço
  4. Revise — Ajuste baseado em realidade
  5. Ação — SLO guia decisões

Anti-Padrões

ERROS DE SLO:
✗ Mirar em 100%
✗ Muitos SLOs
✗ SLOs que não refletem usuário
✗ Não usar error budget
✗ Não agir quando SLO violado
✗ SLO = SLA (sem buffer)
✗ Não revisar periodicamente
✗ Métricas técnicas vs. usuário

Soluções Relacionadas