Skip to main content
  1. References/
  2. Architecture Design Basics/
  3. Pattern Taxonomy/
  4. Fundamental Concepts/

Fallacies of Distributed Computing

·· 238 words· 2 mins

🟠 P1 — Peter Deutsch’s eight fallacies; useful as a shortcut reference in interviews

Problem #

Engineers new to distributed systems implicitly assume properties that don’t hold. These assumptions lead to brittle systems that fail in production under real-world conditions.

The Eight Fallacies #

FallacyRealityDesign Implication
1The network is reliablePackets get dropped, connections resetRetry, idempotency, circuit breakers
2Latency is zeroNetwork calls are 1000x slower than local callsBatch calls, caching, async where possible
3Bandwidth is infiniteSerialisation format and payload size matterProtobuf > JSON for high-throughput
4The network is secureEvery hop is an attack surfacemTLS, auth at service boundaries
5Topology doesn’t changeServices move, IPs change, regions shiftService discovery, DNS, load balancers
6There is one administratorMultiple teams, orgs, cloud providersBlast radius, ownership boundaries
7Transport cost is zeroCloud egress fees, serialisation CPU costMinimise cross-region traffic, compress
8The network is homogeneousDifferent hardware, OS, languages, versionsWell-defined APIs, schema evolution

Instinct #

These are useful as a checklist during design review. When sketching a system, mentally walk through each fallacy: “Am I assuming the network is reliable here? What happens when it isn’t?”

In interviews, invoking specific fallacies by number is a communication bandwidth shortcut — see also: Back-of-Envelope Estimation for the numbers that back up fallacy #2 and #3.

Reference #