Introduction to SRE
1 - What is SRE?
1.1 Definition
"SRE is what happens when you ask a software engineer to design an operations function." - Ben Treynor, Google
Site Reliability Engineering = Applying software engineering principles to infrastructure and operations.
1.2 Origins
| Year | Event |
|---|---|
| 2003 | The first SRE team is created at Google |
| 2004 | Ben Treynor defines the principles |
| 2016 | Publication of the book "Site Reliability Engineering" |
| 2018 | Publication of the "SRE Workbook" |
| 2020+ | Widespread adoption across the industry |
2 - SRE vs DevOps
2.1 Comparison
| Aspect | DevOps | SRE |
|---|---|---|
| Nature | Culture/Movement | Implementation/Job |
| Focus | Collaboration | Reliability |
| Metrics | Variable | SLIs/SLOs |
| Background | Ops → Dev | Dev → Ops |
| Automation | Important | Fundamental |
2.2 Complementarity
"Class SRE implements interface DevOps" - Google
SRE is a concrete way to implement DevOps with specific practices.
3 - Fundamental principles
3.1 The 7 SRE principles
sre_principles:
1_operations_is_software:
description: "Treat ops problems as software problems"
example: "Automate instead of doing it manually"
2_slos_not_features:
description: "Reliability is a feature"
example: "Prioritize stability over new features"
3_work_to_minimize_toil:
description: "Eliminate repetitive manual work"
example: "Automate recurring tasks"
4_automate_this_years_job_away:
description: "Automate to free up time"
example: "Scripts, tools, self-healing"
5_move_fast_by_reducing_cost_of_failure:
description: "Reducing the cost of errors lets you move faster"
example: "Canary deployments, fast rollbacks"
6_share_ownership_with_developers:
description: "Shared responsibility"
example: "Devs participate in on-call"
7_use_same_tooling:
description: "Same tools for Dev and SRE"
example: "Monitoring, deployment pipelines"
3.2 The 50% rule
Goal: Maximum 50% of time on operations, minimum 50% on engineering.
4 - The role of an SRE
4.1 Responsibilities
| Domain | Activities |
|---|---|
| Availability | SLOs, monitoring, alerting |
| Latency | Performance optimization |
| Performance | Load testing, profiling |
| Efficiency | Resource optimization |
| Change Management | Release engineering |
| Monitoring | Observability stack |
| Emergency Response | Incident management |
| Capacity Planning | Forecasting, scaling |
4.2 Required skills
skills:
technical:
- Programming (Python, Go)
- Linux/Unix systems
- Networking
- Cloud platforms
- Kubernetes
- Monitoring tools
soft:
- Problem solving
- Communication
- Collaboration
- Decision making under pressure
- Documentation
5 - SRE team structure
5.1 Models
5.2 Recommended ratios
| Service type | Dev:SRE ratio |
|---|---|
| Critical services | 6-8:1 |
| Standard services | 10-12:1 |
| Mature services | 20:1 |
6 - SRE Engagement
6.1 Production Readiness Review (PRR)
prr_checklist:
architecture:
- [ ] Design doc reviewed
- [ ] Dependencies documented
- [ ] Failure modes identified
monitoring:
- [ ] SLIs defined
- [ ] SLOs agreed
- [ ] Dashboards created
- [ ] Alerts configured
operations:
- [ ] Runbooks written
- [ ] On-call training done
- [ ] Escalation path defined
capacity:
- [ ] Load tested
- [ ] Scaling strategy defined
- [ ] Resource limits set
6.2 Engagement criteria
engagement_criteria:
minimum_requirements:
- SLOs defined and measured
- Error budget policy agreed
- Monitoring in place
- Documentation complete
- On-call rotation shared
exit_criteria:
- Service stable for 6 months
- Dev team trained
- Toil below threshold
- Error budget healthy
7 - SRE Culture
7.1 Blameless Culture
blameless_principles:
- Focus on systems, not people
- Ask "what" not "who"
- Learn from failures
- Share learnings openly
- Encourage experimentation
7.2 Psychological Safety
| Behavior | Encourages |
|---|---|
| "Naive" questions | Innovation |
| Admitting mistakes | Improvement |
| Asking for help | Collaboration |
| Challenging the status quo | Excellence |
Summary
In this chapter, we discovered:
- The definition of SRE
- The difference with DevOps
- The 7 fundamental principles
- The role of an SRE
- The team structures
- The blameless culture
Next step
In the next chapter, we will look at SLIs, SLOs, and SLAs.
→ Next chapter: SLIs, SLOs, and SLAs