Observability
Problem
A distributed system fails in a way you didn't predict.
You cannot add a new debug statement after the past failure happened.
The system must expose enough information for you to investigate unknown problems.
Solution — Observability
Design systems to expose useful internal behaviour through telemetry such as:
logs
metrics
traces
profiles
Core idea: observability is the ability to understand internal system behaviour from the information it exposes.