SRE and observability

Reliability questions have a contractual half and an engineering half, and candidates usually prepare only one. The engineering half is SLIs, SLOs, error budgets and burn-rate alerting. The contractual half is what an SLA actually promises, why you always set it looser than your SLO, and why your dependencies' SLAs bound your own.

The most practically useful thing in this chapter is cardinality. A label with unbounded values will melt a metrics backend, and being able to explain the failure and the policy fix is the single most common real observability question asked at this level.

What this chapter covers

  • [done] Burn-rate alerting
  • [todo] SLI selection: measure closest to the user, good events over total
  • [todo] SLO targets derived from tolerance, and the minutes-per-month table
  • [todo] The error budget policy as a signed contract
  • [todo] Composite SLOs and dependency availability math
  • [todo] Why you cannot average percentiles across instances
  • [todo] OpenTelemetry: API, SDK, Collector, OTLP, semantic conventions
  • [todo] A Collector pipeline config, annotated
  • [todo] Head sampling vs tail sampling
  • [done] Cardinality: the observability cost model
  • [todo] Exemplars and the modern debugging workflow
  • [todo] Structured logs, trace correlation, retention tiers
  • [todo] Wide events and the observability 2.0 argument
  • [todo] Continuous profiling as the fourth signal
  • [done] Chaos-testing an untested assumption
  • [todo] Load testing: open vs closed models, and coordinated omission
  • [todo] Incident management: roles, severity triggers, mitigate before diagnose
  • [todo] Blameless postmortems, and the metric that says whether they are theatre
  • [todo] SLA vs SLO vs SLI: the contractual layer, remedies and fine print
  • [todo] Per-tenant SLAs and the observability requirement they create

Source: §28, §36.