Observability
In control theory, observability is a measure of how well internal states of a system can be inferred from knowledge of its external outputs.
Today, in software engineering, observability is a set of practices to understand what your systems are doing. There are three ways that are often referred too in observability. These are:
- logging
- metrics
- tracing
At QCon, several talks will discuss the practices of observability and running complex distributed systems. Below are a few to watch for.
Presentations
Java Flight Recorder as an Observability Tool
JDK Flight Recorder (JFR) is one of the best sources of telemetry and monitoring data for the JVM. However, it has not achieved particularly widespread usage - many Java engineers do not use it regularly and those that do frequently only use it via the Mission Control (JMC) GUI tool.In this talk,...
Profiles, the Missing Pillar: Continuous Profiling in Practice
With Continuous Profiling (CP) you capture resource usage (such as CPU, memory, I/O, etc.) over time, enabling you to pinpoint the (source) code that is slow or causes an issue. In recent times, CP has become mainstream and a number of open source projects such as Parca, Pyroscope, or CNCF...
An Observable Service with No Logs
After working with Honeycomb for a little while and starting to instrument our existing code with events, I’d become enamoured with the level of observability possible with that sort of telemetry. In particular, how easy it became to interactively and visually explore how my systems were...
Chaos Engineering Observability with Visual Metaphors
Observability is key in operating a system in production; it’s required during an incident, when an operator has to interrogate, inspect, and piece together what happened to avoid a similar event. In those scenarios, Chaos engineering and Observability are closely connected - providing...
Slack’s DNSSEC Rollout: Third Time’s the Outage
We all have to manage DNS. DNS changes are inherently high-blast-radius and high-visibility. We present a case study of what happened when a large SaaS company enabled DNSSEC. We did significant planning and testing beforehand. The rollout went smoothly for most of our domains, but one...
Could Observability-Driven Development Be the Next Leap?
Twenty years ago Kent Beck coined the term “test-driven development”: write tests first, develop the code later. Today, even if not practising true TDD, the idea of writing code without tests is an immediate warning sign to any developer. Yet, most teams still continue shipping code...
Interviews
Chaos Engineering Observability with Visual Metaphors
What is the focus of your work these days?
I am a Cloud Infrastructure Engineer at Google. Although I interact with partners, clients and sales teams, my work is very technical, my daily activities include implementing Infrastructure and AppDev solutions in GCP. Every day I am practicing and getting experience with DevOps, SRE, Application Development, Developer Operations,...
Read Full Interview