Nygard's verdict: **integration points are the number-one killer of systems.** Every feed, every socket, process, pipe, or remote procedure call — even database calls — *can and will* hang, in ways obvious and subtle. Every connection into a system can hang it, crash it, or generate impulses at the worst possible time. A "standalone system that doesn't integrate with anything is rare, and almost useless," so the goal isn't to avoid integration points but to make them *safe*. The first mindset shift: a new architect focuses on the boxes in a diagram; an experienced one is more interested in the **arrows** — each arrow is an abstraction for a network connection, itself an abstraction over packets, and any layer can fail. Every integration point will eventually fail in some way, and the failure won't arrive as a tidy error through the protocol — expect protocol violations, slow responses, or outright hangs. The defenses introduced later are **Circuit Breaker, Timeouts, Decoupling Middleware, and Handshaking**; the testing defense is a **Test Harness** that can simulate each failure mode under load. --- *Source: [[Release It Second Edition]] (Michael T. Nygard, Pragmatic Bookshelf 2018) — Ch 4 — Stability Antipatterns*