Busy Architect's Guide to the Fallacies of Distributed Systems

ted@tedneward.com | Blog: http://blogs.tedneward.com | Twitter: tedneward | Github: tedneward | LinkedIn: tedneward

Fallacies

What are these again?

Fallacies

Fallacies are...

Fallacies

To put it in Deutsch's own words...

"Essentially everyone, ... makes the following assumptions.

"All turn out to be false in the long run and all cause big trouble and painful learning experiences."

Fallacies

In theory...

In practice...

The Fallacies of Distributed Computing

Mistakes are all too easy to repeat

The Fallacies of Distributed Computing

"Essentially everyone, when they first build an distributed system, makes the following 10 assumptions. All turn out to be false in the long run and all cause big trouble and painful learning experiences."

    The network is reliable

    Latency is zero

    Bandwidth is infinite

    The network is secure

    Topology doesn't change

    There is one administrator

    Transport cost is zero

    The network is homogeneous

Fallacy: The Network is Reliable

Distributed Fallacy #1

Fallacy: The Network is Reliable

"The network is reliable"

Fallacy: The Network is Reliable

Mitigation: "When", not "if"

Fallacy: Latency is Zero

Distributed Fallacy #2

Fallacy: Latency is Zero

Bits take time

Fallacy: Latency is Zero

Mitigation: Count the bytes

Fallacy: Bandwidth is Infinite

Distributed Fallacy #3

Fallacy: Bandwidth is Infinite

A network can only carry so much data at once

Fallacy: Bandwidth is Infinite

Mitigation: Don't send more than you need

Fallacy: The network is secure

Distributed Fallacy #4

Fallacy: The network is secure

Secure networks depend on...

Fallacy: The network is secure

Mitigation: Assume insecurity

Fallacy: Topology doesn't change

Distributed Fallacy #5

Fallacy: Topology doesn't change

Topology: Physical arrangement of networks

Fallacy: Topology doesn't change

Mitigation: Make use of layers of indirection

Fallacy: There is one administrator

Distributed Fallacy #6

Fallacy: There is one administrator

Just one person?

Fallacy: There is one administrator

Mitigation: Make the system administrator-friendly

Fallacy: Transport cost is zero

Distributed Fallacy #7

Fallacy: Transport cost is zero

"It's the network! It's fast as light!"

Fallacy: Transport cost is zero

Mitigation: Know what you're sending, and its costs

Fallacy: The network is homogeneous

Distributed Fallacy #8

Fallacy: The network is homogeneous

"Networks are all made up of just one thing"

Even if it is today, there's tomorrow

Fallacy: The network is homogeneous

Mitigation: Assume a heterogenous network at all points

Summary

Wrapping up

Summary

EVERYBODY HAS MADE THESE MISTAKES

Summary

EVERYBODY HAS MADE THESE MISTAKES

Learn from the mistakes

Summary

EVERYBODY HAS MADE THESE MISTAKES

Learn from the mistakes

Hold design reviews against the fallacies

Credentials

Who is this guy?