Lock in $30 Savings on PRO—Offer Ends Soon! ⏳

(DevFest Triângulo) Arquitetando para o inevitá...

Avatar for Mônica  Ribeiro Mônica Ribeiro
November 25, 2025
24

(DevFest Triângulo) Arquitetando para o inevitável: o erro

Palestra feita no evento DevFest Triângulo no dia 22 de Novembro de 2025.

Avatar for Mônica  Ribeiro

Mônica Ribeiro

November 25, 2025
Tweet

Transcript

  1. Agenda O que vai mudar o jogo e te apoiar

    quando acontecerem erros PILARES DEEP DIVE RESUMÃO Bora falar afundo sobre os pilares? Do reativo ao intencional O quanto você domina esses pilares? TERMÔMETRO
  2. Pilares que mudam o jogo Qualidade das decisões arquiteturais Qualidade

    das métricas e visibilidade Qualidade do código
  3. Qualidade do código Qualidade das métricas e visibilidade termômetro da

    resiliência Qualidade das decisões arquiteturais
  4. 📖 Código Limpo: Habilidades Práticas do Agile Software - Robert

    C. Martin “Uma diferença entre um programador inteligente e um programador profissional é que o profissional entende que a clareza é importante. Os profissionais usam seus poderes para o bem e escrevem códigos que outros possam entender. ”
  5. como identificar códigos problemáticos? variáveis com nomes sem significados métodos

    tão grandes que não cabem na tela mais de uma responsabilidade em métodos/classes. classes sem testes unitários MUITOS comentários para explicar o código muita dependência com agentes externos nome dos métodos não dizem o que ele faz.
  6. Crie funções pequenas "Regra 1: as funções devem ser pequenas!

    Regra 2: as funções devem ser menores do que isso!"
  7. VS

  8. 📖 Release It! — Michael Nygard "Grande parte das falhas

    que vemos em produção não são causadas por uma ausência de resiliência no código — mas por decisões arquiteturais frágeis tomadas muito antes do código existir."
  9. Limites bem modelados garantem que: HTTP clients chamadas para APIs

    externas consultas a banco integrações com mensageria não se espalhem por todo o sistema
  10. Padrões que isolam: timeouts coerentes com SLA fallback (melhor degradar

    do que travar) bulkheads: separar pools de threads circuit breakers filas para desacoplar fluxos
  11. modelagem clara de limites pra onde ir? dependências explícitas isolamento

    de falhas escolhas tecnológicas coerentes com o domínio
  12. metrificando CAMADA 1: MÉTRICAS DE COMPORTAMENTO O que o usuário/cliente

    percebe: Latência (p50, p95, p99) Throughput Erros (4xx, 5xx) Tempo de fila
  13. metrificando CAMADA 1: MÉTRICAS DE COMPORTAMENTO CAMADA 2: MÉTRICAS INTERNAS

    DE CÓDIGO Métricas dos padrões de resiliência Métricas de negócio: Volumes processados Falhas por steps SLA por operação O que o usuário/cliente percebe: Latência (p50, p95, p99) Throughput Erros (4xx, 5xx) Tempo de fila
  14. metrificando CAMADA 1: MÉTRICAS DE COMPORTAMENTO CAMADA 2: MÉTRICAS INTERNAS

    DE CÓDIGO Métricas dos padrões de resiliência Métricas de negócio: Volumes processados Falhas por steps SLA por operação O que o usuário/cliente percebe: Latência (p50, p95, p99) Throughput Erros (4xx, 5xx) Tempo de fila CAMADA 3: MÉTRICAS INFRAESTRUTURA CPU, memória, GC Connections in use Tempo de I/O socketRead Deadlocks Thread pool saturado