Cloud

Building block · 7 min

Observability

Metrics, logs and traces: CloudWatch, Cloud Monitoring, Azure Monitor, and the OpenTelemetry route.

Observability is how you find out what your system is doing without attaching a debugger to production: metrics (numbers over time), logs (events with detail) and traces (one request's path through many services). Metrics, logs and alerts and Tracing teach how to use them. This page is about where to keep them, because observability has a habit of becoming one of the largest lines on a cloud bill, and the choice of backend is what decides it.

Each cloud sells a native stack that works with no setup. Alongside it, the industry has standardised on two open tools: Prometheus for metrics and OpenTelemetry for instrumentation. Every cloud now offers a managed Prometheus, and every major backend accepts OpenTelemetry data, which lets you instrument once and choose, or change, the backend later.

Side by side

AWS Google Cloud Azure Open source
Native metrics CloudWatch Cloud Monitoring Azure Monitor Metrics
Managed Prometheus Amazon Managed Service for Prometheus Managed Service for Prometheus Azure Monitor managed service for Prometheus Prometheus, Thanos, Mimir, M3
Logs CloudWatch Logs Cloud Logging Log Analytics workspaces Loki, OpenSearch, ClickHouse
Traces X-Ray, through AWS Distro for OpenTelemetry Cloud Trace Application Insights Jaeger, Tempo
Instrumentation OpenTelemetry everywhere
Metrics priced per Custom metric per month; managed Prometheus $0.90 per 10 million samples Managed Prometheus $0.06 per million samples, others per MiB Per sample ingested and queried for managed Prometheus and OpenTelemetry metrics; platform metrics free Your servers
Logs priced per GB ingested: $0.50 Standard, $0.25 Infrequent Access GiB ingested, $0.50, 30 days' storage included, first 50 GiB a month free GB ingested, priced by table plan Your storage