Engenharia de confiabilidade
1) O que é o SRE e o que é necessário
Engenharia de Confiabilidade (SRE) é uma disciplina na junção de desenvolvimento e operação que transforma a confiabilidade em um atributo de alimentos medível. O SRE conecta métricas de experiência do usuário (SLI), metas de qualidade (SLO), orçamentos de erro, automação e alterações controláveis para fornecer valor mais rapidamente sem perda de estabilidade.
Objetivos essenciais: UX previsível, lançamentos rápidos, intervalos mínimos e custos de propriedade controlados.
2) Princípios da SRE
Confiabilidade como um fichinho. Prioridade para os limites definidos pelo SLO e objetivos empresariais.
O orçamento de erros controla a velocidade das alterações. Se o orçamento for queimado, o foco é estabilidade.
Automação> operações manuais. Qualquer tarefa repetida é um script/operador/pipeline.
Dimensibilidade. Só o que foi medido (SLI/SLO) pode ser melhorado.
Just Culture. Pós-mortem sem acusações, foco em causas sistêmicas.
Shift-left. Qualidade, segurança, testes e observação fazem parte do ciclo de desenvolvimento.
3) Organização e papéis
O comando SRE da plataforma é ferramentas compartilhadas, políticas, pipas, GitOps, diretórios de serviços.
SRE incorporados (embedded): funcionam junto à equipe de alimentos, com metas de SLO compartilhadas.
Serviços (on-call): rotações, limites de carga, compensação, treinos.
RACI: proprietário do serviço, dono do SLO, IC em incidentes, Comms Lead, Scribe.
4) SLI/SLO e orçamento de erros (ligação com o produto)
SLI: disponibilidade, latência, sucesso de negócios, relevância de dados.
SLO: alvos para janelas de 28 a 30 dias + exceções.
Error Budget = 1 − SLO. Políticos: lançamentos, experiências, canários e fici são regulados pelo burn-rate real.
Design por cômodos: regiões, provedores, segmentos VIP - SLO individual para não perder a anomalia.
5) Observabilidade padrão
Métricas: Sucesso/Erro, Perfeccionaram p50/p95/p99, saturação (CPU/mem/IO/conn).
Logs: estruturados, com correlação de solicitações/lançamentos/bandeiras.
Tracing: mapa de retardo e erro, hot-paths.
Sintética + RUM: amostras externas e telemetria real do cliente.
Dashboard SLO, orçamento burn-down, anotações de lançamento, canário, provedores.
6) Gerenciamento de alterações e lançamento
Pipeline CI/CD: Montagens determinadas, assinatura de artefatos, scans de segurança, testes de contratos.
Estratégias progressivas: canary/blue-green/shadow; bandeiras com ciclo de vida.
Gate's de qualidade: policy-as-código, SLO-guardrails, auto-reversão em degradação.
GitOps: configurações/políticas como código, promoção às quartas-feiras, auditoria.
7) Incidentes e pós-mortem
Declaração sobre os níveis SEC/P, IC designado imediatamente, lançamento-freeze com o SEC-1 +.
Burn-rate alerts: janelas curtas e longas, quórum por região e tipo de amostra.
Playbooks: retrocessos, degradações, feedback de provedores, limites/retais.
RCA e CAPA: factualidade, causalidade, ação mensurável, pontos de controle (D + 14/D + 30).
Catálogo de conhecimento: reutilizamos modelos e lições.
8) Testes de confiabilidade
Testes contratuais e clientes-driven controls para microsséries.
Perfis de carga de pattern real, teste de p99/pausa GC/cauda de fila.
Haos/Resilience-mala: desligamentos de dependências, rede, atrasos; game-days e ensinamentos de DR..
Migração de base de dados: expand→migrate→contract, reversibilidade, testes de compatibilidade de duas versões.
9) Gerenciamento de capacidade e custo (FinOps)
Capacity Units e headroom em caminhos críticos.
HPA/VPA/KEDA por métricas personalizadas e lajes de fila.
Provedores multi: quotas, rotação SLO/laticínios, failover automático.
Unit-economics: $/1k solicitações, $/transação bem sucedida; otimização de cabos, logs, egress.
10) Segurança como parte da confiabilidade
SAST/DAST/SCA, pesquisa de segredos, SBOM, assinatura de imagens.
mTLS e políticas de acesso (OPA/ABAC); privilégios mínimos.
Rotação de chaves/certificados, controle de prazos, cenários de teste de vencimento.
Incidentes de segurança - playbooks individuais, forense, notificações dos reguladores.
11) Cultura e processos
Revisões SLO: semanalmente/mensalmente, priorizar dívidas sobre «púrpuras».
Treinamentos on-call, ensaios de incidentes, chaos-days.
Os padrões são cheques de pré-lançamento, comunicações SLA, formato pós-mortem.
Indicadores de fadiga de alertas - ruído ≤ limite de destino, sintonização regular.
12) Métricas de maturidade de função SRE
Métricas DORA: taxa de depload, lead time, MTTR, mudança-failure-rate.
Execução SLO: proporção de serviços na área verde, tendência burn-rate.
Alert-higiene,% de acção de pagas, mediana de alertas/turno, proporção de falsos.
RCA/CAPA: Cumprimento dentro do prazo, proporção de causas do sistema (não pessoais), reopen-rate.
Valor: $/SLO-item, $/1k consultas, eficiência do skate automático.
13) Folha de cheque «Serviço pronto»
- Definidos SLI/SLO, dono do SLO e janela de observação.
- Dashboards e burn-rate alerts configurados, há sintéticos externos.
- Pipeline: assinaturas/scans, testes de contrato/integração, canário/bandeiras, auto-rollback.
- As migrações de banco de dados são reversíveis, os perfis de carga cobrem picos.
- Playbooks de incidentes e contatos de provedores; Página de status.
- O Capacity headroom está confirmado; HPA/KEDA e quotas de provedores foram verificados.
- Configs e políticas - em Git, promoção às quartas-feiras, auditoria incluída.
- Segurança: segredos fora do código, mTLS/rotação, prazos TLS sob controle.
14) Anti-pattern
«99. 999% ou nada" são alvos inalcançáveis → burn-rate vermelho eterno.
Lançamentos sem canarinhos e bandeiras de fique → grandes explosões.
Um ponto de monitoramento → alarme falso e omissões.
Mudanças manuais de configs em venda → à deriva e inaudibilidade.
Pós-mortemas sem CAPA → incidentes recorrentes.
A SRE é um «bombeiro» sem o direito de mudar a arquitetura → a dívida não fecha.
15) Mapa de trânsito de implementação da SRE (exemplo de 3 a 6 meses)
1. Mês 1: inventário de serviços e caminhos críticos; rascunhos SLI/SLO; dashboards básicos e burn-rate alerts; Início on-call.
2. Mês 2: Canários/bandeiras de fich, auto-reversíveis; GitOps de configs; catálogo de playbooks incidentes; Página de status.
3. Mês 3: testes contratuais, perfis de carga, migração de banco de dados em esquema expand/contract; primeiro game-days.
4. Mês 4-6: rotas multi-provedor, doutor-exercício, otimização de custo, métricas de maturidade, KPI para equipes.
16) Resultado
O SRE é um sistema operacional de desenvolvimento: metas de qualidade transparente (SLO), taxa de mudança controlada (orçamento de erros), automação e disciplina de incidentes, teste de estabilidade e custo consciente. Com esta abordagem, os lançamentos tornam-se rotina e a confiabilidade é uma vantagem competitiva.