This is the fifth in a series of blog posts examining the role of AIOps in observability.
In this final installment of this blog series, we’ll discuss the importance of monitoring your observability data. Collecting and analyzing your metrics, logs, and traces in real-time is incredibly important and will provide you with the cues, signals, and insights you need to build your service assurance strategy. Only when applied with AIOps will you achieve true operational scale and automation.
At the dawn of building your applications, a fundamental design principle and goal must be to code for safety, and for automation, and to make procedures as objective and comprehensive, and of course, as monitorable as possible. This essentially means minimizing the number of “unknown unknowns.”
When done correctly, and when you include resilience, chaos, and cognitive engineering, you will lessen the cracks in the experiences you are providing. But you must also understand that rules are always underspecified and unknown, so, therefore, they can’t guarantee context and outage avoidance without interpretation. In addition, events in your environment require making decisions and taking actions that can’t be pre-specified by humans.
Google’s SRE Book states: “Your monitoring system should address two questions: what’s broken, and why? The ‘what’s broken’ indicates the symptom; the “why” indicates a (possibly intermediate) cause. ‘What’ versus ‘why’ is one of the most important distinctions in writing good monitoring with maximum signal and minimum noise.”
Monitoring and observability are two distinct practices. Observability isn’t a substitute for monitoring. They are entirely complementary; you can’t have one without the other. Observability has been a bit of a buzzword in some DevOps and SRE circles, used mostly by the engineers who’ve been monitoring applications and infrastructure since before Nagios was state-of-the-art and the go-to solution for exposing events, tracing, and exception tracking as a derivative of logs.
The term “monitoring” might be passé, but the practice is far from it
Simply put, observability is achieved when data is made available from within the system that you wish to monitor. Monitoring is the actual task of collecting and displaying this data.
Monitoring was traditionally the way of life for operations engineers. The term monitoring often reminds me of early mornings responding to floods of up/down alerts to notify me something is most likely no longer available. It’s mostly true that a decade ago, up/down checks were all a monitoring tool would have been capable of. Since the birth of cloud computing and observability, this is no longer the case. But, it has also inevitably paved the way for an AI-led operations evolution, known as Artificial Intelligence for IT Operations (AIOps).
The ability to disseminate and observe what’s going on within your applications and services is often met with a steady flow of metrics, log, and traces. But the data alone contain little information because they lack context. For example, knowing that the CPU usage on a server is at 84% means nothing if you don’t know whether this level indicates normal operating behavior or a potential problem. You must understand the context and much more.
- What was it like yesterday? Understanding performance over time provides a more comprehensive picture.
- What was it while doing something different? Understanding server loads by task helps weight performance levels – and whether they are an issue.
- Is this unique? Is it a standalone element or part of ephemeral or autoscaling logic?
Producing metrics, logs, and traces is clearly just one part of the equation. Monitoring this data is the next key part of the equation to fill in the context. The use of AIOps helps automate your monitoring and discover unknown-unknowns.
The role of AIOps for observability is to automate monitoring
By applying AIOps to all of your metrics, logs, and traces you can achieve more effective operations management by getting the complete picture for service assurance automatically.
- Monitoring and applying AI and machine learning algorithms to all the data
- Detecting anomalies
- Surfacing significant and important events
- Correlating alerts
- Providing incidents with context so you can collaborate
- Identifying the probable root cause for automated remediation
Your observations can lead you to the answers. The process of examining evidence to be able to find the cues and signals requires a good understanding of your applications and services, your domain, as well as a good sense of intuition. Embrace AIOps to examine the evidence to surface the cues and signals for you. Only AIOps will provide the context and awareness required for automated remediation and outage avoidance. Let AI operate so you can develop more and focus on the customer experience!
Want to see the power of AIOps and observability in action? Tune into our event “Moogsoft Express Live: The AIOps & Observability Solution for Cloud-First Companies is Here”, recorded on June 24, 2020. Watch now and discover how Moogsoft Express helps DevOps and SREs detect app performance problems, keep software pipelines humming and honor customer SLAs — all while being extremely simple to use.
You can also sign up for a live trial of Moogsoft Express here.
See the other posts to date in the series here:
About the author
Adam Frank is a product and technology leader with more than 15 years of AI and IT Operations experience. His imagination and passion for creating AIOps solutions are helping DevOps and SREs around the world. As Moogsoft’s VP of Product & Design, he's focused on delivering products and strategies that help businesses to digitally transform, carry out organizational change, and attain continuous service assurance.