Objetivo da Aula
Projetar uma esteira de CI que simule falhas reais de infraestrutura e valide se a aplicação trata erros corretamente com timeout, retry, fallback e circuit breaker.
Tópicos Principais
- Engenharia do caos aplicada ao CI: falhas planejadas como gate de qualidade.
- Cenários-alvo: timeout de banco, queda de servidor dependente, falha de conexão e latência anormal.
- Classificação de erros (transiente, persistente, negócio) e política adequada por tipo de falha.
- Resiliência em .NET: timeout, retry com jitter, fallback, bulkhead e circuit breaker (Polly).
- Testes automatizados de caos com ambiente efêmero (Testcontainers) e validação por SLO.
- Métricas para aprovação de deploy: erro, p95/p99, abertura de breaker, MTTR e backlog de operações.
Aplicação no Projeto 9
- Adicionar estágio de caos no CI com ao menos 2 testes obrigatórios: timeout e server down.
- Configurar políticas de resiliência no backend com circuit breaker para dependências críticas.
- Definir fallback explícito para consultas e operações não críticas em caso de falha.
- Registrar evidência de comportamento sob falha: logs, métricas e decisões de correção.
- Bloquear deploy quando os limites de SLO forem violados no pipeline.
Entrega esperada: pipeline CI com testes de caos ativos, política de tratamento de erros documentada e prova de funcionamento do circuit breaker.