Chapter 11. Observability

Data is not information, information is not knowledge, knowledge is not understanding, understanding is not wisdom.1

Clifford Stoll, High-Tech Heretic: Reflections of a Computer Contrarian

“Cloud native” is still a pretty new concept, even for computing. As far as I can tell, the term “cloud native” only started entering our vocabulary just after the founding of the Cloud Native Computing Foundation in the middle of 2015.2

As an industry, we’re largely still trying to figure out exactly what “cloud native” means, and with each of the major public cloud providers regularly launching new services—each seeming to offer more abstraction than the last—even what little agreement we have is shifting over time.

One thing is clear, though: the functions (and failures) of the network and hardware layers are being increasingly abstracted and replaced with API calls and events. Every day we move closer to a world of software-defined everything. All of our problems are becoming software problems.

While we certainly sacrifice a fair share of control over the platforms our software runs on, we win big in overall manageability and reliability,3 allowing us to focus our limited time and attention on our software. However, this also means that most of our failures now originate from within our own services and the interactions between them. No amount of fancy frameworks or protocols can solve the problem of bad software. As I said way back in Chapter 1, a kludgy application ...

Get Cloud Native Go now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.