Simplified process of setting first SLIs and SLOs for your product and underlying technical stack.
<aside>
ℹ️ The framework is also available as digital whiteboard template (FigJam).
Read full article to get more insights here: https://www.practicalengineering.management/p/intro-to-sla-slo-and-sli
</aside>
The 4-steps of setting SLIs/SLOs
Answer these questions to frame your problem:
- [ ] 1) Define user journey
- [ ] Attach the screenshot of product feature you want to cover.
- [ ] Draw sequence diagram for user journey. You can use Mermaid.js for that.
- [ ] List critical events of the flow.
- [ ] 2) Pick your SLIs
- [ ] Based on user journey pick 3-5 SLIs for the flow.
- [ ] Use general SLIs as inspiration (listed in section below) or use more specific ones (e.g. Core Web Vitals for Web; Crash-free or Battery usage for mobile; Coverage or Data Correctness in Data Processing
- [ ] 3) Define how you’ll measure SLIs
- [ ] Depending on selected SLI / platform, define how you’ll implement the measurement. Use example ways of measuring SLI (listed in section below)
- [ ] 4) Define your SLOs
- [ ] Pick target for your SLI based on business need (balance cost of achieving it vs what’s “good enough” for customers
- [ ] Set time window for the measurement
Your SLIs and SLOs
1) Define user journey 🥾
<aside>
💡 If list of bullet points is not enough, you can paste also a Sequence Diagram, which you can generate e.g. by Mermaid.js.
</aside>
User journey:
2) Pick your SLIs 📊
<aside>
💡 Example SLIs: Availability, Latency, Quality, Throughput, Data Freshness.
</aside>