This is the first post in a series of postings inspired by a recent viewing of the Apple TV+ series See. The show depicts a dystopian future where the human race has lost the sense of sight, and society has had to find new ways to interact, build, hunt, and to survive. This is then challenged with the birth of a set of twins having sight.
In one scene, the twins gifted with vision are handed books, including one titled ABC. This situation is somewhat similar to the Observability movement. However, I don’t think we ever lost our vision as application performance monitoring solutions have, for a very long time, allowed us to peer deep into applications and runtimes with automated instrumentation and streamlined data collection of existing system metrics and logging. Observability today is more akin to being able to add notes to and highlight sections in books written and updated in realtime by application monitoring solutions. The problem with this is whether we can all be good storytellers and whether such notes add or distract from the core message that we are trying to communicate. What we should not forget is how useful and tuned our other senses are that don’t fall under the marketing defined banner of Observability.
In creating an alphabet of useful term definitions, I’ve had to make some choices where there are conflicts, in most cases, I have favored the more general and higher-level choice. For example, for the letter M, I opted for Memory over Metric as this is the more fundamental term that pertains to all instruments, measurements, and models.
Attention is a scarce cognitive resource and needs to be monitored and managed like a service. Prioritize attention over data as much as attention itself prioritizes signals over noise. You can’t focus on everything. Intelligence is active adaptive attention followed by right action. Intelligence is not data nor is it doing, it’s knowing what to (dis)regard.
Without boundaries, it is near impossible to recognize objects (or events) within our perception. Boundaries are how the structure of a complex system is derived or defined, and then tracked. Without boundaries, there can be no discernible structure and in turn hierarchies (or nested enclosures and scopes). Boundaries don’t just describe what constitutes an object of some permanence; they also demarcate events that in themselves can be composed.
The system of services we are building and running today are increasingly considered as Complex Systems. Such systems are composed of a large number of simple parts with a significant amount of interconnections and interactions between parts and at different space and time scales. The uncertainty that comes with complex systems challenges our ability to understand at any moment in time and, in turn, to control the course of events.
All too often, data and the debugging of such is given precedence over a more important aspect of systems to be managed – the dynamics. It is critical for understanding, planning, and prediction to observe and visualize how various system behaviors, states, and characteristics change over time and by way of varying environmental forces. Instruments measure at particular points in time and in the course flow, but when we watch and observe, it must be about the motion within a changing state space. Change over content. Cause over counting. Context over code.
Alternatives: Diagnostics, Data, Distributed, Dependency, DevOps, Debug, Dump, Developer