A curated collection of publicly available resources on how technology and tech-savvy organizations around the world practice Site Reliability Engineering (SRE)
How They SRE is a curated knowledge repository of best practices, tools, techniques, and culture of SRE adopted by the leading technology or tech-savvy organizations.
Many organizations regularly come forward and share their best practices, tools, techniques and offer an insight into engineering culture on various public platforms like engineering blogs, conferences & meetups. The content is curated from these avenues and shared in this repository.
Note to readers: This list refers to some of the articles, posts, videos, tools, and techniques published before 2015. Please use such material with caution as there may be recent advances in technology and practices which offer better alternatives and perspectives.
- Site Reliability Engineering
- Hiring and Building SRE teams
- SRE Culture
- DevOps
- Monitoring & Observability
- Alerting
- Incident Response & Post-Mortem
- On-Call
- Testing in Production
- Chaos Engineering
- Automation
- Performance
Airbnb
Asana
ASOS
Atlassian
Basecamp
Bloomberg
- Capacity Planning and Performance Enhancement with Page Reference Sampling
- Why SREs can't afford to NOT do Chaos Engineering
- Tracing Real-Time Distributed Systems
- The Bloomberg Story: Building SRE Teams in an "Immeasurable" Organisation
- Visibility into Loggers (and Other Low Level Services)—Seeing the Trees from the Forest
Booking.com
Capital One
- Automate AWS Infrastructure with Boto 3: AWS Health Check
- Active-Active Shared-Nothing Database Architecture
- The 3 R’s of SREs: Resiliency, Recovery & Reliability
- 5 Steps to Getting Your App Chaos Ready
- 4 Real-World Scenarios That Read Like Chaos Engineering Experiments
- Embrace the Chaos … Engineering
- 3 Lessons Learned From Implementing Chaos Engineering at Enterprise
- A Deep Dive Into Seamless Blue/Green Deployment Using AWS CodeDeploy
- Secure Docker Containers Require Secure Applications
- 4 Steps for Pairing the Cloud and DevOps to Improve Resiliency
- Container Ready Applications with Twelve-Factor App and Microservices Architecture
- Deploying with Confidence — Minimize Risk, Maximize Resiliency With Canary Deployments on AWS
- Architecting for Resiliency
- Continuous Chaos — Introducing Chaos Engineering into DevOps Practices
- The Mon-ifesto Part 1: Metrics
DBS
DeepSource
Dropbox
eBay
Etsy
Expedia
Fastly
GitHub
- Deployment reliability at GitHub
- Improving how we deploy GitHub
- Building On-Call Culture at GitHub
- Reducing flaky builds by 18x
- The evolving role of operations in DevOps
- Getting started with DevOps automation
- MySQL High Availability at GitHub
- GitHub Availability Report: January 2021
- GitHub Availability Report: December 2020
- GitHub Availability Report: November 2020
- GitHub Availability Report: August 2020
- GitHub Availability Report: July 2020
- Introducing the GitHub Availability Report
- February service disruptions post-incident analysis
- October 21 post-incident analysis
- February 28th DDoS Incident Report
- Incident Report: Inadvertent Private Repository Disclosure
GitLab
- This SRE attempted to roll out an HAProxy config change. You won't believe what happened next...
- My week shadowing a GitLab Site Reliability Engineer
- Update: Elasticsearch lessons learnt for Advanced Global Search
- Lessons in iteration from a new team in infrastructure
- How we optimized infrastructure spend at GitLab
- How we scaled async workload processing at GitLab.com using Sidekiq
- Inside GitLab: How we release software patches
- What tracking down missing TCP Keepalives taught me about Docker, Golang, and GitLab
- How we used delayed replication for disaster recovery with PostgreSQL
GoCardless
- Deploying Software at GoCardless: Open-Sourcing our “Getting Started” Tutorial
- How we compress Pub/Sub messages and more, saving a load of money
- Fear-free PostgreSQL migrations for Rails
- Observability at GoCardless: a tale of API performance improvement
- Debugging the PostgreSQL query planner
- Zero-downtime Postgres migrations - the hard parts
- In search of performance - how we shaved 200ms off every POST request
- SRE Practices & Processes
- Three months, 30x demand: How we scaled Google Meet during COVID-19
- SRE Classroom: Distributed PubSub
- What's the Difference Between DevOps and SRE? with Seth Vargo and Liz Fong-Jones of Google
- Risk and Error Budgets’ with Seth Vargo and Liz Fong-Jones of Google
- Pragmatic Automation’ with Max Luebbe of GCP
- Must Watch! - Google SRE YouTube Playlist
- Squish Level Objectives: How SRE can Help Align Technical Work to User Benefit
- Implementing Distributed Consensus
- The SRE I Aspire to Be
- SRE Classroom, Or, How to Design a Reliable Distributed System in 3 Hours
- Zero Touch Prod: Towards Safer and More Secure Production Environments
- All of Our ML Ideas Are Bad (and We Should Feel Bad)
- The Map Is Not the Territory: How SLOs Lead Us Astray, and What We Can Do about It
- Deploying SRE Training Best Practices to Production: How We SRE'ed Our SRE Education Program
- Bigtable: A Journey from Binary to Service and the Lessons Learned along the Way
- Practical Instrumentation for Observability
- What Is ML Ops: Solutions and Best Practices for DevOps of Production ML Services
- Unified Reporting of Service Reliability
- How to Trade off Server Utilization and Tail Latency
- Keeping the Balance: Internet-Scale Loadbalancing Demystified
- From Black Box to a Known Quantity: How to Build Predictable, Reliable ML-based Services
- Mindfulness in SRE: Monitoring and Alerting for One's Self
- Pragmatic Automation
- Sublinear Scaling in Practice: The 1k SRE Project
- Strategies to Edit Production Data
- The Curse of SRE Autonomy and How to Manage It
- Scaling SRE Organizations: The Journey from 1 to Many Teams
- SRE Classroom - How to Design a Distributed System in 3 Hours
- Using PRDs and User Journeys to Design User-Friendly Tools
Grab
- Our Journey to Continuous Delivery at Grab (Part 1)
- Designing Resilient Systems: Circuit Breakers or Retries? (Part 1)
- Designing Resilient Systems: Circuit Breakers or Retries? (Part 2)
- Designing Resilient Systems Beyond Retries (Part 3): Architecture Patterns and Chaos Engineering
- Orchestrating Chaos using Grab's Experimentation Platform
- How We Designed the Quotas Microservice to Prevent Resource Abuse
- How We Scaled Our Cache and Got a Good Night's Sleep
Indeed
Khan Academy
- Insights into a Product SRE team at LinkedIn
- Hiring SREs at LinkedIn
- Open source update: School of SRE
- Fixing Linux filesystem performance regressions
- Production testing with dark canaries
- Smart alerts in ThirdEye, LinkedIn’s real-time monitoring platform
- Iris mobile: An open source, mobile interface for incident management
- LinkedOut: A Request-Level Failure Injection Framework
- Eliminating toil with fully automated load testing
- The Makeup of Successful Geographically-Distributed SRE Teams: Part 1
- The Makeup of Successful Geographically-Distributed SRE Teams: Part 2
- Project STAR*: Streamlining Our On-Call Process
- Automating Your Oncall: Open Sourcing Fossor and Ascii Etch
- Resilience Engineering at LinkedIn with Project Waterbear
- Hiring SREs at LinkedIn, 2017
- Open Sourcing Iris and Oncall
- Building the SRE Culture at LinkedIn
- Failure is Not an Option
- MTTD and MTTR Are Key
- What Gets Measured Gets Fixed
- Growing the Site Reliability Team at LinkedIn: Hiring is Hard -- Greg Leffler
- 9 Years of Failure: How Racing Crappy Cars Made Me a Better SRE
- Weathering the Storm: How Early Warnings Save the Farm
- Unconference: Unsolved Problems in SRE
- Leading without Managing: Becoming an SRE Technical Leader
- Why Does (My) Monitoring Suck?
- Traffic Forecasting and Stress Testing Infrastructure
- Collective Mindfulness for Better Decisions in SRE
- TCP—Architecture, Enhancements, and Tuning
- Over 600 Million Members and Hundreds of Micro Services: How We Scaled Our Monitoring System to Keep up
- Understanding Business Metrics Can Make You a Better SRE
- Code-Yellow: Helping Operations Top-Heavy Teams the Smart Way
- Differences in SRE Implementations across Companies
Mercari
Microsoft
- SLI & Reliability Deep-Dive’ with David N. Blank-Edelman of Microsoft
- Ironies of Automation: A Comedy in Three Parts’ with Tanner Lund of Microsoft
- Sustainable Software Engineering & SREs
- Study on Human Factors and Team Culture to Improve Pager Fatigue
- Prioritizing Trust While Creating Applications
- Building Resilience: How to Learn More from Incidents
- A Tale of Two Postmortems: A Human Factors View
- Availability—Thinking beyond 9s
- Ironies of Automation: A Comedy in Three Parts
- The Ops in Serverless
MIRO
Monzo
Netflix
- Building Netflix’s Distributed Tracing Infrastructure
- Lessons from Building Observability Tools at Netflix
- Edgar: Solving Mysteries Faster with Observability
- Telltale: Netflix Application Monitoring Simplified
- Keeping Customers Streaming — The Centralized Site Reliability Practice at Netflix
- Introducing Dispatch
- Applying Netflix DevOps Patterns to Windows
- ChAP: Chaos Automation Platform
- Starting the Avalanche
- Netflix Chaos Monkey Upgraded
- Chaos Engineering Upgraded
- Automated Failure Testing
- From Chaos to Control — Testing the resiliency of Netflix’s Content Discovery Platform
- Introducing Atlas: Netflix’s Primary Telemetry Platform
- FIT: Failure Injection Testing
- Announcing Security Monkey — AWS Security Configuration Monitoring and Analysis
- Lessons Netflix Learned from the AWS Outage
- AWS re:Invent 2019: A day in the life of a Netflix engineer (NFX202)
- When /bin/sh Attacks: Revisiting "Automate All the Things"
- How Did Things Go Right? Learning More from Incidents
- Monitoring and Tracing @Netflix Streaming Data Infrastructure
- Real user performance monitoring at Netflix scale ‐ Martin Spier
- AWS re:Invent 2017 - Nora Jones Describes Why We Need More Chaos - Chaos Engineering, That Is
- AWS re:Invent 2017: Performing Chaos at Netflix Scale (DEV334)
- Netflix: Multi-Regional Resiliency and Amazon Route 53
- Designing Services for Resilience: Netflix Lessons
- South Bay SRE Meetup - Netflix Cloud Performance Team
- AWS re:Invent 2017: A Day in the Life of a Netflix Engineer III (ARC209)
- How Netflix Uses Kinesis Streams to Monitor Applications and Analyze Billions of Traffic Flows
- Mastering Chaos - A Netflix Guide to Microservices
- AWS re:Invent 2016: From Resilience to Ubiquity - #NetflixEverywhere Global Architecture (ARC204)
- SREcon 2016 - Netflix: 190 Countries and 5 CORE SREs
- From Sys Admin to Netflix SRE
- Application Resilience Engineering and Operations at Netflix with Hystrix
- Injecting Failure at Netflix
- LISA13 - How Netflix Embraces Failure to Improve Resilience and Maximize Availability
PayPal
- SREcon Conversations Asia/Pacific with Karthikeyan Selvaraj and Rajesh Ramachandran, PayPal
- SRE Then vs SRE Now: A Balancing Act between Reflexes and Intuitive Instincts at PayPal
- Detecting Service Degradation and Failures at Scale through Distributed Log Processing
- Operating Elasticsearch with Ease at Scale
- Ensuring Site Reliability through Security Controls
Scribd
Shopify
Sky Betting and Gaming
Slack
Slalom Build
- Beginners Guide to DevOps: How to Make It into the Industry
- GitHub Actions: Beyond CI/CD
- Why isn’t all test automation run on the pipeline?
- The Many Shapes of Site Reliability Engineering
- How to build a secure by default Kubernetes cluster with a basic CI/CD pipeline on AWS
- Secret Management Architectures: Finding the balance between security and complexity
- Detecting Malicious Requests with Keras & Tensorflow
- The Lego Monolith — A Monolith Microservice Proof of Concept
- Managing Secrets Using Hashicorp Vault
- Packaging Spring Boot Applications for Deployment on Kubernetes
- Immutable Infrastructure and Continuous Delivery in the Cloud
Soundcloud
Spotify
Squarespace
Stack Overflow
Stripe
Target
Uber
Wikimedia Foundation
Yelp
- Adobe - The Good, the Bad and the Ugly: The 3 Learnings of an SRE
- Amdocs - SREs at Telecom and Media Industry: Bridging between Legacy and Cloud Native Apps
- Amazon - Confessions of a Systems Engineer: Learning from My 20+ Years of Failure
- Alaska Airlines - Capacity Prediction in External Services
- BuzzFeed - Optimizing for Learning
- BT - Challenges of Starting an SRE Team from Scratch in an Enterprise
- Cloudflare - Support Operations Engineering: Scaling Developer Products to the Millions
- Hudson River Trading - Fixing On-Call When Nobody Thinks It's (Too) Broken
- IBM - Why Automating Everything Adds to Your Toil
- Genesys - The Smallest Possible SRE Team
- G-Research - My Life as a Solo SRE
- Grafana Labs - SRE in the Third Age
- Kenna Security - Building a Scalable Monitoring System
- Lightstep - Building Service Ownership Using Documentation, Telemetry, and a Chance to Make Things Better
- MessageBird - Autopsy of a MySQL Automation Disaster
- Netlify - Perks and Pitfalls of Building a Remote First Team
- ReactiveOps - Zero to SRE
- Salesforce - Incident Response in Unfamiliar Sociotechnical Systems: One Incident Commander's Challenges Supporting Inter-organizational Anomaly Response in the Age of COVID-19
- Sprax - From Nothing to SRE: Practical Guidance on Implementing SRE in Smaller Organisations
- The New York Times - SRE by Influence, Not Authority: How the New York Times Prepares for Large-Scale Events
- Twitter - Hiring Great SREs
- United States Digital Service - Lessons Learned in Black Box Monitoring 25,000 Endpoints and Proving the SRE Team's Value
- Unity Technologies - Being Reasonable about SRE
- Udemy - How to Do SRE When You Have No SRE
- Vanguard - Cloudy with a Chance of Chaos
- WeWork - Learning from Learnings: Anatomy of Three Incidents
- Zendesk - Latency and Availability Error Budgets Done Right at Scale
- Building Secure & Reliable Systems | Read free online version hosted by Google
- Site Reliability Engineering | Read free online version hosted by Google
- The Site Reliability Workbook from Google | Read free online version hosted by Google
- Training Site Reliability Engineers | Read free online version hosted by Google
- 97 Things Every SRE Should Know
- SLO Adoption and Usage in Site Reliability Engineering
- Practical Site Reliability Engineering
- Implementing Service Level Objectives
- Chaos Engineering
- Seeking SRE
- Security Chaos Engineering
- Chaos Engineering Observability
- Database Reliability Engineering
- What Is SRE?
- Database Reliability Engineering: What, Why, and How?
- Observability Engineering
- New! Chaos Engineering: Site reliability through controlled disruption
- Awesome SRE
- Awesome Site Reliability Engineering Tools
- Awesome Chaos Engineering
- Awesome Monitoring
- Awesome Observability
- Awesome Sysadmin
- Google SRE Page
- Google SRE Classroom
- Microsoft SRE Page
- School of SRE from LinkedIn
- Stripe Increment Magazine Issue 16 on Reliability
- Inspired by Howtheytest from Abhijeet Vaikar
- The list of organizations is referred from my other repo awesome-engineering
- Banner image Cartoon vector created by vectorjuice - www.freepik.com
Contributions welcome! Read the contribution guidelines first.
To the extent possible under law, Unmesh Gundecha has waived all copyright and related or neighboring rights to this work.
If you decide to use this anywhere please give a credit to @upgundecha on twitter, also If you like my work, check out other projects on my Github.