Fallacies of Distributed Computing

Details
Full Name

The Eight Fallacies of Distributed Computing

Also known as

Deutsch’s Fallacies, Fallacies of Networked Computing

Core Concepts:

The eight false assumptions

(1) The network is reliable. (2) Latency is zero. (3) Bandwidth is infinite. (4) The network is secure. (5) Topology doesn’t change. (6) There is one administrator. (7) Transport cost is zero. (8) The network is homogeneous

Why it matters

Each assumption is comfortable in local development and false in production; building on them produces systems that fail under real network conditions

As an audit checklist

Invoke the list to interrogate a distributed design — for each fallacy, ask what happens when the real-world opposite is true (retries, timeouts, backpressure, encryption, service discovery, capacity limits, protocol negotiation)

Mitigation cues

Reliability → retries/idempotency; latency → batching/locality; security → zero-trust; topology → service discovery; homogeneity → explicit contracts and versioning

Key Proponents

L. Peter Deutsch (first seven, Sun Microsystems, c. 1994); James Gosling added the eighth ("the network is homogeneous"); early items credited to Bill Joy and Tom Lyon

When to Use:

  • Reviewing or hardening a distributed/microservice design

  • Writing resilience requirements (timeouts, retries, circuit breakers)

  • Onboarding developers moving from monolith to distributed thinking

  • Post-incident analysis of network-related outages

When NOT to Use:

  • For purely in-process, single-machine logic with no network calls

  • As a substitute for measuring your actual network’s behaviour