Skip to content
Latchkey

O Que É Observabilidade?

Observabilidade é o grau em que você consegue entender o estado interno de um sistema a partir dos dados que ele emite - o suficiente para responder perguntas que você não antecipou quando o construiu.

Emprestada da teoria de controle, observabilidade em software significa que você consegue fazer perguntas arbitrárias sobre o comportamento do seu sistema e obter respostas de sua telemetria, sem enviar código novo. É o que permite depurar problemas inéditos em produção em vez de apenas as falhas que você previu.

Uma propriedade, não uma ferramenta

Observabilidade é uma propriedade de um sistema, descrevendo quão bem suas saídas permitem inferir o que está acontecendo por dentro. Você a melhora instrumentando o código para emitir dados ricos e de alta cardinalidade, não meramente comprando um dashboard. Um sistema mal instrumentado permanece opaco, não importa o ferramental.

Os três tipos de telemetria

  • Logs: registros de eventos discretos com timestamp.
  • Métricas: medições numéricas agregadas ao longo do tempo.
  • Traces: o caminho de uma única request através dos serviços.

Known versus unknown unknowns

O monitoramento tende a responder perguntas que você sabia que devia fazer - thresholds e dashboards predefinidos. A observabilidade é sobre os unknown unknowns: modos de falha inéditos, nunca vistos antes. Com telemetria rica você pode fatiar e explorar seus dados para explicar comportamentos que nunca antecipou.

Alta cardinalidade importa

A observabilidade moderna enfatiza dados de alta cardinalidade e alta dimensionalidade - marcando eventos com detalhes como user ID, request ID, região ou versão de build. Essa granularidade permite isolar "as requests lentas são todas de um cliente em uma nova release", que métricas grosseiras achatariam na média.

Por que importa para a entrega

Boa observabilidade encurta o time to restore service: quando algo quebra, você consegue localizar e explicar rapidamente em vez de adivinhar. Ela também fecha o ciclo de feedback sobre os deploys, permitindo confirmar que uma nova release se comporta como esperado em produção.

Principais conclusões

  • Observabilidade é quão bem as saídas de um sistema permitem que você entenda seu estado interno.
  • Ela é construída sobre logs, métricas e traces, com ênfase em dados ricos e de alta cardinalidade.
  • Ela mira os unknown unknowns, indo além das perguntas predefinidas do monitoramento.

Guias relacionados