Communication & Control

Before dwelling into the concepts within the model, it would be useful first to frame the problem space that drives and underlies much of the thinking that has gone into the design of OpenSignals. The computing world is being modularized at an unprecedented level to allow components of systems to evolve and change at different rates. This modularity is seen in the growing adoption of microservices as well as enterprise computing resource managers in various forms and flavors. Communication between all these components is now decoupled in terms of space and, in some cases, time, bringing enormous complexity to the task of monitoring and managing systems.

Unfortunately, over the last few years, the observability open-source community has fought complexity with even more complexity in the way of distributed tracing and various attempts at standardizing instrumentation toolkits. Data and detail have up to now won over significance and sensibility. OpenSignals is an ambitious attempt to bring back much-needed sanity and simplicity to engineering and service operations, in not seeing the answer lies with even more noisy data collection.

At the core of OpenSignals are the concepts of communication and control – software services interacting with each other and responding to outcomes and environment changes. Much like the animal and human world, each service (or agent) emits behavioral signals and receives (observes) signals from other services. From the signals communicated by services, it is possible to infer a state (status) of operation over a configurable period. A signal or state is not just a unit of information, instead, it is a means to stimulate adaptative changes. In the computing world signals take various forms including execution, error codes, or exceptions.

In this new Observability world, each service is judging the other and inferring status depending on the service’s local context, which contains a map of stimulus to status as well as sensitivity and recollection settings used for inference purposes. There is no centralized or single source of truth in this world, but there can be a collective intelligence via the groupings of multiple contexts.