From 68bee0a687ca57e739178ead2005f5afbb61ad67 Mon Sep 17 00:00:00 2001 From: Unmesh Gundecha Date: Sun, 14 Feb 2021 22:03:29 +0800 Subject: [PATCH] Initial Commit --- .gitattributes | 2 + .github/workflows/link_check.yml | 16 + .github/workflows/workflow.yml | 16 + .markdownlint.json | 5 + .yo-rc.json | 8 + LICENSE | 121 +++++ README.md | 751 +++++++++++++++++++++++++++++++ _config.yml | 1 + banner.png | Bin 0 -> 112085 bytes code-of-conduct.md | 74 +++ contributing.md | 26 ++ index.html | 27 ++ 12 files changed, 1047 insertions(+) create mode 100644 .gitattributes create mode 100644 .github/workflows/link_check.yml create mode 100644 .github/workflows/workflow.yml create mode 100644 .markdownlint.json create mode 100644 .yo-rc.json create mode 100644 LICENSE create mode 100644 README.md create mode 100644 _config.yml create mode 100644 banner.png create mode 100644 code-of-conduct.md create mode 100644 contributing.md create mode 100644 index.html diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..9e25297 --- /dev/null +++ b/.gitattributes @@ -0,0 +1,2 @@ +* text=auto +readme.md merge=union diff --git a/.github/workflows/link_check.yml b/.github/workflows/link_check.yml new file mode 100644 index 0000000..5b61086 --- /dev/null +++ b/.github/workflows/link_check.yml @@ -0,0 +1,16 @@ +name: Check Markdown links + +on: + push: + branches: + - master + schedule: + # Run every Monday + - cron: "0 0 * * 1" + +jobs: + markdown-link-check: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@master + - uses: gaurav-nelson/github-action-markdown-link-check@v1 \ No newline at end of file diff --git a/.github/workflows/workflow.yml b/.github/workflows/workflow.yml new file mode 100644 index 0000000..a1a0b06 --- /dev/null +++ b/.github/workflows/workflow.yml @@ -0,0 +1,16 @@ +name: CI + +on: [push, pull_request] + +jobs: + build: + + runs-on: ubuntu-latest + + steps: + - uses: actions/checkout@v1 + - name: markdown syntax + uses: nosborn/github-action-markdown-cli@v1.1.1 + with: + files: README.md + config_file: ".markdownlint.json" diff --git a/.markdownlint.json b/.markdownlint.json new file mode 100644 index 0000000..454e8b5 --- /dev/null +++ b/.markdownlint.json @@ -0,0 +1,5 @@ +{ + "default": true, + "line-length": false, + "no-duplicate-header": false +} diff --git a/.yo-rc.json b/.yo-rc.json new file mode 100644 index 0000000..fa852ad --- /dev/null +++ b/.yo-rc.json @@ -0,0 +1,8 @@ +{ + "generator-awesome-list": { + "promptValues": { + "username": "Unmesh Gundecha", + "email": "upgundecha@gmail.com" + } + } +} \ No newline at end of file diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000..0e259d4 --- /dev/null +++ b/LICENSE @@ -0,0 +1,121 @@ +Creative Commons Legal Code + +CC0 1.0 Universal + + CREATIVE COMMONS CORPORATION IS NOT A LAW FIRM AND DOES NOT PROVIDE + LEGAL SERVICES. DISTRIBUTION OF THIS DOCUMENT DOES NOT CREATE AN + ATTORNEY-CLIENT RELATIONSHIP. CREATIVE COMMONS PROVIDES THIS + INFORMATION ON AN "AS-IS" BASIS. CREATIVE COMMONS MAKES NO WARRANTIES + REGARDING THE USE OF THIS DOCUMENT OR THE INFORMATION OR WORKS + PROVIDED HEREUNDER, AND DISCLAIMS LIABILITY FOR DAMAGES RESULTING FROM + THE USE OF THIS DOCUMENT OR THE INFORMATION OR WORKS PROVIDED + HEREUNDER. + +Statement of Purpose + +The laws of most jurisdictions throughout the world automatically confer +exclusive Copyright and Related Rights (defined below) upon the creator +and subsequent owner(s) (each and all, an "owner") of an original work of +authorship and/or a database (each, a "Work"). + +Certain owners wish to permanently relinquish those rights to a Work for +the purpose of contributing to a commons of creative, cultural and +scientific works ("Commons") that the public can reliably and without fear +of later claims of infringement build upon, modify, incorporate in other +works, reuse and redistribute as freely as possible in any form whatsoever +and for any purposes, including without limitation commercial purposes. +These owners may contribute to the Commons to promote the ideal of a free +culture and the further production of creative, cultural and scientific +works, or to gain reputation or greater distribution for their Work in +part through the use and efforts of others. + +For these and/or other purposes and motivations, and without any +expectation of additional consideration or compensation, the person +associating CC0 with a Work (the "Affirmer"), to the extent that he or she +is an owner of Copyright and Related Rights in the Work, voluntarily +elects to apply CC0 to the Work and publicly distribute the Work under its +terms, with knowledge of his or her Copyright and Related Rights in the +Work and the meaning and intended legal effect of CC0 on those rights. + +1. Copyright and Related Rights. A Work made available under CC0 may be +protected by copyright and related or neighboring rights ("Copyright and +Related Rights"). Copyright and Related Rights include, but are not +limited to, the following: + + i. the right to reproduce, adapt, distribute, perform, display, + communicate, and translate a Work; + ii. moral rights retained by the original author(s) and/or performer(s); +iii. publicity and privacy rights pertaining to a person's image or + likeness depicted in a Work; + iv. rights protecting against unfair competition in regards to a Work, + subject to the limitations in paragraph 4(a), below; + v. rights protecting the extraction, dissemination, use and reuse of data + in a Work; + vi. database rights (such as those arising under Directive 96/9/EC of the + European Parliament and of the Council of 11 March 1996 on the legal + protection of databases, and under any national implementation + thereof, including any amended or successor version of such + directive); and +vii. other similar, equivalent or corresponding rights throughout the + world based on applicable law or treaty, and any national + implementations thereof. + +2. Waiver. To the greatest extent permitted by, but not in contravention +of, applicable law, Affirmer hereby overtly, fully, permanently, +irrevocably and unconditionally waives, abandons, and surrenders all of +Affirmer's Copyright and Related Rights and associated claims and causes +of action, whether now known or unknown (including existing as well as +future claims and causes of action), in the Work (i) in all territories +worldwide, (ii) for the maximum duration provided by applicable law or +treaty (including future time extensions), (iii) in any current or future +medium and for any number of copies, and (iv) for any purpose whatsoever, +including without limitation commercial, advertising or promotional +purposes (the "Waiver"). Affirmer makes the Waiver for the benefit of each +member of the public at large and to the detriment of Affirmer's heirs and +successors, fully intending that such Waiver shall not be subject to +revocation, rescission, cancellation, termination, or any other legal or +equitable action to disrupt the quiet enjoyment of the Work by the public +as contemplated by Affirmer's express Statement of Purpose. + +3. Public License Fallback. Should any part of the Waiver for any reason +be judged legally invalid or ineffective under applicable law, then the +Waiver shall be preserved to the maximum extent permitted taking into +account Affirmer's express Statement of Purpose. In addition, to the +extent the Waiver is so judged Affirmer hereby grants to each affected +person a royalty-free, non transferable, non sublicensable, non exclusive, +irrevocable and unconditional license to exercise Affirmer's Copyright and +Related Rights in the Work (i) in all territories worldwide, (ii) for the +maximum duration provided by applicable law or treaty (including future +time extensions), (iii) in any current or future medium and for any number +of copies, and (iv) for any purpose whatsoever, including without +limitation commercial, advertising or promotional purposes (the +"License"). The License shall be deemed effective as of the date CC0 was +applied by Affirmer to the Work. Should any part of the License for any +reason be judged legally invalid or ineffective under applicable law, such +partial invalidity or ineffectiveness shall not invalidate the remainder +of the License, and in such case Affirmer hereby affirms that he or she +will not (i) exercise any of his or her remaining Copyright and Related +Rights in the Work or (ii) assert any associated claims and causes of +action with respect to the Work, in either case contrary to Affirmer's +express Statement of Purpose. + +4. Limitations and Disclaimers. + + a. No trademark or patent rights held by Affirmer are waived, abandoned, + surrendered, licensed or otherwise affected by this document. + b. Affirmer offers the Work as-is and makes no representations or + warranties of any kind concerning the Work, express, implied, + statutory or otherwise, including without limitation warranties of + title, merchantability, fitness for a particular purpose, non + infringement, or the absence of latent or other defects, accuracy, or + the present or absence of errors, whether or not discoverable, all to + the greatest extent permissible under applicable law. + c. Affirmer disclaims responsibility for clearing rights of other persons + that may apply to the Work or any use thereof, including without + limitation any person's Copyright and Related Rights in the Work. + Further, Affirmer disclaims responsibility for obtaining any necessary + consents, permissions or other rights required for any use of the + Work. + d. Affirmer understands and acknowledges that Creative Commons is not a + party to this document and has no duty or obligation with respect to + this CC0 or use of the Work. diff --git a/README.md b/README.md new file mode 100644 index 0000000..8f0c9af --- /dev/null +++ b/README.md @@ -0,0 +1,751 @@ +# How they SRE + +![Alt](banner.png "banner") + +> A curated collection of publicly available resources on how technology or tech-savvy organizations around the world practice Site Reliability Engineering (SRE) + +## Introduction + +Inspired by [Howtheytest](https://github.com/abhivaikar/howtheytest) by [Abhijeet Vaikar](https://github.com/abhivaikar), __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. + +### Topics + +* Site Reliability Engineering +* Hiring and Building SRE teams +* SRE Culture +* DevOps +* Monitoring & Observability +* Alerting +* Incident Management & Incident Response +* Post-Mortem +* On-Call +* Testing in Production +* Chaos Engineering +* Automation +* Performance + +## Organizations + +
+ Airbnb + +#### Blog Posts +* [Detecting Vulnerabilities With Vulnture](https://medium.com/airbnb-engineering/detecting-vulnerabilities-with-vulnture-f5f23387f6ec) +* [Alerting Framework at Airbnb](https://medium.com/airbnb-engineering/alerting-framework-at-airbnb-35ba48df894f) +* [When The Cloud Gets Dark — How Amazon’s Outage Affected Airbnb](https://medium.com/airbnb-engineering/when-the-cloud-gets-dark-how-amazons-outage-affected-airbnb-66eaf8c0f162) + +
+ +
+ Algolia + +#### Blog Posts +* [May 30 SSL incident](https://www.algolia.com/blog/may-30-ssl-incident/) +* [A Journey Into SRE](https://www.algolia.com/blog/a-journey-into-sre/) + +
+ +
+ Asana + +#### Blog Posts +* [How Asana ships stable web application releases](https://blog.asana.com/2021/01/asana-engineering-ships-web-application-releases/) +* [Analysis of recent downtime & what we’re doing to prevent future incidents](https://blog.asana.com/2019/09/downtime-what-were-doing-to-prevent-future-downtime/) +* [Developer environment: Achieving reliability by making it fast to reset](https://blog.asana.com/2017/07/developer-environment-making-it-reliable-by-making-it-fast-to-reset/) +
+ +
+ ASOS + +#### Blog Posts +* [Cyber Security @ ASOS.com](https://medium.com/asos-techblog/cyber-security-asos-com-7d1d1f346e57) +* [Security Operations 24x7](https://medium.com/asos-techblog/security-operations-24-x-7-2e90c8e5e7e) +* [The skills we look for in Cyber Security Incident Response](https://medium.com/asos-techblog/the-skills-we-look-for-in-cyber-security-incident-response-12b327927e38) + +
+ +
+ Atlassian + +#### Blog Posts +* [Best practices for change management in the age of DevOps](https://www.atlassian.com/engineering/best-practices-for-change-management-in-the-age-of-devops) +* [Automated testing: 5 lessons from Atlassian’s Kubernetes team on testing infrastructure as code](https://www.atlassian.com/engineering/automated-testing-5-lessons-from-atlassians-kubernetes-team-on-testing-infrastructure-as-code) +* [How to export Kubernetes events for observability and alerting](https://www.atlassian.com/engineering/how-to-export-kubernetes-events-for-observability-and-alerting) + +
+ +
+ Baidu + +#### Videos +* [Anomaly Detection on Golden Signals](https://www.usenix.org/conference/srecon19asia/presentation/chen-yu) +* [NetRadar: Monitoring the Datacenter Network](https://www.usenix.org/conference/srecon19asia/presentation/chen-yun) + +
+ +
+ Basecamp + +#### Blog Posts +* [Inside a CODE RED: Network Edition](https://m.signalvnoise.com/inside-a-code-red-network-edition/) +* [Three Basecamp outages. One week. What happened?](https://m.signalvnoise.com/three-basecamp-outages-one-week-what-happened/) +* [Basecamp 2 and Basecamp 3 search outage report](https://m.signalvnoise.com/basecamp-2-and-basecamp-3-search-outage-report/) +* [Reducing Incident Escalations at Basecamp](https://m.signalvnoise.com/reducing-incident-escalations-at-basecamp/) + +
+ +
+ Bloomberg + +#### Videos +* [Capacity Planning and Performance Enhancement with Page Reference Sampling](https://www.usenix.org/conference/srecon20americas/presentation/chen) +* [Why SREs can't afford to NOT do Chaos Engineering](https://www.usenix.org/conference/srecon20americas/presentation/pawlikowski) +* [Tracing Real-Time Distributed Systems](https://www.usenix.org/conference/srecon19emea/presentation/yakimov) +* [The Bloomberg Story: Building SRE Teams in an "Immeasurable" Organisation](https://www.usenix.org/conference/srecon19asia/presentation/sorensen) +* [Visibility into Loggers (and Other Low Level Services)—Seeing the Trees from the Forest](https://www.usenix.org/conference/srecon19americas/presentation/chen) +
+ +
+ Booking.com + +* [SLOs for Data-Intensive Services](https://www.usenix.org/conference/srecon19emea/presentation/fouquet) +* [Benefits of Taking the Less Traveled Road with Containers Infrastructure](https://www.usenix.org/conference/srecon19americas/presentation/iacoboaia) +
+ +
+ Capital One + +#### Blog Posts +* [Automate AWS Infrastructure with Boto 3: AWS Health Check](https://medium.com/capital-one-tech/automate-aws-infrastructure-with-boto-3-aws-health-checks-e51338ba075) +* [Active-Active Shared-Nothing Database Architecture](https://medium.com/capital-one-tech/active-active-shared-nothing-database-architecture-304957ffb89) +* [The 3 R’s of SREs: Resiliency, Recovery & Reliability](https://medium.com/capital-one-tech/the-3-rs-of-sres-resiliency-recovery-reliability-5f2f5360a91b) +* [5 Steps to Getting Your App Chaos Ready](https://medium.com/capital-one-tech/5-steps-to-getting-your-app-chaos-ready-capital-one-a5b7b3cb8e09) +* [4 Real-World Scenarios That Read Like Chaos Engineering Experiments](https://medium.com/capital-one-tech/4-real-world-scenarios-that-read-like-chaos-engineering-experiments-8dbf40c5f247) +* [Embrace the Chaos … Engineering](https://medium.com/capital-one-tech/embrace-the-chaos-engineering-203fd6fc6ff7) +* [3 Lessons Learned From Implementing Chaos Engineering at Enterprise](https://medium.com/capital-one-tech/3-lessons-learned-from-implementing-chaos-engineering-at-enterprise-28eb3ffecc57) +* [A Deep Dive Into Seamless Blue/Green Deployment Using AWS CodeDeploy](https://medium.com/capital-one-tech/seamless-blue-green-deployment-using-aws-codedeploy-4c36c0bbeef4) +* [Secure Docker Containers Require Secure Applications](https://medium.com/capital-one-tech/secure-docker-containers-require-secure-applications-75eb358abef9) +* [4 Steps for Pairing the Cloud and DevOps to Improve Resiliency](https://medium.com/capital-one-tech/4-steps-for-pairing-cloud-and-devops-to-improve-resiliency-c72fe2e52b05) +* [Container Ready Applications with Twelve-Factor App and Microservices Architecture](https://medium.com/capital-one-tech/container-ready-applications-with-twelve-factor-app-and-microservices-architecture-16af683a767f) +* [Deploying with Confidence — Minimize Risk, Maximize Resiliency With Canary Deployments on AWS](https://medium.com/capital-one-tech/deploying-with-confidence-strategies-for-canary-deployments-on-aws-7cab3798823e) +* [Architecting for Resiliency](https://medium.com/capital-one-tech/architecting-for-resiliency-9ec663db5c94) +* [Continuous Chaos — Introducing Chaos Engineering into DevOps Practices](https://medium.com/capital-one-tech/continuous-chaos-introducing-chaos-engineering-into-devops-practices-75757e1cca6d) +* [The Mon-ifesto Part 1: Metrics](https://medium.com/capital-one-tech/the-mon-ifesto-part-1-metrics-808f6c944765) + +#### Major incidents & analysis reports +* [Information on the Capital One Cyber Incident](https://www.capitalone.com/facts2019/) +* [A Case Study of the Capital One Data Breach](http://web.mit.edu/smadnick/www/wp/2020-16.pdf) + +#### Videos +* [Banking on Continuous Delivery - Capital One](https://www.youtube.com/watch?v=_DnYSQEUTfo) +* [Continuous Chaos in DevOps - Capital One](https://www.youtube.com/watch?v=U_Uh5RMCwPI) +* [DevOps at Capital One: Focusing on Pipeline and Measurement](https://www.youtube.com/watch?v=6Q0mtVnnthQ) +* [Automating the Management of the Operational Health of Cloud Accounts at Scale](https://www.usenix.org/conference/srecon19americas/presentation/walls) + +
+ +
+ DBS + +#### Blog Posts +* [Site Reliability Engineering at DBS Bank](https://medium.com/dbs-tech-blog/site-reliability-engineering-at-dbs-bank-32c02228ccf4) + +#### Videos +* [SREcon Conversations Asia/Pacific with Koon Seng Lim, DBS](https://www.youtube.com/watch?v=URwkaRbOLxI&feature=emb_title) + +
+ +
+ Dropbox + +#### Blog Posts +* [Monitoring server applications with Vortex](https://dropbox.tech/infrastructure/monitoring-server-applications-with-vortex) +* [Athena: Our automated build health management system](https://dropbox.tech/infrastructure/athena-our-automated-build-health-management-system) + +#### Videos +* [Service Discovery Challenges at Scale](https://www.usenix.org/conference/srecon19americas/presentation/nigmatullin) + +
+ +
+ Facebook + +#### Videos +* [A Customer Service Approach to SRE](https://www.usenix.org/conference/srecon19emea/presentation/looney) +* [How (Not) to Scale a Project: A Post-Mortem](https://www.usenix.org/conference/srecon19asia/presentation/bagnoli) +* [Releasing the World's Largest Python Site Every 7 Minutes](https://www.usenix.org/conference/srecon19asia/presentation/wong-shuhong) +* [Using ML to Automate Dynamic Error Categorization](https://www.usenix.org/conference/srecon19asia/presentation/davoli) + +
+ +
+ Fastly + +* [SRE & Product Management: How to Level up Your Team (and Career!) by Thinking like a Product Manager](https://www.usenix.org/conference/srecon19americas/presentation/wohlner) +* [Resilience Engineering Mythbusting](https://www.usenix.org/conference/srecon19americas/presentation/gallego) + +
+ +
+ eBay + +#### Blog Posts +* [Resiliency and Disaster Recovery with Kafka](https://tech.ebayinc.com/engineering/resiliency-and-disaster-recovery-with-kafka/) +* [SRE Case Study: Triaging a Non-Heap JVM Out of Memory Issue](https://tech.ebayinc.com/engineering/sre-case-study-triage-a-non-heap-jvm-out-of-memory-issue/) +* [SRE Case Study: Mysterious Traffic Imbalance](https://tech.ebayinc.com/engineering/sre-case-study-mysterious-traffic-imbalance/) +* [Zero Downtime, Instant Deployment and Rollback](https://tech.ebayinc.com/engineering/zero-downtime-instant-deployment-and-rollback/) + +### Video +* [Madaari: Ordering for the Monkeys](https://www.usenix.org/conference/srecon19americas/presentation/raina) + +
+ +
+ Etsy + +#### Blog Posts +* [Etsy’s Debriefing Facilitation Guide for Blameless Postmortems](https://codeascraft.com/2016/11/17/debriefing-facilitation-guide/) +* [Opsweekly: Measuring on-call experience with alert classification](https://codeascraft.com/2014/06/19/opsweekly-measuring-on-call-experience-with-alert-classification/) +* [Demystifying Site Outages](https://blog.etsy.com/news/2012/demystifying-site-outages/) +* [Blameless PostMortems and a Just Culture](https://codeascraft.com/2012/05/22/blameless-postmortems/) + +#### Videos +* [Velocity 09: John Allspaw and Paul Hammond, "10+ Deploys Pe](https://www.youtube.com/watch?v=LdOe18KhtT4) +* [Migrating a Monolith to the Cloud](https://www.usenix.org/conference/srecon19americas/presentation/govande) + +
+ +
+ Expedia + +#### Blog Posts +* [The Cost of 100% Reliability](https://medium.com/expedia-group-tech/the-cost-of-100-reliability-ecb2901f23a4) +* [Creating Monitoring Dashboards](https://medium.com/expedia-group-tech/creating-monitoring-dashboards-1f3fbe0ae1ac) +* [Using Bash for DevOps](https://medium.com/expedia-group-tech/using-bash-for-devops-7046eed1aa63) + +
+ +
+ GitHub + +#### Blog Posts +* [Deployment reliability at GitHub](https://github.blog/2021-02-03-deployment-reliability-at-github/) +* [Improving how we deploy GitHub](https://github.blog/2021-01-25-improving-how-we-deploy-github/) +* [Building On-Call Culture at GitHub](https://github.blog/2021-01-06-building-on-call-culture-at-github/) +* [Reducing flaky builds by 18x](https://github.blog/2020-12-16-reducing-flaky-builds-by-18x/) +* [The evolving role of operations in DevOps](https://github.blog/2020-12-03-the-evolving-role-of-operations-in-devops/) +* [Getting started with DevOps automation](https://github.blog/2020-10-29-getting-started-with-devops-automation/) +* [MySQL High Availability at GitHub](https://github.blog/2018-06-20-mysql-high-availability-at-github/) + +#### Major incidents & analysis reports +* [GitHub Availability Report: January 2021](https://github.blog/2021-02-02-github-availability-report-january-2021/) +* [GitHub Availability Report: December 2020](https://github.blog/2021-01-06-github-availability-report-december-2020/) +* [GitHub Availability Report: November 2020](https://github.blog/2020-12-02-availability-report-november-2020/) +* [GitHub Availability Report: August 2020](https://github.blog/2020-09-02-github-availability-report-august-2020/) +* [GitHub Availability Report: July 2020](https://github.blog/2020-08-05-github-availability-report-july-2020/) +* [Introducing the GitHub Availability Report](https://github.blog/2020-07-08-introducing-the-github-availability-report/) +* [February service disruptions post-incident analysis](https://github.blog/2020-03-26-february-service-disruptions-post-incident-analysis/) +* [October 21 post-incident analysis](https://github.blog/2018-10-30-oct21-post-incident-analysis/) +* [February 28th DDoS Incident Report](https://github.blog/2018-03-01-ddos-incident-report/) +* [Incident Report: Inadvertent Private Repository Disclosure](https://github.blog/2016-10-28-incident-report-inadvertent-private-repository-disclosure/) + +#### Videos +* [One on One SRE](https://www.usenix.org/conference/srecon19americas/presentation/tobey) + +
+ +
+ Google + +#### Blog Posts +* [SRE Practices & Processes](https://sre.google/resources/#practicesandprocesses) +* [Three months, 30x demand: How we scaled Google Meet during COVID-19](https://cloud.google.com/blog/products/g-suite/keeping-google-meet-ahead-of-usage-demand-during-covid-19) +* [SRE Classroom: Distributed PubSub](https://sre.google/resources/practices-and-processes/distributed-pubsub/) + +#### Books +* [Building Secure & Reliable Systems](https://static.googleusercontent.com/media/sre.google/en//static/pdf/building_secure_and_reliable_systems.pdf) +* [Site Reliability Engineering](https://sre.google/sre-book/table-of-contents/) +* [The Site Reliability Workbook](https://sre.google/workbook/table-of-contents/) + +#### Videos +* [What's the Difference Between DevOps and SRE? with Seth Vargo and Liz Fong-Jones of Google](https://youtu.be/uTEL8Ff1Zvk) +* [Risk and Error Budgets’ with Seth Vargo and Liz Fong-Jones of Google](https://youtu.be/y2ILKr8kCJU) +* [Pragmatic Automation’ with Max Luebbe of GCP](https://www.youtube.com/watch?v=oDcjAcFTFC0&t=0m56s) +* [Must Watch! - Google SRE YouTube Playlist](https://www.youtube.com/playlist?list=PLIivdWyY5sqJrKl7D2u-gmis8h9K66qoj) +* [Squish Level Objectives: How SRE can Help Align Technical Work to User Benefit](https://www.usenix.org/conference/srecon20americas/presentation/stanke) +* [Implementing Distributed Consensus](https://www.usenix.org/conference/srecon20americas/presentation/ludtke) +* [The SRE I Aspire to Be](https://www.usenix.org/conference/srecon19emea/presentation/aknin) +* [SRE Classroom, Or, How to Design a Reliable Distributed System in 3 Hours](https://www.usenix.org/conference/srecon19emea/presentation/perry) +* [Zero Touch Prod: Towards Safer and More Secure Production Environments](https://www.usenix.org/conference/srecon19emea/presentation/czapinski) +* [All of Our ML Ideas Are Bad (and We Should Feel Bad)](https://www.usenix.org/conference/srecon19emea/presentation/underwood) +* [The Map Is Not the Territory: How SLOs Lead Us Astray, and What We Can Do about It](https://www.usenix.org/conference/srecon19emea/presentation/desai) +* [Deploying SRE Training Best Practices to Production: How We SRE'ed Our SRE Education Program](https://www.usenix.org/conference/srecon19emea/presentation/petoff) +* [Bigtable: A Journey from Binary to Service and the Lessons Learned along the Way](https://www.usenix.org/conference/srecon19emea/presentation/gleason) +* [Practical Instrumentation for Observability](https://www.usenix.org/conference/srecon19asia/presentation/krabbe) +* [What Is ML Ops: Solutions and Best Practices for DevOps of Production ML Services](https://www.usenix.org/conference/srecon19asia/presentation/sato) +* [Unified Reporting of Service Reliability](https://www.usenix.org/conference/srecon19asia/presentation/zhang) +* [How to Trade off Server Utilization and Tail Latency](https://www.usenix.org/conference/srecon19asia/presentation/plenz) +* [Keeping the Balance: Internet-Scale Loadbalancing Demystified](https://www.usenix.org/conference/srecon19americas/presentation/nolan-loadbalancing) +* [From Black Box to a Known Quantity: How to Build Predictable, Reliable ML-based Services](https://www.usenix.org/conference/srecon19americas/presentation/virji) +* [Mindfulness in SRE: Monitoring and Alerting for One's Self](https://www.usenix.org/conference/srecon19americas/presentation/lutz) +* [Pragmatic Automation](https://www.usenix.org/conference/srecon19americas/presentation/luebbe) +* [Sublinear Scaling in Practice: The 1k SRE Project](https://www.usenix.org/conference/srecon19americas/presentation/rath) +* [Strategies to Edit Production Data](https://www.usenix.org/conference/srecon19americas/presentation/qiu) +* [The Curse of SRE Autonomy and How to Manage It](https://www.usenix.org/conference/srecon19americas/presentation/bondi) +* [Scaling SRE Organizations: The Journey from 1 to Many Teams](https://www.usenix.org/conference/srecon19americas/presentation/franco) +* [SRE Classroom - How to Design a Distributed System in 3 Hours](https://www.usenix.org/conference/srecon19americas/presentation/thomas) +* [Using PRDs and User Journeys to Design User-Friendly Tools](https://www.usenix.org/conference/srecon19americas/presentation/stockman) + +
+ +
+ Gojek + +## Gojek +#### Blog Posts +* [Why We Swear by the RCA](https://blog.gojekengineering.com/why-we-swear-by-the-rca-f535fd5abbcb) + +
+ +
+ Grab + +#### Blog Posts +* [Our Journey to Continuous Delivery at Grab (Part 1)](https://engineering.grab.com/our-journey-to-continuous-delivery-at-grab) +* [Designing Resilient Systems Beyond Retries (Part 3): Architecture Patterns and Chaos Engineering](https://engineering.grab.com/beyond-retries-part-3) +* [Orchestrating Chaos using Grab's Experimentation Platform](https://engineering.grab.com/chaos-engineering) + +
+ +
+ Grammarly + +#### Blog Posts +* [Security Operations in an AWS Environment](https://www.grammarly.com/blog/engineering/security-infrastructure-aws/) + +
+ +
+ Indeed + +#### Blog Posts +* [Being Just Reliable Enough](https://engineering.indeedblog.com/blog/2019/10/being-just-reliable-enough/) +* [Automating Indeed’s Release Process](https://engineering.indeedblog.com/blog/2017/03/automating-release-process/) +* [Sloth, a Tool for Inducing Network Failures’ with Preetha Appan of Indeed.com](https://www.usenix.org/conference/srecon17americas/program/presentation/appan) + +#### Videos +* [Are We Getting Better Yet? Progress Toward Safer Operations](https://www.usenix.org/conference/srecon20americas/presentation/elman) + +
+ +
+ Heroku + +#### Blog Posts +* [Incident Response at Heroku](https://blog.heroku.com/incident-response-at-heroku-2020) + +
+ +
+ LinkedIn + +#### Blog Posts +* [Open source update: School of SRE](https://engineering.linkedin.com/blog/2021/open-source-update--school-of-sre) +* [Production testing with dark canaries](https://engineering.linkedin.com/blog/2020/production-testing-with-dark-canaries) +* [Smart alerts in ThirdEye, LinkedIn’s real-time monitoring platform](https://engineering.linkedin.com/blog/2019/06/smart-alerts-in-thirdeye--linkedins-real-time-monitoring-platfor) +* [Iris mobile: An open source, mobile interface for incident management](https://engineering.linkedin.com/blog/2019/05/iris-mobile--an-open-source--mobile-interface-for-incident-manag) +* [LinkedOut: A Request-Level Failure Injection Framework](https://engineering.linkedin.com/blog/2018/05/linkedout--a-request-level-failure-injection-framework) +* [Eliminating toil with fully automated load testing](https://engineering.linkedin.com/blog/2019/eliminating-toil-with-fully-automated-load-testing) +* [The Makeup of Successful Geographically-Distributed SRE Teams: Part 1](https://engineering.linkedin.com/blog/2018/03/the-makeup-of-successful-geographically-distributed-sre-teams--p) +* [The Makeup of Successful Geographically-Distributed SRE Teams: Part 2](https://engineering.linkedin.com/blog/2018/03/the-makeup-of-successful-geographically-distributed-sre-teams--p0) +* [Project STAR*: Streamlining Our On-Call Process](https://engineering.linkedin.com/blog/2018/01/project-star-streamlining-our-on-call-process) +* [Automating Your Oncall: Open Sourcing Fossor and Ascii Etch](https://engineering.linkedin.com/blog/2017/12/open-sourcing-fossor-and-ascii-etch) +* [Resilience Engineering at LinkedIn with Project Waterbear](https://engineering.linkedin.com/blog/2017/11/resilience-engineering-at-linkedin-with-project-waterbear) +* [Hiring SREs at LinkedIn](https://engineering.linkedin.com/blog/2017/07/hiring-sres-at-linkedin) +* [Open Sourcing Iris and Oncall](https://engineering.linkedin.com/blog/2017/06/open-sourcing-iris-and-oncall) +* [Building the SRE Culture at LinkedIn](https://engineering.linkedin.com/blog/2017/05/building-the-sre-culture-at-linkedin) +* [Failure is Not an Option](https://engineering.linkedin.com/blog/2017/01/failure-is-not-an-option) +* [MTTD and MTTR Are Key](https://engineering.linkedin.com/blog/2016/12/mttd-and-mttr-are-key) +* [What Gets Measured Gets Fixed](https://engineering.linkedin.com/blog/2016/12/what-gets-measured-gets-fixed) +* [Hiring SREs at LinkedIn](https://engineering.linkedin.com/engineering-culture/hiring-sres-linkedin) + +#### Videos +* [Growing the Site Reliability Team at LinkedIn: Hiring is Hard -- Greg Leffler](https://www.youtube.com/watch?v=ZemNg9GYvOA) +* [9 Years of Failure: How Racing Crappy Cars Made Me a Better SRE](https://www.usenix.org/conference/srecon20americas/presentation/doherty) +* [Weathering the Storm: How Early Warnings Save the Farm](https://www.usenix.org/conference/srecon19emea/presentation/sherwin) +* [Unconference: Unsolved Problems in SRE](https://www.usenix.org/conference/srecon19emea/presentation/andersen) +* [Leading without Managing: Becoming an SRE Technical Leader](https://www.usenix.org/conference/srecon19asia/presentation/palino-leading) +* [Why Does (My) Monitoring Suck?](https://www.usenix.org/conference/srecon19asia/presentation/palino-monitoring) +* [Traffic Forecasting and Stress Testing Infrastructure](https://www.usenix.org/conference/srecon19asia/presentation/sulakhe) +* [Collective Mindfulness for Better Decisions in SRE](https://www.usenix.org/conference/srecon19asia/presentation/andersen-mindfulness) +* [TCP—Architecture, Enhancements, and Tuning](https://www.usenix.org/conference/srecon19asia/presentation/dhakal) +* [Over 600 Million Members and Hundreds of Micro Services: How We Scaled Our Monitoring System to Keep up](https://www.usenix.org/conference/srecon19asia/presentation/lamba) +* [Understanding Business Metrics Can Make You a Better SRE](https://www.usenix.org/conference/srecon19asia/presentation/suley) +* [Code-Yellow: Helping Operations Top-Heavy Teams the Smart Way](https://www.usenix.org/conference/srecon19americas/presentation/kehoe) +* [Differences in SRE Implementations across Companies](https://www.usenix.org/conference/srecon19americas/presentation/andersen) + +
+ +
+ Mercari + +## Mercari +#### Blog Posts +* [DevSecOps: What Is It and Why Is It Gaining Momentum in the Industry?](https://engineering.mercari.com/en/blog/entry/20201214-devsecops-what-is-it-and-why-is-it-gaining-momentum-in-the-industry/) +* [How do we share troubleshooting skills](https://engineering.mercari.com/en/blog/entry/2020-01-28-143339/) +* [Datadog Dashboard at Scale w / Terraform](https://engineering.mercari.com/en/blog/entry/2019-12-09-122134/) +
+ +
+ Microsoft + +#### Videos +* [SLI & Reliability Deep-Dive’ with David N. Blank-Edelman of Microsoft](https://www.youtube.com/watch?v=1iMo3SkdQqQ) +* [Ironies of Automation: A Comedy in Three Parts’ with Tanner Lund of Microsoft](https://www.youtube.com/watch?v=U3ubcoNzx9k) +* [Sustainable Software Engineering & SREs](https://www.usenix.org/conference/srecon20americas/presentation/johnson) +* [Study on Human Factors and Team Culture to Improve Pager Fatigue](https://www.usenix.org/conference/srecon20americas/presentation/barteneva) +* [Prioritizing Trust While Creating Applications](https://www.usenix.org/conference/srecon19emea/presentation/davis) +* [Building Resilience: How to Learn More from Incidents](https://www.usenix.org/conference/srecon19emea/presentation/stenning) +* [A Tale of Two Postmortems: A Human Factors View](https://www.usenix.org/conference/srecon19asia/presentation/lund-postmortem) +* [Availability—Thinking beyond 9s](https://www.usenix.org/conference/srecon19asia/presentation/srinivasamurthy) +* [Ironies of Automation: A Comedy in Three Parts](https://www.usenix.org/conference/srecon19asia/presentation/lund-comedy) +* [The Ops in Serverless](https://www.usenix.org/conference/srecon19americas/presentation/davis) +
+ +
+ MIRO + +## MIRO +#### Blog Posts +* [Prometheus High Availability and Fault Tolerance strategy, long term storage with VictoriaMetrics](https://medium.com/miro-engineering/prometheus-high-availability-and-fault-tolerance-strategy-long-term-storage-with-victoriametrics-82f6f3f0409e) +* [Managing hundreds of servers for load testing: Autoscaling, custom monitoring, DevOps culture](https://medium.com/miro-engineering/managing-hundreds-of-servers-for-load-testing-autoscaling-custom-monitoring-devops-culture-390fd1c7e699) +* [Reliable load testing with regards to unexpected nuances](https://medium.com/miro-engineering/reliable-load-testing-with-regards-to-unexpected-nuances-6f38c82196a5) + +
+ +
+ Monzo + +#### Blog Posts +* [Autoscaling Monzo: How we optimise our platform to be just the right size](https://monzo.com/blog/2020/10/19/autoscaling-monzo) +* [How we’ve evolved on-call at Monzo](https://monzo.com/blog/how-weve-evolved-on-call-at-monzo) +* [How we respond to incidents](https://monzo.com/blog/2019/07/08/how-we-respond-to-incidents) +* [How we monitor Monzo](https://monzo.com/blog/2018/07/27/how-we-monitor-monzo) + +#### Videos +* [Eventually Consistent Service Discovery](https://www.usenix.org/conference/srecon19emea/presentation/patel) + +
+ +
+ Netflix + +#### Blog Posts +* [Building Netflix’s Distributed Tracing Infrastructure](https://netflixtechblog.com/building-netflixs-distributed-tracing-infrastructure-bb856c319304) +* [Edgar: Solving Mysteries Faster with Observability](https://netflixtechblog.com/edgar-solving-mysteries-faster-with-observability-e1a76302c71f) +* [Telltale: Netflix Application Monitoring Simplified](https://netflixtechblog.com/telltale-netflix-application-monitoring-simplified-5c08bfa780ba) +* [Keeping Customers Streaming — The Centralized Site Reliability Practice at Netflix](https://netflixtechblog.com/keeping-customers-streaming-the-centralized-site-reliability-practice-at-netflix-205cc37aa9fb) +* [Introducing Dispatch](https://netflixtechblog.com/introducing-dispatch-da4b8a2a8072) +* [Applying Netflix DevOps Patterns to Windows](https://netflixtechblog.com/applying-netflix-devops-patterns-to-windows-2a57f2dbbf79) +* [ChAP: Chaos Automation Platform](https://netflixtechblog.com/chap-chaos-automation-platform-53e6d528371f) +* [Starting the Avalanche](https://netflixtechblog.com/starting-the-avalanche-640e69b14a06) +* [Netflix Chaos Monkey Upgraded](https://netflixtechblog.com/netflix-chaos-monkey-upgraded-1d679429be5d) +* [Chaos Engineering Upgraded](https://netflixtechblog.com/chaos-engineering-upgraded-878d341f15fa) +* [From Chaos to Control — Testing the resiliency of Netflix’s Content Discovery Platform](https://netflixtechblog.com/from-chaos-to-control-testing-the-resiliency-of-netflixs-content-discovery-platform-ce5566aef0a4) + +#### Major incidents & analysis reports +* [Post-mortem of October 22, 2012 AWS degradation](https://netflixtechblog.com/post-mortem-of-october-22-2012-aws-degradation-efcee3ab40d5) + +#### Videos +* [When /bin/sh Attacks: Revisiting "Automate All the Things"](https://www.usenix.org/conference/srecon20americas/presentation/reed) +* [How Did Things Go Right? Learning More from Incidents](https://www.usenix.org/conference/srecon19americas/presentation/kitchens) +* [Monitoring and Tracing @Netflix Streaming Data Infrastructure](https://www.youtube.com/watch?v=DlWYNoLmma8) +* [Real user performance monitoring at Netflix scale ‐ Martin Spier](https://www.youtube.com/watch?v=4RG2DUK03_0) +* [AWS re:Invent 2017 - Nora Jones Describes Why We Need More Chaos - Chaos Engineering, That Is](https://www.youtube.com/watch?v=rgfww8tLM0A) +* [AWS re:Invent 2017: Performing Chaos at Netflix Scale (DEV334)](https://www.youtube.com/watch?v=LaKGx0dAUlo) +* [Netflix: Multi-Regional Resiliency and Amazon Route 53](https://www.youtube.com/watch?v=WDDkLOT8SCk) +* [Designing Services for Resilience: Netflix Lessons](https://www.youtube.com/watch?v=RWyZkNzvC-c) +* [South Bay SRE Meetup - Netflix Cloud Performance Team](https://www.youtube.com/watch?v=uQ0flQOtQEA) +* [AWS re:Invent 2017: A Day in the Life of a Netflix Engineer III (ARC209)](https://www.youtube.com/watch?v=T_D1G42G0dE) +* [How Netflix Uses Kinesis Streams to Monitor Applications and Analyze Billions of Traffic Flows](https://www.youtube.com/watch?v=8tsIqfvizpU) +* [Mastering Chaos - A Netflix Guide to Microservices](https://www.youtube.com/watch?v=CZ3wIuvmHeM) +* [AWS re:Invent 2016: From Resilience to Ubiquity - #NetflixEverywhere​ Global Architecture (ARC204)](https://www.youtube.com/watch?v=leqUbSY55hY) +* [SREcon 2016 - Netflix: 190 Countries and 5 CORE SREs](https://www.youtube.com/watch?v=koGaH4ffXaU) +* [From Sys Admin to Netflix SRE](https://www.youtube.com/watch?v=lZI51YzIgVE) +* [Application Resilience Engineering and Operations at Netflix with Hystrix](https://www.youtube.com/watch?v=RzlluokGi1w) +* [Injecting Failure at Netflix](https://www.youtube.com/watch?v=ioXV28GtXeo) +* [LISA13 - How Netflix Embraces Failure to Improve Resilience and Maximize Availability](https://www.youtube.com/watch?v=3D0zS3kPNUU) + +
+ +
+ PayPal + +#### Videos +* [SREcon Conversations Asia/Pacific with Karthikeyan Selvaraj and Rajesh Ramachandran, PayPal](https://www.youtube.com/watch?v=XAIj567wBsU&feature=emb_title) +* [SRE Then vs SRE Now: A Balancing Act between Reflexes and Intuitive Instincts at PayPal](https://www.usenix.org/conference/srecon19asia/presentation/sunder-vr) +* [Detecting Service Degradation and Failures at Scale through Distributed Log Processing](https://www.usenix.org/conference/srecon19asia/presentation/narayanan) +* [Operating Elasticsearch with Ease at Scale](https://www.usenix.org/conference/srecon19asia/presentation/sankaravadivel) +* [Ensuring Site Reliability through Security Controls](https://www.usenix.org/conference/srecon19asia/presentation/janakiraman) + +
+ +
+ Pinterest + +#### Blog Posts +* [Simplifying web deploys](https://medium.com/pinterest-engineering/simplifying-web-deploys-19244fe13737) +* [Upgrading Pinterest operational metrics](https://medium.com/pinterest-engineering/upgrading-pinterest-operational-metrics-8718d058079a) +* [Distributed tracing at Pinterest with new open source tools](https://medium.com/pinterest-engineering/distributed-tracing-at-pinterest-with-new-open-source-tools-a4f8a5562f6b) +* [Auto scaling Pinterest](https://medium.com/pinterest-engineering/auto-scaling-pinterest-df1d2beb4d64) + +#### Videos +* [Building Actionable Code Ownership](https://www.usenix.org/conference/srecon20americas/presentation/mukherji) +* [Evolution of Observability Tools at Pinterest](https://www.usenix.org/conference/srecon19emea/presentation/abbas) +* [Automating OS/Platform Upgrades for Service Owners](https://www.usenix.org/conference/srecon19asia/presentation/menezes) + +
+ +
+ Postman + +#### Blog Posts +* [Learn how your Kubernetes clusters respond to failure using Gremlin and Grafana](https://medium.com/better-practices/chaos-d3ef238ec328) + +
+ +
+ Scribd + +#### Blog Posts +* [Learning from incidents: getting Sidekiq ready to serve a billion jobs](https://tech.scribd.com/blog/2020/sidekiq-incident-learnings.html) +* [A testimonial for using PagerDuty at Scribd](https://tech.scribd.com/blog/2020/pagerduty-at-scribd.html) +* [Assigning pager duty to developers](https://tech.scribd.com/blog/2019/managing-pagerduty-rotations.html) +
+ +
+ Shopify + +#### Blog Posts +* [Resiliency Planning for High-Traffic Events](https://shopify.engineering/resiliency-planning-for-high-traffic-events) +* [Capacity Planning at Scale](https://shopify.engineering/capacity-planning-shopify) +* [Using DNS Traffic Management to Add Resiliency to Shopify’s Services](https://shopify.engineering/using-dns-traffic-management-add-resiliency-shopify-services) +* [Four Steps to Creating Effective Game Day Tests](https://shopify.engineering/four-steps-creating-effective-game-day-tests) +* [Implementing ChatOps into our Incident Management Procedure](https://shopify.engineering/implementing-chatops-into-our-incident-management-procedure) +* [StatsD at Shopify](https://shopify.engineering/17488320-statsd-at-shopify) + +#### Videos +* [Network Monitor: A Tale of ACKnowledging an Observability Gap](https://www.usenix.org/conference/srecon19emea/presentation/gedge) +* [Expect the Unexpected: Preparing SRE Teams for Responding to Novel Failures](https://www.usenix.org/conference/srecon19emea/presentation/arthorne) +* [Advanced Napkin Math: Estimating System Performance from First Principles](https://www.usenix.org/conference/srecon19emea/presentation/eskildsen) + +
+ +
+ Slack + +#### Blog Posts +* [Slack’s Outage on January 4th 2021](https://slack.engineering/slacks-outage-on-january-4th-2021/) +* [A Terrible, Horrible, No-Good, Very Bad Day at Slack](https://slack.engineering/a-terrible-horrible-no-good-very-bad-day-at-slack/) +* [Deploys at Slack](https://slack.engineering/deploys-at-slack/) +* [Disasterpiece Theater: Slack’s process for approachable Chaos Engineering](https://slack.engineering/disasterpiece-theater-slacks-process-for-approachable-chaos-engineering/) +#### Videos +* [Slack at the Edge](https://www.usenix.org/conference/srecon19asia/presentation/pemberton) +* [What Breaks Our Systems: A Taxonomy of Black Swans](https://www.usenix.org/conference/srecon19americas/presentation/nolan-taxonomy) + +
+ +
+ Soundcloud + +## Soundcloud +#### Blog Posts +* [Alerting on SLOs like Pros](https://developers.soundcloud.com/blog/alerting-on-slos) +* [Hands-Off Deployment with Canary](https://developers.soundcloud.com/blog/hands-off-deployment-with-canary) +* [Prometheus has come of age – a reflection on the development of an open-source project](https://developers.soundcloud.com/blog/prometheus-has-come-of-age-a-reflection-on-the-development-of-an-open-source-project) +* [Prometheus: Monitoring at SoundCloud](https://developers.soundcloud.com/blog/prometheus-monitoring-at-soundcloud) +
+ +
+ Spotify + +#### Blog Posts +* [Techbytes: What The Industry Misses About Incidents and What You Can Do](https://engineering.atspotify.com/2020/02/26/techbytes-what-the-industry-misses-about-incidents-and-what-you-can-do/) +* [Automated Incident Response Infrastructure in GCP](https://engineering.atspotify.com/2019/04/04/whacking-a-million-moles-automated-incident-response-infrastructure-in-gcp/) + +#### Videos +* [Tracing, Fast and Slow: Digging into and Improving Your Web Service's Performance](https://www.usenix.org/conference/srecon19americas/presentation/root) + +
+ +
+ Squarespace + +#### Blog Posts +* [Under the Hood: Ensuring Site Reliability](https://engineering.squarespace.com/blog/2017/under-the-hood-ensuring-site-reliability) + +#### Videos +* [Pushing through Friction](https://www.usenix.org/conference/srecon19emea/presentation/na) +* [How to SRE When Everything's Already on Fire](https://www.usenix.org/conference/srecon19emea/presentation/hidalgo) +* [Case Study: Implementing SLOs for a New Service](https://www.usenix.org/conference/srecon19americas/presentation/lawson) +* [Creating a Code Review Culture](https://www.usenix.org/conference/srecon19americas/presentation/turner) + +
+ +
+ StackOverflow + +#### Blog Posts +* [A deeper dive into our May 2019 security incident](https://stackoverflow.blog/2021/01/25/a-deeper-dive-into-our-may-2019-security-incident/) +* [Failing over without falling over](https://stackoverflow.blog/2020/10/23/adrian-cockcroft-aws-failover-chaos-engineering-fault-tolerance-distaster-recovery/) + +#### Videos +* [Low Context DevOps: Improving SRE Team Culture through Defaults, Documentation, and Discipline](https://www.usenix.org/conference/srecon20americas/presentation/limoncelli) + +
+ +
+ Stripe + +#### Blog Posts +* [Fast and flexible observability with canonical log lines](https://stripe.com/blog/canonical-log-lines) +* [Introducing Veneur: high performance and global aggregation for Datadog](https://stripe.com/blog/engineering/page/3) + +#### Videos +* [How Stripe Invests in Technical Infrastructure](https://www.usenix.org/conference/srecon19emea/presentation/larson) +* [The AWS Billing Machine and Optimizing Cloud Costs](https://www.usenix.org/conference/srecon19asia/presentation/lopopolo) + +
+ +
+ Target + +#### Blog Posts +* [Ɔhaos Ǝnginǝǝring @ Target - Part 2](https://tech.target.com/2019/05/09/chaos-engineering-at-Target.html) +* [Ɔhaos Ǝnginǝǝring @ Target - Part 1](https://tech.target.com/2019/02/05/chaos-engineering-at-Target.html) +* [GoAlert - Your Future Open Source, On-Call Notification Product](https://tech.target.com/2019/02/25/introducing-goalert.html) +* [On Infrastructure at Scale: A Cascading Failure of Distributed Systems](https://tech.target.com/2019/01/14/cascading-failure-of-distributed-systems.html) +* [Distributed Troubleshooting](https://tech.target.com/2017/04/05/distributed-troubleshooting.html) +* [Outage Resolution Through Automation](https://tech.target.com/2014/12/29/outage-resolution-through-automation.html) + +
+ +
+ Trivago + +## Trivago +#### Blog Posts +* [How To Get Fooled By Metrics](https://tech.trivago.com/2020/12/04/how-to-get-fooled-by-metrics/) + +
+ +
+ Uber + +#### Blog Posts +* [Disaster Recovery for Multi-Region Kafka at Uber](https://eng.uber.com/kafka/) +* [Engineering Failover Handling in Uber’s Mobile Networking Infrastructure](https://eng.uber.com/eng-failover-handling/) +* [Optimizing Observability with Jaeger, M3, and XYS at Uber](https://eng.uber.com/optimizing-observability/) + + +#### Videos +* [A Tale of Two Rotations: Building a Humane & Effective On-Call](https://www.usenix.org/conference/srecon19emea/presentation/lee) +* [Testing in Production at Scale](https://www.usenix.org/conference/srecon19americas/presentation/gud) +* [A History of SRE at Uber’ with Rick Boone of Uber](https://www.youtube.com/watch?v=qJnS-EfIIIE) + +
+ +
+ Wikimedia Foundation + +#### Videos +* [Testing Encyclopedias in Production](https://www.usenix.org/conference/srecon20americas/presentation/mouzeli) +* [What Happens When You Type en.wikipedia.org?](https://www.usenix.org/conference/srecon19emea/presentation/mouzeli) + +
+ +
+ Zerodha + +#### Blog Posts +* [Infrastructure monitoring with Prometheus at Zerodha](https://zerodha.tech/blog/infra-monitoring-at-zerodha/) + +
+ +
+ SRECon Mix Playlist + +#### Videos +* [Adobe - The Good, the Bad and the Ugly: The 3 Learnings of an SRE](https://www.usenix.org/conference/srecon20americas/presentation/charagondla) +* [Amdocs - SREs at Telecom and Media Industry: Bridging between Legacy and Cloud Native Apps](https://www.usenix.org/conference/srecon20americas/presentation/yitzhaki) +* [Amazon - Confessions of a Systems Engineer: Learning from My 20+ Years of Failure](https://www.usenix.org/conference/srecon20americas/presentation/argent) +* [Alaska Airlines - Capacity Prediction in External Services](https://www.usenix.org/conference/srecon19americas/presentation/kraus) +* [BuzzFeed - Optimizing for Learning](https://www.usenix.org/conference/srecon19americas/presentation/mcdonald) +* [BT - Challenges of Starting an SRE Team from Scratch in an Enterprise](https://www.usenix.org/conference/srecon20americas/presentation/narvas) +* [Cloudflare - Support Operations Engineering: Scaling Developer Products to the Millions](https://www.usenix.org/conference/srecon19emea/presentation/ali) +* [Hudson River Trading - Fixing On-Call When Nobody Thinks It's (Too) Broken](https://www.usenix.org/conference/srecon19americas/presentation/lykke) +* [IBM - Why Automating Everything Adds to Your Toil](https://www.usenix.org/conference/srecon19emea/presentation/thorne) +* [Genesys - The Smallest Possible SRE Team](https://www.usenix.org/conference/srecon20americas/presentation/thomas) +* [G-Research - My Life as a Solo SRE](https://www.usenix.org/conference/srecon19emea/presentation/murphy) +* [Grafana Labs - SRE in the Third Age](https://www.usenix.org/conference/srecon19emea/presentation/rabenstein) +* [Kenna Security - Building a Scalable Monitoring System](https://www.usenix.org/conference/srecon19emea/presentation/struve) +* [Lightstep - Building Service Ownership Using Documentation, Telemetry, and a Chance to Make Things Better](https://www.usenix.org/conference/srecon20americas/presentation/spoonhower) +* [MessageBird - Autopsy of a MySQL Automation Disaster](https://www.usenix.org/conference/srecon19emea/presentation/gagne) +* [Netlify - Perks and Pitfalls of Building a Remote First Team](https://www.usenix.org/conference/srecon19emea/presentation/neal) +* [ReactiveOps - Zero to SRE](https://www.usenix.org/conference/srecon19americas/presentation/schlesinger) +* [Salesforce - Incident Response in Unfamiliar Sociotechnical Systems: One Incident Commander's Challenges Supporting Inter-organizational Anomaly Response in the Age of COVID-19](https://www.usenix.org/conference/srecon20americas/presentation/collins) +* [Sprax - From Nothing to SRE: Practical Guidance on Implementing SRE in Smaller Organisations](https://www.usenix.org/conference/srecon19emea/presentation/huxtable) +* [The New York Times - SRE by Influence, Not Authority: How the New York Times Prepares for Large-Scale Events](https://www.usenix.org/conference/srecon19emea/presentation/wan) +* [Twitter - Hiring Great SREs](https://www.usenix.org/conference/srecon19emea/presentation/rutkin) +* [United States Digital Service - Lessons Learned in Black Box Monitoring 25,000 Endpoints and Proving the SRE Team's Value](https://www.usenix.org/conference/srecon19americas/presentation/wieczorek) +* [Unity Technologies - Being Reasonable about SRE](https://www.usenix.org/conference/srecon19emea/presentation/urbanec) +* [Udemy - How to Do SRE When You Have No SRE](https://www.usenix.org/conference/srecon19emea/presentation/ocallaghan) +* [Vanguard - Cloudy with a Chance of Chaos](https://www.usenix.org/conference/srecon20americas/presentation/yakomin) +* [WeWork - Learning from Learnings: Anatomy of Three Incidents](https://www.usenix.org/conference/srecon19americas/presentation/shoup) +* [Yelp - What I Wish I Knew before Going On-Call](https://www.usenix.org/conference/srecon19emea/presentation/shu) +* [Zendesk - Latency and Availability Error Budgets Done Right at Scale](https://www.usenix.org/conference/srecon20americas/presentation/moyer) +
+ +--- +## Resources +### Books +* [97 Things Every SRE Should Know](https://www.oreilly.com/library/view/97-things-every/9781492081487/) +* [SLO Adoption and Usage in Site Reliability Engineering](https://www.oreilly.com/library/view/slo-adoption-and/9781492075370/) +* [Practical Site Reliability Engineering](https://www.oreilly.com/library/view/practical-site-reliability/9781788839563/) +* [Implementing Service Level Objectives](https://www.oreilly.com/library/view/implementing-service-level/9781492076803/) +* [Chaos Engineering](https://www.oreilly.com/library/view/chaos-engineering/9781492043850/) +* [Seeking SRE](https://www.oreilly.com/library/view/seeking-sre/9781491978856/) +* [Security Chaos Engineering](https://www.oreilly.com/library/view/security-chaos-engineering/9781492080350/) +* [Chaos Engineering Observability](https://www.oreilly.com/library/view/chaos-engineering-observability/9781492051046/) +* [Training Site Reliability Engineers](https://www.oreilly.com/library/view/training-site-reliability/9781492076018/) +* [Database Reliability Engineering](https://www.oreilly.com/library/view/database-reliability-engineering/9781491925935/) +* [What Is SRE?](https://www.oreilly.com/library/view/what-is-sre/9781492054429/) +* [Database Reliability Engineering: What, Why, and How?](https://www.oreilly.com/library/view/database-reliability-engineering/9781492030942/) +* [Observability Engineering](https://www.oreilly.com/library/view/observability-engineering/9781492076438/) + +### Events +* [SRECon Past Events](https://www.usenix.org/srecon#past) +* [ChaosConf](https://www.chaosconf.io/) + +### Others +* [Awesome SRE](https://github.com/dastergon/awesome-sre) +* [Awesome Site Reliability Engineering Tools](https://github.com/SquadcastHub/awesome-sre-tools) +* [Google SRE Page](https://sre.google/) +* [Microsoft SRE Page](https://docs.microsoft.com/en-us/azure/site-reliability-engineering/) +* [SRE Weekly Newsletter](https://sreweekly.com/) +* [Chaos Engineering Newsletter](https://chaosengineering.news/) +* [DevOps Weekly Newsletter](http://devopsweekly.com) + +## Credits +* Banner image [Cartoon vector created by vectorjuice - www.freepik.com](https://www.freepik.com/vectors/cartoon) + +## Contribute +Contributions welcome! Read the [contribution guidelines](contributing.md) first. + +## License +[![CC0](https://mirrors.creativecommons.org/presskit/buttons/88x31/svg/cc-zero.svg)](https://creativecommons.org/publicdomain/zero/1.0) + +To the extent possible under law, Unmesh Gundecha has waived all copyright and +related or neighboring rights to this work. \ No newline at end of file diff --git a/_config.yml b/_config.yml new file mode 100644 index 0000000..57e574c --- /dev/null +++ b/_config.yml @@ -0,0 +1 @@ +markdown: CommonMarkGhPages \ No newline at end of file diff --git a/banner.png b/banner.png new file mode 100644 index 0000000000000000000000000000000000000000..c6c8b5e6cd81b0e4f543cd899f4c3f41632d06a4 GIT binary patch literal 112085 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�JP?L4m1`V)MWYu1pS@>hiNO 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

K`aHsG{hNO-Ns2 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±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 xz!8o+5bGw + + + + + + awesome-engineering + + + + + + + + + + \ No newline at end of file