From the course: Monitoring and Observability with Datadog
What is observability? - Datadog Tutorial
From the course: Monitoring and Observability with Datadog
What is observability?
- [Instructor] If you've worked on a software engineering project you've most likely interacted with one observability component or another. Observability is simply building systems so that they send out signals that help you understand their inner workings. As I've mentioned previously, building systems nowadays involves interactions with many other systems. Observability gives transparency to all the interactions your system is having. Observability relies on three signals, which are called the pillars of observability. They are metrics, logs, and traces. Instrumenting your code to send out these three signals can give very high visibility into your systems' performance. Metrics are data points that can be aggregated and analyzed statistically which then give you a measurement of a system's performance. You might be familiar with metrics like CPU usage or memory usage. These are measurements for the utilization of CPU and memory resources for a piece of infrastructure. Similarly, you can have other metrics measuring your application's performance as we'll see as we go on in the course. Logs are text records that are output from either infrastructure or applications. They are usually a representation of what is going on within your service or infrastructure. Different services come with some default logs. However, when building services software developers can define custom logs for their services as well. For instance, you can log the requests and responses that go through your system. Traces show the lifecycle of a request as it passes through your services and infrastructure. As I've mentioned several times, building services now often require you to communicate with other infrastructure especially when building in the cloud. For this reason, it's important to know all the components a request interacts with so that you're able to understand individual requests and also pinpoints problem areas within your infrastructure. Traces are the pictorial representation of this and are very instrumental in building distributed services. Some benefits of observability are visibility into system performance, optimal observability metrics like meantime to detect, meantime to respond and meantime to resolve incidents, quantitative data that drives system improvements, and many others, which we'll see as we go on in this course.