Observability in Perspective

This article was first published in 2019.

When considering the observability and monitoring of software services and systems of services, there are multiple perspectives to consider. Here’s a breakdown of these perspectives, organized in layers.

The substantive perspective begins by considering the physical hardware and machine location aspects. The layer above is called perceptive, where a significant amount of effort is dedicated to emitting signals.

With the objective layer, the observability space is left behind with a shift from data to smart semantics, including the discovery, identification, introspection, and tracking of object forms, flows, and functions.

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 observer, where an observer is a software agent.

The subjective layer is responsible for organizing and categorizing objects in the objective layer. It also creates new objects for observers. This layer is crucial for organizations to learn and operate efficiently.

An application is an example of a subjective object. Applications are different from services and resources because they aren’t typically included in observability instrumentation libraries. Unlike services and resources, applications don’t rely on data collection and can exist on their own. They’re a helpful way to organize and group multiple objects within an organization. While services and resources can change, applications remain constant, making them a useful tool for simplifying complex environments.

The collective layer is about cognition, control, and communication in organizations. It includes people and machines working together. It considers cybernetic systems.