Lock in $30 Savings on PRO—Offer Ends Soon! ⏳
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
320
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
610
PDX 2017 - Pedro Andrade
monitorama
0
790
PDX 2017 - Roy Rapoport
monitorama
4
970
PDX 2017 - Julia Evans
monitorama
0
500
Berlin 2013 - Session - Brad Lhotsky
monitorama
5
740
Berlin 2013 - Session - Alex Petrov
monitorama
6
710
Berlin 2013 - Session - Jeff Weinstein
monitorama
2
650
Berlin 2013 - Session - Oliver Hankeln
monitorama
1
570
Berlin 2013 - Session - David Goodlad
monitorama
0
490
Featured
See All Featured
Lessons Learnt from Crawling 1000+ Websites
charlesmeaden
PRO
0
960
Game over? The fight for quality and originality in the time of robots
wayneb77
1
67
Leadership Guide Workshop - DevTernity 2021
reverentgeek
0
170
Writing Fast Ruby
sferik
630
62k
Connecting the Dots Between Site Speed, User Experience & Your Business [WebExpo 2025]
tammyeverts
10
760
The State of eCommerce SEO: How to Win in Today's Products SERPs - #SEOweek
aleyda
2
9.1k
30 Presentation Tips
portentint
PRO
1
180
A Modern Web Designer's Workflow
chriscoyier
698
190k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
659
61k
Designing Experiences People Love
moore
143
24k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
31
9.8k
Designing for humans not robots
tammielis
254
26k
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