Notes / Projects / Platform Shipsolid / 03 Reliability Engineering

SLO Document Template

- **Service**: [Full service name] - **Owner**: [Team name]

· §202606091939-2 ·

This is the canonical per-service template referenced by the SLO Registry — every row in the registry links back to a filled-in copy of this document.

[Service Name] — SLO Document

  • Service: [Full service name]
  • Owner: [Team name]
  • Service Tier: Tier 1 | Tier 2 | Tier 3
  • Status: active | proposed | deprecated
  • Created: YYYY-MM-DD
  • Last Reviewed: YYYY-MM-DD
  • Review Cadence: 90 days (or after any SLO miss event)
  • Error Budget Dashboard: [FILL: Grafana dashboard URL]

1. Service Overview

2 sentences: what does this service do and who depends on it?

Example: order-fulfillment-api processes checkout and payment events for the e-commerce platform. It is a synchronous dependency for the checkout service and an async dependency for the inventory service.


2. SLIs (Service Level Indicators)

Define the measurable signals that represent the service’s reliability. Prefer request-based SLIs over resource-based — see the KPI → SLI → SLO → SLA framework for how these terms relate.

| SLI Name | PromQL / Query | Good Event Definition | Notes | | ------------------ | --------------------------------------------------------------------------------------- | ------------------------------------------------- | -------------------------------- | ------------------------------- | | Availability | sum(rate(http_requests_total{status=~"2.. | 3.."}[5m])) / sum(rate(http_requests_total[5m])) | HTTP 2xx + 3xx responses | Excludes health check endpoints | | Latency P99 | histogram_quantile(0.99, sum(rate(http_request_duration_seconds_bucket[5m])) by (le)) | < [N]ms | Measured at the service boundary | | [FILL: custom SLI] | [FILL: query] | [FILL: good event definition] | [FILL: notes] |

Excluded traffic:

  • [FILL: health check paths, synthetic monitors, internal admin endpoints]

3. SLOs (Service Level Objectives)

SLITargetMeasurement WindowError Budget
Availability[FILL: e.g. 99.9%]30-day rolling[FILL: e.g. 43.8 min/month]
Latency P99[FILL: e.g. 99%] requests < [N]ms30-day rolling[FILL: e.g. ~7.2 hr/month of violations]

Rationale for targets:

  • [FILL: why 99.9% and not 99.95%? Reference user impact data or dependency SLAs.]

4. Alerting Policy

Multi-window, multi-burn-rate alerts. Short windows catch fast burns; long windows catch slow burns.

Alert NameBurn RateWindowSeverityResponse
[ServiceName]AvailabilityCritical14.4×1hSEV1Page immediately
[ServiceName]AvailabilityHigh6hSEV2Page within 30 min
[ServiceName]AvailabilityWarning3dSEV3Ticket (no page)
[ServiceName]LatencyCritical[FILL]1hSEV1Page immediately

Burn rate reference: 14.4× = exhausts 1-month budget in 50 hours. 6× = exhausts in ~5 days. 1× = exactly on track to exhaust in 30 days.


5. Error Budget Policy

Budget RemainingRelease PolicyWho Decides Exceptions
> 50%Normal velocity
25–50%Non-critical changes on holdEngineering TL
< 25%Feature freeze; reliability work onlyEngineering TL + SRE TL
ExhaustedNo changes except incident fixesVP Engineering + SRE

Exception release process: [FILL: who approves an exception, what documentation is required, SLA for the exception decision]


6. Dependencies

Services or infrastructure this SLO depends on. If a dependency degrades, note whether it excludes from SLO or causes an SLO miss.

DependencyTypeSLA ProvidedImpact if DownExcluded from SLO?
[FILL: upstream service]synchronous[FILL][FILL: availability impact]No
[FILL: data store]synchronous[FILL][FILL: full outage]No
[FILL: async queue]async[FILL][FILL: latency degraded]Partial

AlertRunbookLast Verified
[FILL: alert name][FILL: Confluence runbook URL]YYYY-MM-DD
[FILL: alert name][FILL: Confluence runbook URL]YYYY-MM-DD

8. SLO History

Track quarterly performance. Add rows at the end of each quarter.

QuarterAvailability Met?Latency Met?Error Budget UsedNotes
[FILL: Q1 YYYY]Yes / NoYes / No[FILL: e.g. 23%][FILL: any notable misses or incidents]

  • SLO Dashboard: [FILL: Grafana URL]
  • Error Budget Burn Dashboard: [FILL: Grafana URL]
  • Service Runbook Index: [FILL: Confluence link]
  • Service Architecture Doc: [FILL: link]
  • Post-mortems: [FILL: link to post-mortem folder]

Local graph

Full graph →