Observability: “How well internal states of a system can be inferred from knowledge of its external outputs.”
Links
- GopherCon EU 2018: Charity Majors - Observability-Driven Development
- Observability is being able to answer new questions without shipping new code.
- Testing/monitoring can only deal with known issues. Observability allows asking new questions -- any question, arbitrary questions -- without shipping new code.
- “Observability: Can you understand what's happening inside your code and systems, simply by asking questions using your tools? Can you answer any new question you think of, or only the ones you prepared for? Having to ship new code every time you want to ask a new question... SUCKS.”
- Testing in production: “The more that we try to resist it, the more we take our precious scarce engineering cycles, and instead of investing them into making our testing in production resilient and robust and not scary, we tend to pour it all into this very fragile idea that we can stave off all problems by running everything on staging first.”