SlideShare a Scribd company logo
Predictable Failure
Building systems that fail in predictable ways.
About

● @ryandotsmith
● Engineer at Heroku for about 3 years
Things I have worked on


  ●   Heroku API
  ●   Messages Queues
  ●   Usage & Billing
  ●   DNS
  ●   Log delivery & visibility
Heroku's Ryan Smith at Waza 2013: Predictable Failure
Heroku's Ryan Smith at Waza 2013: Predictable Failure
Heroku's Ryan Smith at Waza 2013: Predictable Failure
Your system will fail
It is important to comprehend the consequences
Critical Chain
What can you do?

● Make your apps less critical.
● Redundancy
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
}
How many redundancies?
A component that just works
Independence
        func add(x) {
sys.1       return x + y// Bug!
        }


        func add(x) {
sys.2       return x + y// Bug!
        }
Most famous bug ever
Same function
Different implementation
Dormant Failures
Don't wait until disaster strikes to find out that
Your secondary RDMS has a full disk
Propagation
Conclusion
● Best if you don't have to build redundancy
● Consider the pitfalls if you do
  ○   Infinite regress
  ○   Indipendence
  ○   Dormant Failures
  ○   Propagation
● Don't be disillusioned 99.0 > 98.0

More Related Content

PPTX
Apache kafka part 2
PDF
Linux cron - crontab - temp files
PDF
Code Efficiency (Nur Nachman)
PPT
Lift design
PDF
Concurrency in Distributed Systems : Leslie Lamport papers
PPTX
Random numbers c++ class 11 and 12
PDF
A698111855 22750 26_2018_finite
PDF
Assignment cn tl
 
Apache kafka part 2
Linux cron - crontab - temp files
Code Efficiency (Nur Nachman)
Lift design
Concurrency in Distributed Systems : Leslie Lamport papers
Random numbers c++ class 11 and 12
A698111855 22750 26_2018_finite
Assignment cn tl
 

What's hot (20)

PPTX
SHA1 collision analysis and resolving a problem of recursive hashing with xra...
PPTX
Algorithm Analysis
ODP
operating system (process)
PPTX
Asymptotic Analysis in Data Structure using C
PDF
Implementing Real-Time Transactional Security Property using Timed Edit Automata
PDF
Feel++ webinar 9 27 2012
PPT
Asymptoptic notations
ODP
Beyond TrueTime
PPT
Tower of hanoi
DOCX
Q1 create a java desktop application to find the largest number among the t...
PPTX
Tower of hanoi
PDF
Basic Fresher Algorithm
PDF
Highlights of Go 1.1
PDF
SW/HW co-design for near-term quantum computing
PDF
Dummy log generation using poisson sampling
PDF
Tower of Hanoi using AI technique - means ends analysis
PPTX
Paper_An Efficient Garbage Collection in Java Virtual Machine via Swap I/O O...
PDF
Highlights of Go 1.1
PDF
Presentation_Parallel GRASP algorithm for job shop scheduling
PPT
SHA1 collision analysis and resolving a problem of recursive hashing with xra...
Algorithm Analysis
operating system (process)
Asymptotic Analysis in Data Structure using C
Implementing Real-Time Transactional Security Property using Timed Edit Automata
Feel++ webinar 9 27 2012
Asymptoptic notations
Beyond TrueTime
Tower of hanoi
Q1 create a java desktop application to find the largest number among the t...
Tower of hanoi
Basic Fresher Algorithm
Highlights of Go 1.1
SW/HW co-design for near-term quantum computing
Dummy log generation using poisson sampling
Tower of Hanoi using AI technique - means ends analysis
Paper_An Efficient Garbage Collection in Java Virtual Machine via Swap I/O O...
Highlights of Go 1.1
Presentation_Parallel GRASP algorithm for job shop scheduling
Ad

Similar to Heroku's Ryan Smith at Waza 2013: Predictable Failure (20)

PDF
Common Pitfalls of Functional Programming and How to Avoid Them: A Mobile Gam...
PDF
What could possibly go wrong
PPTX
Столпы функционального программирования для адептов ООП, Николай Мозговой
PDF
Defensive programming in Javascript and Node.js
PDF
Functional go
PDF
Reliability Patterns for Distributed Applications
PPTX
Functional Programming in Swift
PPTX
Introduction to GoLang
ODP
DevOps Days Vancouver 2014 Slides
PPTX
Functional programming for production quality code
KEY
Beauty and Power of Go
PDF
The Fuss about || Haskell | Scala | F# ||
PDF
Geeks Anonymes - Le langage Go
PDF
7 Common Mistakes in Go (2015)
PDF
Golang from Scala developer’s perspective
PDF
Fault Tolerance 101
PDF
CSL Seminar presented by Cassiano Campes - 17-03-13
PDF
Functional Go
PPTX
Intro to Functional Programming
PPTX
golang_getting_started.pptx
Common Pitfalls of Functional Programming and How to Avoid Them: A Mobile Gam...
What could possibly go wrong
Столпы функционального программирования для адептов ООП, Николай Мозговой
Defensive programming in Javascript and Node.js
Functional go
Reliability Patterns for Distributed Applications
Functional Programming in Swift
Introduction to GoLang
DevOps Days Vancouver 2014 Slides
Functional programming for production quality code
Beauty and Power of Go
The Fuss about || Haskell | Scala | F# ||
Geeks Anonymes - Le langage Go
7 Common Mistakes in Go (2015)
Golang from Scala developer’s perspective
Fault Tolerance 101
CSL Seminar presented by Cassiano Campes - 17-03-13
Functional Go
Intro to Functional Programming
golang_getting_started.pptx
Ad

