In my previous post, Observability Normalized, I talked about the importance of a local observer, an agent or library, being able to discern contextual boundaries and inturn normal forms (objects of interest) permanent over some particular time interval. A useful way of relating observability instrumentation to such object identification is to think of this and other functions in terms of multi-layered perspectives. There are many perspectives one could take in considering the observability and monitoring of software services and systems of services, but here below are a few many would probably include. The determination of object form falls under the objective perspective.
Starting from the bottom and working upwards, the substantive perspective focuses on the physical hardware and machine location aspects of observability sources of data. I opted not to use the label infrastructure here as most organizations consider such labeling from a control (and ownership) point of view. The next layer up is labeled perceptive – here is where much of observability community effort is spent in collecting metrics, traces, and logs.
With the objective layer, the observability space is left behind with a shift from dumb data to smart semantics, including the discovery, identification, introspection, and tracking of object form (shape), change (motion), and state (substance). The objective perspective is formed mainly from sensory data and by the situation of an observer within an environment. The objects identified here are generally considered external to the local observer, including the global observer – an observability and monitoring solution. The subjective layer, on the other hand, groups, organizes, classifies, ranks, and sorts the objects in the objective layer as well as constructing and composing new objects that are internal to the local or global observers. Here is where organizations will find the beginnings of systemic learning and operational effectiveness after having removed low-hanging fruit.
One excellent example of a subjective object type would be an application. The concept of an application is nowhere to be found in observability instrumentation libraries. In fact, an application can exist before there is even the first payload of sensory data collected because an application is a thing that is subjective – particular to the organizational observer. An application is a powerful abstraction for grouping and bounding multiple objects (services and resources) identified in the objective layer – the application remains constant whereas service and resources can come and go. An application is key to reducing cognitive overhead in complex environments.
Finally, the collective layer is where organizational cognition, control, communication, collaboration, and coordination come into focus across both man and machine boundaries – a cybernetic systems perspective.