If you run software in production then you should read the book Observability Engineering by Charity Majors, Liz Fong-Jones, and George Miranda.
It introduces (to me) the concept that observability is a ‘sociotechnical concept’. In other words, yes there are technical aspects to enhanced monitoring and visibility of how software is behaving, but without the team supporting it understanding the way that the software is built and deployed it won’t provide much value.
Here’s a nice quote by Cindy Sridharan from the introduction:
To treat the difference between monitoring and observability as a purely semantic one is a folly. Observability isn’t purely a technical concept that can be achieved by buying an “observability tool” (no matter what any vendor might say) or adopting the open standard du jour. To the contrary, observability is more a sociotechnical concept. Successfully implementing observability depends just as much, if not more, on having the appropriate cultural scaffolding to support the way software is developed, deployed, debugged, and maintained, as it does on having the right tool at one’s disposal.
Our systems have become more complex. We are moving from the ‘monolith’ to the ‘distributed system’ that lives across our clouds with potentially many ephemeral components and with many different data stores. Therefore having a layer which acts as our interface into ‘observability’ becomes even more important.