Observability is the technical term used to understand a system’s behavior using externally recognizable factors.
To measure the current status of a system "telemetry" it is common to use the data generated by that system, such as logs, metrics and traces.
The purpose of observability is to understand what occurs, in order to detect and solve problems and thus keep systems efficient and reliable. For this reason, a greater level of observability makes it easier to go from diagnosing a problem to finding its causes and defining a solution.
Observability aims at issues involving unknown aspects that arise in modern applications (dynamic apps with ever-changing scale and complexity that generate unknown problems and without supervision). This enables the ongoing and automatic understanding of problems as they arise, and even the possibility to solve them in a proactive manner before they have any effects on users
Other reasons why observability is important:
- It reduces time spent on solving problems.
- It implies the possibility of developing predictive capability to overcome repeated problems.
- It improves user satisfaction.
- It increases operational efficiency.
- A high-quality software may be developed.