Path 03 / Learning syllabus
SRE fundamentals
Decide what reliable service means, measure it honestly and use that evidence to choose engineering work.
Explore the syllabus- 01What makes a service reliable?Available guide
- 02Map the service and its dependenciesComing soon
- 03Choose a service-level indicatorComing soon
Your course project
A service reliability plan
Create a reliability plan for Dispatch, a fictional report-export service: user journey, service boundary, SLI specification, SLO proposal, error-budget policy, alert rationale, change plan and recovery checks.
Before you begin
Start with the foundations.
For engineers and technical leaders new to SRE. No prior SRE experience is required. The first lessons need no code; later exercises assume basic familiarity with services and a terminal.
Each exercise states what you need and how to check its result. Use practice data and a disposable lab.
The ordered path
What you will learn
Follow the order, or open the guide that answers your question. Lessons marked Coming soon are not available yet.
- 01Available guide · 6 min read
What makes a service reliable?
Define success through a user operation and distinguish component health from completed work.
What you will try
Write a service brief for Dispatch, including a failure the health check would miss.
- 02Coming soon
Map the service and its dependencies
Follow requests and asynchronous work across the service boundary.
What you will try
Map export submission, processing, storage and download, including who operates each dependency.
- 03Coming soon
Choose a service-level indicator
Define eligible events, good outcomes, time windows and missing-data behavior.
What you will try
Specify a completion-time SLI and explain which events its implementation could miss.
- 04Coming soon
Set an SLO people can use
Connect a proposed reliability target to user needs, cost and feasible operation.
What you will try
Write an SLO proposal and mark assumptions requiring agreement rather than inventing a universal target.
- 05Coming soon
Use an error budget to make a decision
Keep request and time budgets in their own units and connect consumption to an agreed policy.
What you will try
Calculate the request allowance and walk a routine change and an urgent repair through the policy.
- 06Coming soon
Alert when a response can help
Connect a user symptom, urgency and available action to a page or ticket.
What you will try
Write an actionable alert with scope, runbook and escalation; identify a signal that should not page.
- 07Coming soon
Prepare on-call work and a usable runbook
Make access, ownership, bounded actions and verification available before an incident.
What you will try
Exercise a service runbook with a second reader and record where the procedure leaves a decision unanswered.
- 08Coming soon
Recognize toil and choose useful automation
Distinguish recurring manual work from engineering that removes or reduces it.
What you will try
Select one repeated task, define success and failure handling, and explain what should remain manual.
- 09Coming soon
Make changes easier to recover from
Choose staged rollout, compatibility checks, rollback and stop conditions for a specific change.
What you will try
Plan a Dispatch release that can be stopped and recovered without assuming every data migration is reversible.
- 10Coming soon
Plan for overload and dependency failure
Reason about queues, timeouts, retries, backpressure and degraded behavior.
What you will try
Walk a slow storage dependency through the service and choose where work is bounded.
- 11Coming soon
Turn incidents into tested improvements
Connect a corrective action to the failure it is meant to change.
What you will try
Define a test and remaining exposure for one follow-up action rather than treating ticket closure as proof.
- 12Coming soon
Review the reliability plan
Use the assembled service evidence to choose the next engineering investment.
What you will try
Deliver the plan with one supported priority, its tradeoff, unresolved assumptions and the observation that would change it.
