What Is Observability?
Observability is the degree to which you can understand a system's internal state from the data it emits -- enough to answer questions you did not anticipate when you built it.
Borrowed from control theory, observability in software means you can ask arbitrary questions about your system's behavior and get answers from its telemetry, without shipping new code. It is what lets you debug novel problems in production rather than just the failures you predicted.
A property, not a tool
Observability is a property of a system, describing how well its outputs let you infer what is happening inside. You improve it by instrumenting code to emit rich, high-cardinality data, not merely by buying a dashboard. A poorly instrumented system stays opaque no matter the tooling.
The three telemetry types
- Logs: timestamped records of discrete events.
- Metrics: numeric measurements aggregated over time.
- Traces: the path of a single request across services.
Known versus unknown unknowns
Monitoring tends to answer questions you knew to ask -- predefined thresholds and dashboards. Observability is about the unknown unknowns: novel, never-before-seen failure modes. With rich telemetry you can slice and explore your data to explain behavior you never anticipated.
High cardinality matters
Modern observability emphasizes high-cardinality, high-dimensionality data -- tagging events with details like user ID, request ID, region, or build version. That granularity lets you isolate "the slow requests are all from one customer on one new release", which coarse metrics would average away.
Why it matters for delivery
Good observability shortens time to restore service: when something breaks, you can quickly localize and explain it instead of guessing. It also closes the feedback loop on deployments, letting you confirm that a new release behaves as expected in production.
Key takeaways
- Observability is how well a system's outputs let you understand its internal state.
- It is built on logs, metrics, and traces, with an emphasis on rich, high-cardinality data.
- It targets unknown unknowns, going beyond the predefined questions of monitoring.