Observability at three levels: infrastructure metrics (CPU, memory, disk I/O, network throughput via CloudWatch, Datadog, or Prometheus/Grafana), application metrics using the RED method (Rate of requests, Error rate, Duration/latency per endpoint, not just "is it up"), and business metrics (orders processed per minute, payment success rate, job completion count) that surface application-level failures invisible to infrastructure monitoring. OpenTelemetry SDK instrumentation for distributed traces: traceparent propagated across service boundaries so a slow API response can be traced through every upstream service call to identify the specific operation causing the latency, the diagnosis that takes 2 minutes with tracing and 2 hours without it. Alerting with PagerDuty or OpsGenie: threshold-based alerts on sustained error rate (not a single 500 but >2% error rate for 5 consecutive minutes), latency (p95 response time exceeds 2s for a critical path for 10+ minutes), and infrastructure saturation (database CPU above 80% for 10 minutes). Alert noise reduction through appropriate aggregation, alerting on the condition rather than every individual event; an alert that fires more than twice a week without action is either a false positive or an unmitigated issue, and both should be resolved. Runbooks for the five most likely failure scenarios: RDS connection exhaustion, pod OOMKill, upstream API degradation, deployment failure, and cache layer failure, each with the symptoms, diagnostic commands, and recovery steps documented before an incident so the on-call engineer is executing a procedure, not improvising. Log aggregation to CloudWatch Logs, Datadog, or the ELK stack with structured JSON logging (request ID, user ID, latency, upstream dependencies called) from application code so log queries are filterable rather than requiring regex on unstructured text.