$30 off During Our Annual Pro Sale. View Details »

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

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

(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

More Decks by Mônica Ribeiro

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