AULA 46 / 61 · ACESSO GRATUITO

Observabilidade e resposta a incidentes

Graciliano TolentinoEngenharia Caracol · Edição 2.0
Nesta aula
  1. Escolher perguntas que a operação precisa responder
  2. Sinais e roteiro preenchidos
  3. Responder com uma sequência verificável
  4. Decidir entre retorno e outro reparo
  5. Repetir uma solicitação com segurança
  6. Erros e condição de recuperação
  7. Exercício e solução

Escolher perguntas que a operação precisa responder

Observabilidade é a capacidade de compreender estados internos a partir de sinais do sistema. Logs registram eventos; métricas resumem medidas ao longo do tempo; rastros relacionam etapas de uma operação. Um sistema pequeno pode começar com sinais simples, desde que respondam a perguntas concretas. A Oficina Caracol precisa saber se o catálogo responde, se a operação simulada falha e se uma repetição cria efeito indevido. Coletar todo o conteúdo das solicitações acrescentaria exposição sem necessariamente melhorar essas respostas.

Incidente é uma ocorrência que exige resposta para conter impacto e recuperar o serviço segundo critérios definidos. A primeira decisão procura reduzir o dano com informações disponíveis. A análise posterior investiga condições e melhorias sem transformar a busca por causa numa caça a culpados. A incerteza precisa aparecer na comunicação: hipótese, evidência e decisão têm significados diferentes. Um rollback é uma possibilidade de contenção quando há relação com uma mudança reversível, não a resposta automática para qualquer falha.

Sinais e roteiro preenchidos

Sinal do casoDefinição didáticaAção prevista
Falha do catálogoRespostas 500 em GET /api/casos divididas pelo total de consultas na janelaInvestigar se o erro corresponde a dados inválidos, mudança de código ou outra condição
Conflito de reservaContagem de HTTP 409 em POST /api/reservasConferir reutilização da mesma chave para outro caso; não repetir cegamente
Saúde da reservaRepetir mesma chave e caso mantém reservaId durante a mesma sessãoSe houver efeito duplicado, conter a operação e preservar evidência mínima
Registro operacional mínimoHorário, rota, código HTTP e identificador artificial da tentativaCorrelacionar falhas sem guardar corpo completo ou dados pessoais

Responder com uma sequência verificável

  • Reconheça o sinal e abra um registro com horário, escopo afetado e pessoa responsável pela coordenação. Preserve evidência sem divulgar segredos.
  • Estime o impacto e comunique o conhecido, o desconhecido e o próximo ponto de atualização. Evite prometer prazo de recuperação sem base.
  • Compare hipóteses com os sinais disponíveis. Verifique mudanças recentes, condições dos dados e alcance da falha.
  • Escolha contenção adequada: suspender uma operação, corrigir a entrada, retornar versão ou outra medida proporcional. Verifique dependências e reversibilidade antes da ação.
  • Após a ação, teste os fluxos afetados e acompanhe os sinais durante a janela definida. Declare recuperação apenas com critérios atendidos.
  • Produza análise posterior com linha do tempo, fatores contribuintes, ações, responsáveis e verificação de eficácia. Converta defeitos pertinentes em testes e decisões.

Decidir entre retorno e outro reparo

No cenário fornecido, ocorreram oito respostas 500 em duzentas consultas, ou 4%. A regra local do exercício pede investigação acima de 2%; ela é um limiar de estudo, não um padrão universal. A investigação encontra um arquivo de catálogo inválido, alterado independentemente da última revisão de código. Voltar apenas o código pode manter a falha. É preciso reparar os dados a partir da fonte autorizada e verificar a resposta, preservando evidência do ocorrido.

Em outro cenário, a falha surge imediatamente após uma revisão e o teste comparativo identifica a alteração responsável. Se o retorno estiver ensaiado e os dados forem compatíveis, usar a revisão anterior pode ser a contenção escolhida. Os dois casos começam com o mesmo sinal e levam a decisões diferentes. O registro do incidente explica por que a ação foi adequada e qual observação demonstrou a recuperação. São cenários para análise, sem alegar execução de um incidente real.

Repetir uma solicitação com segurança

Uma resposta perdida não prova que a operação falhou antes de produzir efeito. Por isso, a nova tentativa da mesma reserva conserva a chave e o caso. A prática devolve o mesmo resultado lógico enquanto o registrador permanece em memória. Reutilizar a chave para outro caso gera conflito 409; essa resposta exige corrigir a intenção, não insistir. Estratégias de retry precisam respeitar limites e semântica da operação [S15, seção sobre repetição segura com identificador de solicitação]. Reiniciar o processo elimina a memória; a demonstração não promete idempotência persistente.

Erros e condição de recuperação

Um alerta sem pessoa ou ação definida vira ruído. Dê ao alerta uma pergunta, um responsável e um roteiro. Um log indiscriminado pode virar vazamento; revise campos e acesso. Culpar quem estava de plantão esconde condições de processo; registre fatores verificáveis e medidas acompanháveis. A recuperação exige fluxo novamente aceitável, sinais acompanhados e pendências classificadas. Encerrar a urgência não dispensa as ações de aprendizagem.

Exercício e solução

Dados: após uma resposta perdida, a interface tenta novamente a reserva do caso A. Recebe 409 porque enviou a chave anterior com o caso B. Uma pessoa sugere cinco novas tentativas imediatas. Decida e proponha um teste de proteção.

Ver solução comentada

Solução: interromper a repetição automática e corrigir a associação entre intenção, chave e caso. Para repetir a mesma intenção, conservar chave e A; uma intenção nova para B recebe nova chave. O teste verifica resultado lógico igual para chave/A repetidos e conflito para chave/B. A rubrica exige interpretar 409, distinguir perda de resposta de ausência de efeito e declarar o limite de memória da simulação.

Fontes relacionadas

Consulte os limites e as seções de apoio de cada referência.

S15 S19
Conseguiu explicar o que aprendeu?

Tente o exercício antes de consultar a solução. Marque a aula para organizar sua leitura.

A conclusão desta leitura não equivale a certificação ou aceite de um projeto real. Teste os exemplos no escopo indicado e registre as limitações.