Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Berlin 2013 - Session - Ryan Smith
Search
Monitorama
September 19, 2013
0
310
Berlin 2013 - Session - Ryan Smith
Monitorama
September 19, 2013
Tweet
Share
More Decks by Monitorama
See All by Monitorama
Monitorama PDX 2017 - Ian Bennett
monitorama
1
590
PDX 2017 - Pedro Andrade
monitorama
0
750
PDX 2017 - Roy Rapoport
monitorama
4
950
PDX 2017 - Julia Evans
monitorama
0
470
Berlin 2013 - Session - Brad Lhotsky
monitorama
5
720
Berlin 2013 - Session - Alex Petrov
monitorama
6
690
Berlin 2013 - Session - Jeff Weinstein
monitorama
2
630
Berlin 2013 - Session - Oliver Hankeln
monitorama
1
540
Berlin 2013 - Session - David Goodlad
monitorama
0
460
Featured
See All Featured
Connecting the Dots Between Site Speed, User Experience & Your Business [WebExpo 2025]
tammyeverts
8
440
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
16k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
PRO
22
1.4k
Statistics for Hackers
jakevdp
799
220k
Scaling GitHub
holman
461
140k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
110
19k
The Art of Programming - Codeland 2020
erikaheidi
54
13k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
18
1.1k
A Tale of Four Properties
chriscoyier
160
23k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
358
30k
Designing for humans not robots
tammielis
253
25k
We Have a Design System, Now What?
morganepeng
53
7.7k
Transcript
Predictable Failure Building systems that fail in predictable ways.
Failure is the inability to handle failure.
Southern Airways Flight 242
None
What went wrong • Radar misguided pilots into the storm
• Pilots applied thrust to a stalling engine • Close landing field was not suggested
How will the system fail?
How will Redis fail?
None
British Airways Flight 009
What went wrong • All engines failed • St. Elmos
fire but nothing on the radar • Radio to tower was not 100% • 1st officers oxygen mask broke
What happens when the system fails
No Redundancy - Simple func Query(c Conn, query string) Result
{ return c.DoQuery(query) }
Redundancy - Complex func Query(conns []Conn, query string) Result {
ch := make(chan Result, len(conns)) for _, conn := range conns { go func(c Conn) { ch <- c.DoQuery(query): }(conn) } return <-ch }
Independence
Same function Different implementation
How many redundancies?
A component that just works
Dormant Failures
Don't wait until disaster strikes to find out that Your
secondary RDMS has a full disk
Propagation
Danke! @ryandotsmith