-
Notifications
You must be signed in to change notification settings - Fork 4
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
9bf1820
commit 308aa0e
Showing
38 changed files
with
1,525 additions
and
57 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,14 @@ | ||
# editorconfig.org | ||
|
||
root = true | ||
|
||
[*] | ||
charset = utf-8 | ||
end_of_line = lf | ||
indent_size = 2 | ||
indent_style = space | ||
insert_final_newline = true | ||
trim_trailing_whitespace = true | ||
|
||
[*.md] | ||
trim_trailing_whitespace = false |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,4 +1,8 @@ | ||
_site/ | ||
.sass-cache/ | ||
.jekyll-cache/ | ||
_site | ||
.sass-cache | ||
.jekyll-cache | ||
.jekyll-metadata | ||
vendor | ||
|
||
# IDE folders | ||
/.idea/ |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,25 @@ | ||
--- | ||
layout: default | ||
--- | ||
|
||
<style type="text/css" media="screen"> | ||
.container { | ||
margin: 10px auto; | ||
max-width: 600px; | ||
text-align: center; | ||
} | ||
h1 { | ||
margin: 30px 0; | ||
font-size: 4em; | ||
line-height: 1; | ||
letter-spacing: -1px; | ||
} | ||
</style> | ||
|
||
<div class="container"> | ||
<h1>404</h1> | ||
|
||
<p><strong>Page not found :(</strong></p> | ||
<p>The requested page could not be found.</p> | ||
<p>Tweet me <a href="https://twitter.com/electron0zero">@electron0zero</a> if you think this page should be here :-)</p> | ||
</div> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,32 @@ | ||
source 'https://rubygems.org' | ||
# Hello! This is where you manage which Jekyll version is used to run. | ||
# When you want to use a different version, change it below, save the | ||
# file and run `bundle install`. Run Jekyll with `bundle exec`, like so: | ||
# | ||
# bundle exec jekyll serve | ||
# | ||
# This will help ensure the proper Jekyll version is running. | ||
# Happy Jekylling! | ||
gem 'jekyll', '~> 4.0.0' | ||
# This is the default theme for new Jekyll sites. You may change this to anything you like. | ||
gem 'minima', '~> 2.5' | ||
# If you want to use GitHub Pages, remove the "gem "jekyll"" above and | ||
# uncomment the line below. To upgrade, run `bundle update github-pages`. | ||
# gem "github-pages", group: :jekyll_plugins | ||
# If you have any plugins, put them here! | ||
group :jekyll_plugins do | ||
gem 'jekyll-feed', '~> 0.12' | ||
gem 'jekyll-seo-tag', '~> 2.6' | ||
gem 'jemoji' | ||
end | ||
|
||
# Windows and JRuby does not include zoneinfo files, so bundle the tzinfo-data gem | ||
# and associated library. | ||
install_if -> { RUBY_PLATFORM =~ %r!mingw|mswin|java! } do | ||
gem 'tzinfo', '~> 1.2' | ||
gem 'tzinfo-data' | ||
end | ||
|
||
# Performance-booster for watching directories on Windows | ||
gem 'wdm', '~> 0.1.1', :install_if => Gem.win_platform? | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,105 @@ | ||
GEM | ||
remote: https://rubygems.org/ | ||
specs: | ||
activesupport (6.0.2.1) | ||
concurrent-ruby (~> 1.0, >= 1.0.2) | ||
i18n (>= 0.7, < 2) | ||
minitest (~> 5.1) | ||
tzinfo (~> 1.1) | ||
zeitwerk (~> 2.2) | ||
addressable (2.7.0) | ||
public_suffix (>= 2.0.2, < 5.0) | ||
colorator (1.1.0) | ||
concurrent-ruby (1.1.5) | ||
em-websocket (0.5.1) | ||
eventmachine (>= 0.12.9) | ||
http_parser.rb (~> 0.6.0) | ||
eventmachine (1.2.7) | ||
ffi (1.12.1) | ||
forwardable-extended (2.6.0) | ||
gemoji (3.0.1) | ||
html-pipeline (2.12.3) | ||
activesupport (>= 2) | ||
nokogiri (>= 1.4) | ||
http_parser.rb (0.6.0) | ||
i18n (1.8.2) | ||
concurrent-ruby (~> 1.0) | ||
jekyll (4.0.0) | ||
addressable (~> 2.4) | ||
colorator (~> 1.0) | ||
em-websocket (~> 0.5) | ||
i18n (>= 0.9.5, < 2) | ||
jekyll-sass-converter (~> 2.0) | ||
jekyll-watch (~> 2.0) | ||
kramdown (~> 2.1) | ||
kramdown-parser-gfm (~> 1.0) | ||
liquid (~> 4.0) | ||
mercenary (~> 0.3.3) | ||
pathutil (~> 0.9) | ||
rouge (~> 3.0) | ||
safe_yaml (~> 1.0) | ||
terminal-table (~> 1.8) | ||
jekyll-feed (0.13.0) | ||
jekyll (>= 3.7, < 5.0) | ||
jekyll-sass-converter (2.0.1) | ||
sassc (> 2.0.1, < 3.0) | ||
jekyll-seo-tag (2.6.1) | ||
jekyll (>= 3.3, < 5.0) | ||
jekyll-watch (2.2.1) | ||
listen (~> 3.0) | ||
jemoji (0.11.1) | ||
gemoji (~> 3.0) | ||
html-pipeline (~> 2.2) | ||
jekyll (>= 3.0, < 5.0) | ||
kramdown (2.1.0) | ||
kramdown-parser-gfm (1.1.0) | ||
kramdown (~> 2.0) | ||
liquid (4.0.3) | ||
listen (3.2.1) | ||
rb-fsevent (~> 0.10, >= 0.10.3) | ||
rb-inotify (~> 0.9, >= 0.9.10) | ||
mercenary (0.3.6) | ||
mini_portile2 (2.4.0) | ||
minima (2.5.1) | ||
jekyll (>= 3.5, < 5.0) | ||
jekyll-feed (~> 0.9) | ||
jekyll-seo-tag (~> 2.1) | ||
minitest (5.14.0) | ||
nokogiri (1.10.7) | ||
mini_portile2 (~> 2.4.0) | ||
pathutil (0.16.2) | ||
forwardable-extended (~> 2.6) | ||
public_suffix (4.0.3) | ||
rb-fsevent (0.10.3) | ||
rb-inotify (0.10.1) | ||
ffi (~> 1.0) | ||
rouge (3.15.0) | ||
safe_yaml (1.0.5) | ||
sassc (2.2.1) | ||
ffi (~> 1.9) | ||
terminal-table (1.8.0) | ||
unicode-display_width (~> 1.1, >= 1.1.1) | ||
thread_safe (0.3.6) | ||
tzinfo (1.2.6) | ||
thread_safe (~> 0.1) | ||
tzinfo-data (1.2019.3) | ||
tzinfo (>= 1.0.0) | ||
unicode-display_width (1.6.1) | ||
wdm (0.1.1) | ||
zeitwerk (2.2.2) | ||
|
||
PLATFORMS | ||
ruby | ||
|
||
DEPENDENCIES | ||
jekyll (~> 4.0.0) | ||
jekyll-feed (~> 0.12) | ||
jekyll-seo-tag (~> 2.6) | ||
jemoji | ||
minima (~> 2.5) | ||
tzinfo (~> 1.2) | ||
tzinfo-data | ||
wdm (~> 0.1.1) | ||
|
||
BUNDLED WITH | ||
1.17.2 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,46 +1,14 @@ | ||
# failure-modes | ||
list of failure modes/stories/postmortems in software systems | ||
## failure-modes - [failuremodes.dev](failuremodes.dev) | ||
Curated list of failures in software systems, and other literature around the same topic. | ||
|
||
### Want to learn more and contribute, see [about](/about.md) page | ||
### Current list, See [index](/index.md) page | ||
|
||
# Failure Stories | ||
|
||
## PostgreSQL | ||
- [Transaction ID wraparound outage at mandrill](https://mailchimp.com/what-we-learned-from-the-recent-mandrill-outage/) | ||
- [Transaction ID wraparound outage at sentry](https://blog.sentry.io/2015/07/23/transaction-id-wraparound-in-postgres) | ||
#### running locally | ||
This site is built using jekyll, so you need to install it to run it locally | ||
|
||
## Kafka | ||
- [Kafkapocalypse: a postmortem on our service outage](https://blog.parse.ly/post/1738/kafkapocalypse/) | ||
- [Stories from the Front: Lessons Learned from Supporting Apache Kafka](https://www.confluent.io/blog/stories-front-lessons-learned-supporting-apache-kafka/) | ||
- [How to Lose Messages on a Kafka Cluster - Part 1 ](https://jack-vanlightly.com/blog/2018/9/14/how-to-lose-messages-on-a-kafka-cluster-part1) | ||
|
||
## Kubernetes | ||
- [Compilation of public failure/horror stories related to Kubernetes](https://github.com/hjacobs/kubernetes-failure-stories) | ||
- [10 Ways to Shoot Yourself in the Foot with Kubernetes, #9 Will Surprise You - Laurent Bernaille](https://www.youtube.com/watch?v=QKI-JRs2RIE) | ||
|
||
|
||
# Notable Resources | ||
|
||
## Postmortems | ||
- [postmortem of global Cloudflare outage](https://blog.cloudflare.com/details-of-the-cloudflare-outage-on-july-2-2019/) | ||
- [postmortem of major GitHub outage](https://github.blog/2018-10-30-oct21-post-incident-analysis/) | ||
|
||
## Talks | ||
- [Debugging Under Fire: Keep your Head when Systems have Lost their Mind • Bryan Cantrill](https://www.youtube.com/watch?v=30jNsCVLpAE) | ||
- [Bryan Cantrill - Docker in Production: Tales From the Engine Room](https://www.youtube.com/watch?v=0T2XFSALOaU) | ||
- [Keynote: High Reliability Infrastructure Migrations - Julia Evans, Software Engineer, Stripe](https://www.youtube.com/watch?v=obB2IvCv-K0) | ||
- ["I See What You Mean" by Peter Alvaro](https://www.youtube.com/watch?v=R2Aa4PivG0g) | ||
- [Orchestrated Chaos: Applying Failure Testing Research at Scale](https://www.youtube.com/watch?v=QOTNBKx9Irc) | ||
- [Orchestrating Chaos Applying Database Research in the Wild - Peter Alvaro](https://www.youtube.com/watch?v=YplkQu6a80Q) | ||
|
||
## Research | ||
- [Lineage-driven Fault Injection - the morning paper](https://blog.acolyer.org/2015/03/26/lineage-driven-fault-injection/) | ||
- [The Network is Reliable - the morning paper](https://blog.acolyer.org/2014/12/18/the-network-is-reliable/) | ||
- [Gray failure: the Achilles’ heel of cloud-scale systems - the morning paper](https://blog.acolyer.org/2017/06/15/gray-failure-the-achilles-heel-of-cloud-scale-systems/) | ||
|
||
## Blog posts | ||
- [Chaos Engineering — Review Lineage Driven Failure Injection(LDFI)](https://medium.com/becloudy/chaos-engineering-review-lineage-driven-failure-injection-ldfi-a1c831abe504) | ||
- [I test in prod - Charity Majors](https://increment.com/testing/i-test-in-production/) | ||
|
||
## Projects | ||
- [Chaos Toolkit](https://github.com/chaostoolkit) | ||
- [chaos monkey - Netflix](https://github.com/Netflix/chaosmonkey) | ||
0. [install jekyll](https://jekyllrb.com/docs/installation/) | ||
1. git clone | ||
2. install gems `bundle install` | ||
3. start local server `jekyll server` |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,65 @@ | ||
# Welcome to Jekyll! | ||
# | ||
# This config file is meant for settings that affect your whole blog, values | ||
# which you are expected to set up once and rarely edit after that. If you find | ||
# yourself editing this file very often, consider using Jekyll's data files | ||
# feature for the data you need to update frequently. | ||
# | ||
# For technical reasons, this file is *NOT* reloaded automatically when you use | ||
# 'bundle exec jekyll serve'. If you change this file, please restart the server process. | ||
# | ||
# If you need help with YAML syntax, here are some quick references for you: | ||
# https://learn-the-web.algonquindesign.ca/topics/markdown-yaml-cheat-sheet/#yaml | ||
# https://learnxinyminutes.com/docs/yaml/ | ||
# | ||
# Site settings | ||
# These are used to personalize your new site. If you look in the HTML files, | ||
# you will see them accessed via {{ site.title }}, {{ site.email }}, and so on. | ||
# You can create any custom variable you would like, and they will be accessible | ||
# in the templates via {{ site.myvariable }}. | ||
|
||
title: Failure Modes | ||
description: >- # this means to ignore newlines until "baseurl:" | ||
Collection of how and why our software systems fail | ||
baseurl: "" # the subpath of your site, e.g. /blog | ||
url: "" # the base hostname & protocol for your site, e.g. http://example.com | ||
twitter_username: electron0zero | ||
|
||
#header_pages: | ||
# - pages/about.md | ||
# - pages/stories.md | ||
# - pages/blog_posts.md | ||
# - pages/postmortems.md | ||
# - pages/research.md | ||
# - pages/projects.md | ||
# - pages/stories.md | ||
# - pages/talks.md | ||
|
||
# Build settings | ||
theme: minima | ||
|
||
plugins: | ||
- jekyll-feed | ||
- jekyll-seo-tag | ||
- jemoji | ||
|
||
|
||
# Exclude from processing. | ||
# The following items will not be processed, by default. | ||
# Any item listed under the `exclude:` key here will be automatically added to | ||
# the internal "default list". | ||
# | ||
# Excluded items can be processed by explicitly listing the directories or | ||
# their entries' file path in the `include:` list. | ||
exclude: | ||
- .sass-cache/ | ||
- .jekyll-cache/ | ||
- gemfiles/ | ||
- Gemfile | ||
- Gemfile.lock | ||
- node_modules/ | ||
- vendor/bundle/ | ||
- vendor/cache/ | ||
- vendor/gems/ | ||
- vendor/ruby/ | ||
- .idea/ |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,20 @@ | ||
{%- if page.comments != false and jekyll.environment == "production" -%} | ||
|
||
<div id="disqus_thread"></div> | ||
<script> | ||
var disqus_config = function () { | ||
this.page.url = '{{ page.url | absolute_url }}'; | ||
this.page.identifier = '{{ page.url | absolute_url }}'; | ||
}; | ||
|
||
(function() { | ||
var d = document, s = d.createElement('script'); | ||
|
||
s.src = 'https://{{ site.disqus.shortname }}.disqus.com/embed.js'; | ||
|
||
s.setAttribute('data-timestamp', +new Date()); | ||
(d.head || d.body).appendChild(s); | ||
})(); | ||
</script> | ||
<noscript>Please enable JavaScript to view the <a href="https://disqus.com/?ref_noscript" rel="nofollow">comments powered by Disqus.</a></noscript> | ||
{%- endif -%} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,6 @@ | ||
{% comment %} | ||
Placeholder to allow defining custom favicons | ||
|
||
1. Head over to https://realfavicongenerator.net/ to add your own favicons. | ||
2. Customize default _includes/favicons.html in your source directory and insert the given code snippet. | ||
{% endcomment %} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,32 @@ | ||
<footer class="site-footer h-card"> | ||
<data class="u-url" href="{{ "/" | relative_url }}"></data> | ||
|
||
<div class="wrapper"> | ||
|
||
<div class="footer-col-wrapper"> | ||
<div class="footer-col one-half"> | ||
<h2 class="footer-heading">{{ site.title | escape }}</h2> | ||
<ul class="contact-list"> | ||
<li class="p-name"> | ||
{%- if site.author -%} | ||
{{ site.author | escape }} | ||
{%- endif -%} | ||
</li> | ||
{%- if site.email -%} | ||
<li><a class="u-email" href="mailto:{{ site.email }}">{{ site.email }}</a></li> | ||
{%- endif -%} | ||
</ul> | ||
</div> | ||
|
||
<div class="footer-col one-half"> | ||
<p>{{ site.description | escape }}</p> | ||
</div> | ||
|
||
<div class="footer-col one-half"> | ||
{%- include social.html -%} | ||
</div> | ||
</div> | ||
|
||
</div> | ||
|
||
</footer> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,9 @@ | ||
<script async src="https://www.googletagmanager.com/gtag/js?id={{ site.google_analytics }}"></script> | ||
<script> | ||
window['ga-disable-{{ site.google_analytics }}'] = window.doNotTrack === "1" || navigator.doNotTrack === "1" || navigator.doNotTrack === "yes" || navigator.msDoNotTrack === "1"; | ||
window.dataLayer = window.dataLayer || []; | ||
function gtag(){dataLayer.push(arguments);} | ||
gtag('js', new Date()); | ||
|
||
gtag('config', '{{ site.google_analytics }}'); | ||
</script> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,12 @@ | ||
<head> | ||
<meta charset="utf-8"> | ||
<meta http-equiv="X-UA-Compatible" content="IE=edge"> | ||
<meta name="viewport" content="width=device-width, initial-scale=1"> | ||
{%- include favicons.html -%} | ||
{%- seo -%} | ||
<link rel="stylesheet" href="{{ "/assets/css/style.css" | relative_url }}"> | ||
{%- feed_meta -%} | ||
{%- if jekyll.environment == 'production' and site.google_analytics -%} | ||
{%- include google-analytics.html -%} | ||
{%- endif -%} | ||
</head> |
Oops, something went wrong.