Chaos Engineering

O que é Chaos Engineering

Tutorial de desenho de experimento com hipótese, métricas e rollback.

Avançado 25 min 25 pontos Leitura 0%

Nesta aula você vai

  • Definir hipótese verificável de resiliência
  • Limitar blast radius do experimento
  • Planejar execução segura e auditável

O que é Chaos Engineering

Nesta aula você vai preparar experimentos de caos com método, segurança e critérios de sucesso claros.

Modelo prático H-M-R

  • Hipótese: comportamento esperado sob falha.
  • Métricas: sinais para provar/refutar hipótese.
  • Rollback: como voltar ao estado seguro rapidamente.

Exemplo real do módulo

Hipótese:

Se o container do payment-service cair por 60 segundos, o sistema deve manter criação de pedidos, acumular lag temporário e se recuperar sem perda de eventos.

Métricas:

  • http_requests_total{service="order-service",status="201"}
  • kafka_consumer_lag{consumer_group="payment-service"}
  • dlq_messages_total{topic="payment.dlq"}

Arquivos usados

  • infra/chaos/experiments/payment-container-kill.md
  • docs/runbooks/chaos.md
  • infra/monitoring/grafana/chaos-dashboard.json

Passo a passo de preparação

  1. Defina janela do experimento (ex.: 10 minutos).
  2. Escolha 1 falha por vez.
  3. Escreva comando de injeção e comando de rollback.
  4. Alinhe critérios de abortar teste.

Comandos-base

docker compose ps
docker compose logs -f payment-service
docker compose restart payment-service

Checklist de segurança

  • Ambiente de homologação/local, não produção.
  • Alertas e dashboards ativos antes de iniciar.
  • Responsável pela execução definido.
  • Comunicação prévia para o time.

Resumo

Você estruturou experimentos de caos de forma segura, com hipótese observável e rollback explícito, preparando a execução prática da próxima aula.