
Game day: resposta coordenada e ações de postmortem verificáveis
Objetivos desta aula
- Executar um exercício de incidente com limites claros
- Separar comando, investigação e comunicação
- Escolher mitigação reversível com critério de sucesso
- Registrar uma linha do tempo com evidências
- Transformar aprendizados em ações testáveis
Em vez de repetir o conceito de postmortem, vamos ensaiar o ciclo completo. Um game day é uma simulação planejada para testar pessoas, processos e ferramentas. Use o CloudShop de laboratório; defina previamente cenário, duração, responsáveis e condição de parada em docs/game-day.md.
Comece estabelecendo limites de segurança: ambiente isolado, dados sintéticos, autorização e um observador com poder de abortar. Uma simulação que toca produção por engano já é um incidente real. Confirme o contexto com kubectl config current-context antes de qualquer operação.
Ao detectar a degradação, nomeie um coordenador do incidente. Ele mantém prioridades e evita intervenções conflitantes; outra pessoa investiga e outra comunica. Em uma equipe pequena, uma pessoa pode acumular papéis, mas precisa anunciar essa limitação e registrar decisões no canal inc-cloudshop.
Escreva a primeira atualização com impacto, horário e próximo retorno, mesmo sem causa conhecida. Diga o que foi observado e o que ainda é hipótese: “checkout apresenta erros desde 14:02 UTC; próxima atualização às 14:12”. Não prometa uma restauração em 5m sem evidência.
A mitigação vem antes da explicação definitiva. Se o início coincide com um deploy, compare a revisão atual e a anterior e avalie rollback; uma migração incompatível pode impedir essa opção. Registre alternativa, risco, autorização e sinal que comprovará melhora antes de executar a mudança.
O exemplo usa uma revisão explícita para reduzir ambiguidades, mas só deve ser executado após a avaliação de compatibilidade. rollout status informa progresso do Deployment, não a recuperação da experiência. Confira também a jornada sintética de compra, a taxa de erros e o tempo de resposta.
Após estabilizar, preserve a linha do tempo factual: detecção, decisões, mudanças e recuperação, com horários em UTC. No postmortem, diferencie gatilho de condições contribuintes. “Deploy iniciou a falha” não explica por que testes, revisão e mecanismos de recuperação não a impediram.
Termine com ações verificáveis, não promessas vagas. Troque “melhorar testes” por “adicionar teste de exaustão do pool que falha na versão defeituosa”, com responsável, prazo e evidência. Agende novo exercício para comprovar a mudança e só encerre o item quando o critério de aceite estiver cumprido.
Na prática
Inspeção e mitigação em laboratório autorizado
bash
# Leia o contexto e confirme manualmente que é o laboratório autorizado.
kubectl config current-context
kubectl -n cloudshop-lab rollout history deployment/cloudshop-api
kubectl -n cloudshop-lab get deployment cloudshop-api -o wide
# Somente após validar compatibilidade e autorizar a revisão 3 deste laboratório.
kubectl -n cloudshop-lab rollout undo deployment/cloudshop-api --to-revision=3
kubectl -n cloudshop-lab rollout status deployment/cloudshop-api --timeout=120s
# Depois, valide checkout sintético e métricas; rollout saudável não basta.Registro de decisão e ação com aceite
yaml
# Exemplo didático: substitua horários e evidências pelos dados do exercício.
incidente: GD-001
ambiente: cloudshop-lab
decisao:
horario_utc: "2026-09-14T14:08:00Z"
hipotese: "Nova versão não devolve conexões ao pool"
mitigacao: "Retornar à revisão 3 compatível com o esquema atual"
sucesso: "Checkout sintético funciona e erros retornam à linha de base por 10 minutos"
acao:
responsavel: "Equipe da API"
prazo: "2026-09-21"
aceite: "Teste de carga falha na versão defeituosa e passa na corrigida"
evidencia: "Anexar execução do CI ao ticket antes de encerrá-lo"Por que isso importa
Uma equipe que ensaia decisões e comunicação reduz improviso e consegue comprovar se aprendeu com falhas.
Erro comum
Encerrar o incidente quando os pods ficam Ready, sem confirmar a jornada do usuário.
Dica de produção
Mantenha o runbook acessível mesmo se o cluster ou o provedor principal estiver indisponível.
Alerta de segurança
Não faça injeção de falhas fora do escopo autorizado; sanitize evidências e envolva resposta de segurança se houver suspeita de comprometimento.
Pergunta de entrevista
Como decidir entre rollback e investigação adicional, e que evidência permite declarar recuperação?
Glossário
- Game day
- Exercício controlado para testar resposta e resiliência.
- Mitigação
- Ação para reduzir impacto antes da correção definitiva.
- Coordenador do incidente
- Pessoa que organiza prioridades e decisões durante a resposta.
- Gatilho
- Evento que inicia a manifestação de uma falha.
- Critério de aceite
- Condição objetiva necessária para considerar uma ação concluída.
Conexão com o CloudShop
Executar um game day no CloudShop de laboratório e entregar linha do tempo, comunicação e postmortem com ações testáveis.
Quiz da aula
1. Qual evidência basta para declarar recuperação?
2. Qual ação de postmortem é verificável?
3. Quando executar rollback?
Minhas anotações
Salvo automaticamente neste navegador.