More from Heroku (11)

PDF
Heroku 101 py con 2015 - David Gouldin
PPTX
Heroku Connect: The New Way to Build Connected Customer Applications
PDF
Heroku webcastdeck+20130828
PDF
Mattt Thompson at Heroku's Waza 2013: Mobile is not Different
PDF
Codeacademy's Linda Liukas at Heroku's Waza 2013: Code is Everyone's Business
PDF
Rob Sullivan at Heroku's Waza 2013: Your Database -- A Story of Indifference
PDF
Librato's Joseph Ruscio at Heroku's 2013: Instrumenting 12-Factor Apps
PDF
Noah Zoschke at Waza 2013: Heroku Secrets
PDF
Rdio's Alex Gaynor at Heroku's Waza 2013: Why Python, Ruby and Javascript are...
PDF
AirBnB's Jack Lawson at Heroku's Waza: Dismantling the Monorail
PDF
Kirby Ferguson at Heroku's Waza 2013
Heroku 101 py con 2015 - David Gouldin
Heroku Connect: The New Way to Build Connected Customer Applications
Heroku webcastdeck+20130828
Mattt Thompson at Heroku's Waza 2013: Mobile is not Different
Codeacademy's Linda Liukas at Heroku's Waza 2013: Code is Everyone's Business
Rob Sullivan at Heroku's Waza 2013: Your Database -- A Story of Indifference
Librato's Joseph Ruscio at Heroku's 2013: Instrumenting 12-Factor Apps
Noah Zoschke at Waza 2013: Heroku Secrets
Rdio's Alex Gaynor at Heroku's Waza 2013: Why Python, Ruby and Javascript are...
AirBnB's Jack Lawson at Heroku's Waza: Dismantling the Monorail
Kirby Ferguson at Heroku's Waza 2013

Recently uploaded (20)

PDF
NewMind AI Weekly Chronicles - August'25 Week I
PDF
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
PDF
Advanced methodologies resolving dimensionality complications for autism neur...
PPTX
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
PDF
Reach Out and Touch Someone: Haptics and Empathic Computing
PDF
Network Security Unit 5.pdf for BCA BBA.
PPTX
ACSFv1EN-58255 AWS Academy Cloud Security Foundations.pptx
PPT
“AI and Expert System Decision Support & Business Intelligence Systems”
PDF
Encapsulation theory and applications.pdf
PDF
Chapter 3 Spatial Domain Image Processing.pdf
PPTX
Understanding_Digital_Forensics_Presentation.pptx
PDF
Empathic Computing: Creating Shared Understanding
PDF
cuic standard and advanced reporting.pdf
PDF
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
PDF
Mobile App Security Testing_ A Comprehensive Guide.pdf
PPTX
Spectroscopy.pptx food analysis technology
PPTX
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
PDF
Encapsulation_ Review paper, used for researhc scholars
PPTX
Cloud computing and distributed systems.
PDF
Diabetes mellitus diagnosis method based random forest with bat algorithm
NewMind AI Weekly Chronicles - August'25 Week I
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
Advanced methodologies resolving dimensionality complications for autism neur...
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
Reach Out and Touch Someone: Haptics and Empathic Computing
Network Security Unit 5.pdf for BCA BBA.
ACSFv1EN-58255 AWS Academy Cloud Security Foundations.pptx
“AI and Expert System Decision Support & Business Intelligence Systems”
Encapsulation theory and applications.pdf
Chapter 3 Spatial Domain Image Processing.pdf
Understanding_Digital_Forensics_Presentation.pptx
Empathic Computing: Creating Shared Understanding
cuic standard and advanced reporting.pdf
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
Mobile App Security Testing_ A Comprehensive Guide.pdf
Spectroscopy.pptx food analysis technology
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
Encapsulation_ Review paper, used for researhc scholars
Cloud computing and distributed systems.
Diabetes mellitus diagnosis method based random forest with bat algorithm

Heroku's Ryan Smith at Waza 2013: Predictable Failure