The CAP Theorem states that it is impossible for a distributed system to simultaneously have the characteristics of consistency, availability and partition tolerance. I was recently wondering if there were analogs of this type of thought in one of the areas that I’ve historically covered at Gartner, i.e., performance monitoring. In other words, what were the trade-offs in terms of performance monitoring technologies? What got me thinking about this was the notion that you sometimes find in the DevOps philosophy that seems to suggest “measure everything.” Given that the “object set” requiring oversight is potentially rapidly increasing due to cloud, etc., would this require a change in the conventional wisdom of how we currently monitor IT infrastructures? What I came up with was the following:
- Consumption (of resources)
- Accuracy (of data)
- Depth (of collection)
So, in a process like with the CAP Theorem, with “CAD” you could have:
- D+A : You can instrument deeply (D) and obtain great (A) accuracy (frequent sampling intervals) but you pay a resource consumption (C) penalty
- D+C: You can instrument deeply (D) and minimize consumption (C) but you give up (A) accuracy (due to larger sampling intervals) to achieve it
- A+C: You can have accuracy (A) and minimize consumption (C) but you will need to scale back the depth of variables (D) collected
I know that modern monitoring technology has increasingly incorporated the concept of performance impact “governors,” but I’m not sure that this invalidates the concept. Also, I’m not sure if latency needs to somehow be factored in (not only due to the larger monitoring object set, but also the physical impact of geographical separation ala the cloud). Finally, maybe the CAD concept won’t matter anyway with the performance capabilities found in modern servers and high bandwidth networks. I’m throwing this open to the broader community to see if there are any errors in my logic and/or opposing views. Many thanks.
Category: Uncategorized Tags:

Cameron Haight




































































































5 responses so far ↓
1 Rolf Frydenberg October 26, 2011 at 9:24 am
I often refer to the Heisenberg Uncertainty principle (http://en.wikipedia.org/wiki/Uncertainty_principle), but applied to measurement accuracy in IT system monitoring: The more closely you want to monitor something, the more you influence that which you are monitoring. This probably says about the same thing as you do, but it at least is another spin on it!
2 Cameron Haight October 26, 2011 at 12:18 pm
Thank you Rolf. I agree – a monitoring solution needs to make sure that it doesn’t create the equivalent of a “Heisenbug.”
3 Wanda October 27, 2011 at 10:42 am
Very interesting points. Thanks!
My site:
rachat credit lyon ou rachat de credit proprietaire
4 Mahesh Kumar November 4, 2011 at 8:28 pm
Great post.
This CAD concept is valid and informs an aspect of performance governors.
Based on the business needs of an application if we can identify whether C+A, C+D or A+D is the appropriate approach then we’d have made some progress. Add a monitoring system that can flexibly apply the right scenario to the right application (At low management cost please!). Then from a business standpoint we wouldn’t have made any trade-off.
I agree that from a technical standpoint the CAD trade-off still stands.
It is debatable whether the performance of modern servers and networks makes these irrelevant. As compute capacity increases new innovative demands are placed on it. Resting solely on that assumption could mean adios for that monitoring product.
5 Cameron Haight November 7, 2011 at 11:39 am
Thank you for your comments, Mahesh.