Monitoring and observability: they seem like simple concepts, but their definitions are hotly contested issues, especially when connotations about their purpose come into play. In short, both terms are “heavily loaded” – but the “loadedness” isn’t always the same.
However, we’ve found that one possible way to understand monitoring and observability is by comparing them to the medical field. Specifically diagnostics, a doctor’s ability to make diagnoses, and the doctor’s plan of action/recommendation for how to fix the situation and get back to normal.
But before we get to those conclusions, let’s talk about some background of monitoring and observability.
Basic Traits of Observability and Monitoring
While the definitions of monitoring and observability are still contested, Google Cloud’s DevOps Research and Assessment (DORA) definitions of both bring out key features and differences:
- Monitoring is “tooling or a technical solution that allows teams to watch and understand the state of their systems. Monitoring is based on gathering predefined sets of metrics or logs.”
- Observability is “tooling or a technical solution that allows teams to actively debug their system. Observability is based on exploring properties and patterns not defined in advance.”
As we can see, monitoring uses data to answer predefined questions with set parameters of health and “disease,” while observability uses data to answer unknown questions. Observability also has the connotation that one can use the data to resolve incidents.
With this knowledge of how people define both terms – along with the various (and sometimes confused/contested) ways they use the terms, let’s compare the terms to correlates in the medical field.
Monitoring and Medicine
According to DORA, monitoring has to do with set tests and observability has to do with solving issues with data. So in many ways monitoring is similar to medical diagnostics like blood tests, MRIs, blood pressure, or heart activity monitors. To summarize:
- Pre-defined diagnostic tests
- Predefined ranges of health and disease
- Aggregate, non-individualized ranges for “normal”
- Only able to assess established diseases
- Cannot expand beyond the test
On the other hand, observability needs to “debug” or “diagnose” and “treat” an issue using data. So in many ways, observability is like a capable doctor who 1.) has access to data from thorough, relevant diagnostic tests, 2.) is able to interpret those tests to make 3.) is able to make a diagnosis, and 4.) is able to “cure” the disease. To summarize:
- Uses specific tests
- Uses defined ranges but not dependent upon them
- Individualized situations, (there is no average “normal”?)
- Can identify new diseases
- Can treat new diseases
- Get relevant data from any part of the body
- Is educated/prepared for sickness
- Knows where to find and how to use all of the data
- Knows how to cure the illness
- Knows how to cure illnesses that aren’t predefined
Sometimes monitoring is enough to make a diagnosis: they have low vitamin D, the patient has high blood pressure.
However, a combination of test results and other symptoms are necessary for a doctor to diagnose a disease. Or at least ask the question, “why does the patient have the symptoms of low vitamin D or high blood pressure?” Let’s use an example of heart disease to explore the concept further.
A Heart Disease Example
Let’s say that a patient has high blood pressure and high cholesterol. Perhaps they’ve even had a heart attack in the past. For this use case,
- Monitoring would be the blood tests that indicate high cholesterol and the blood pressure tests that indicate high blood pressure. Further, it can be lifestyle or genetic assessments that show that the patient does not have a healthy diet nor exercise, and is genetically predisposed to such illness.
- Observability would the the doctor’s ability to access and administer all of those tests/assessments, identify the symptoms from monitoring (high BP, cholesterol, heart attack), identify the the root causes of the symptoms (diet, exercise, stress, genetics), and know how to remedy the issue (lifestyle choices, medication). In other words, using the data with the goal of identifying and resolving a disease/incident.
Both of these terms are heavily loaded. However, we can see that by understanding them within the context of medicine, their definitions and implications appear to be easier to understand.
Observability and monitoring are very important concepts, but their definitions and connotations can be contested. And creating exhaustive definitions can also be… exhaustive. Yet understanding the two concepts through the lens of medicine can help refine those lenses and improve collective understanding.
If we can consider monitoring in the context of medical diagnostic tests, and observability as the ability of a doctor to identify and cure a disease, it brings clarity to the nuance of each term. And hopefully, it can alleviate some of the confusion and even tension around their usage.
What do you think about these comparisons? We’d love to hear from you. And if you’d like information about how to have good observability for third-party cloud vendors, contact us!