This article was first published in 2019.
Bounded Contexts
Without boundaries, it is nearly 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. When boundaries are not perceived directly, they tend to manifest in models of a system. Application monitoring vendors know this all too well. In contrast, Observability vendors up to this point have been more concerned with collecting data and piping it towards a data sink of records devoid of context, such as boundaries. Observability has flattened the richness, in terms of structure, state, and signals, of the computing world into tables of records. The shapes and forms offered in charts are just renderings of quantities, not objects of interest and significance. Much noise is made of multidimensional analysis, yet recognition of contextual boundaries is mostly amiss.
Dashboard Proliferation
Reducing and compressing measurements is critical, which is much helped by representations extracted from the environment via hierarchical boundary determination. When this is not done automatically, what happens then is that the custom dashboard capabilities of the Observability solution need to be used to reconstruct some form of structure that mirrors the boundaries all but lost in the data fog. Naturally, this is extremely costly and inefficient for an organization. While it might be fun and creative for the first one or two dashboards, it does not scale and is extremely hard to sustain in practice outside of ad hoc use cases – this should be the exception, not the rule. Dashboards are not a realistic replacement for a model. Companies that go down this route will invariably need additional tooling to catalog and manage the proliferation of dashboards. Use wisely and sparingly.
Hierarchical Necessities
Hierarchies are everywhere in computing, especially modular systems. No discernible structure, hierarchies, or nested enclosures and scopes exist without boundaries. Hierarchies and the layers they can imply are necessary for meeting the complexity challenges. Irrespective of software distribution, there is always a spatially defined hierarchy. But boundaries don’t just describe what constitutes an object of some permanence; they also restrict events that can be composed or decomposed. While a simplistic data sink table-like view is helpful at the beginning of an Observability initiative, it is crucial to remember that effective perception and cognition of systems rely heavily on discerning structures and boundaries – spatially and temporally.