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
290
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
570
PDX 2017 - Pedro Andrade
monitorama
0
690
PDX 2017 - Roy Rapoport
monitorama
4
910
PDX 2017 - Julia Evans
monitorama
0
430
Berlin 2013 - Session - Brad Lhotsky
monitorama
5
680
Berlin 2013 - Session - Alex Petrov
monitorama
6
660
Berlin 2013 - Session - Jeff Weinstein
monitorama
2
590
Berlin 2013 - Session - Oliver Hankeln
monitorama
1
510
Berlin 2013 - Session - David Goodlad
monitorama
0
420
Featured
See All Featured
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
40
2k
Producing Creativity
orderedlist
PRO
344
40k
Intergalactic Javascript Robots from Outer Space
tanoku
270
27k
Facilitating Awesome Meetings
lara
52
6.2k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
49
2.3k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
251
21k
Statistics for Hackers
jakevdp
797
220k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
32
2.1k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
129
19k
Code Reviewing Like a Champion
maltzj
521
39k
The Illustrated Children's Guide to Kubernetes
chrisshort
48
49k
Testing 201, or: Great Expectations
jmmastey
42
7.2k
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