Thinking About an API Observability Stack
I think we are moving into a new territory where we can begin to observe the real-time state of the systems that are increasingly making critical decisions in our lives.
Join the DZone community and get the full member experience.Join For Free
I am learning about observability from reading Stripe's post on Veneur, a high-performance and global aggregation for Datadog. While the math of it all is over my head, the definition makes a lot of sense and provides me with a nice Venn diagram overlap across several areas of my API research, including testing, monitoring, logging, analysis, and visualization.
Formally, a system is said to be observable if, for any possible sequence of state and control vectors, the current state can be determined in finite time using only the outputs (this definition is slanted towards the state space representation). Less formally, this means that from the system's outputs it is possible to determine the behavior of the entire system. If a system is not observable, this means the current values of some of its states cannot be determined through output sensors.
Stripe provides a great technical breakdown of the tools and services used to establish observability as part of their system operations, but I wanted to step back and think about observability through a business and political lens. The business imperative for observability might seem clear, as you want as much visibility and awareness into your API operations as you possibly can get so that you can provide a reliable level of service. I am thinking about the incentives for extending this observability beyond internal groups, to partners, developers, regulators, or the public to encourage transparent observability.
This moves into the area of API and algorithmic transparency that you hear me ranting about regularly and the benefits that APIs bring to the table when you apply in areas like policing and surveillance or other more regulated sectors of our society. When we take the assertions applied as part of API testing and monitoring practices, link them up to this observability stack definition, and open things up beyond just core technical groups, I think that we move into new territory where we can begin to observe the real-time state of the systems that are increasingly making critical decisions in our lives.
I saw the potential for observability and awareness in the API layer back in 2010 with the logging, analytics, and visualizations aspects of early API management solutions like 3Scale. In 2016, I'm thinking that these benefits are going well beyond just the business of APIs and can provide some of the critical transparency that we are going to need to understand the behavior of increasingly complex corporate, institutional, and governmental systems. In many cases, we will have to be able to understand from the outside in using existing "output sensors."
In the future, we should be able to define any system as observable or not when APIs are in play.
Published at DZone with permission of Kin Lane, DZone MVB. See the original article here.
Opinions expressed by DZone contributors are their own.