The Computing Series

Real Systems

POSIX filesystem interface: open, read, write, close — four operations that have abstracted every storage medium from magnetic tape to NVMe SSDs for fifty years. Implementations vary enormously; the interface has not changed. This is the canonical example of a stable, well-bounded abstraction.

JDBC (Java Database Connectivity): A standard interface for relational databases. Write once against Connection, Statement, ResultSet; run against MySQL, PostgreSQL, or Oracle. Leakage appears in SQL dialects (the abstraction does not cover query language) and in connection pool errors (implementation-specific failure modes surface through the generic interface).

Kubernetes API: kubectl apply submits a desired state manifest. The control plane — which may run on any cloud or on bare metal — reconciles reality toward that state. Callers know nothing about the underlying infrastructure. The abstraction is so successful that the same manifest deploys to AWS, GCP, or an on-premises cluster.

HTTP: The protocol abstracts TCP. Callers speak HTTP methods and status codes; they do not manage TCP handshakes or retransmission. Leakage occurs at connection limits, timeout configurations, and keep-alive behaviour — TCP details that surface under load.

Concept: Abstraction and Interfaces Thread: T10 (Encoding) ← Book 1, Ch 9 (Hashing as data abstraction) → Ch 17 (API Design and Versioning) Core Idea: An abstraction hides irrelevant complexity behind a stable interface; callers depend on the interface, not the implementation, so implementations can change independently. Tradeoff: AT8 — Coupling/Cohesion: the interface reduces coupling to the implementation but creates coupling to itself; change the interface and every caller and implementor must change. Failure Mode: FM8 — Schema/Contract Violation: interfaces that change without coordination, or that leak implementation details, break callers at the boundary. Signal: When changing a subsystem requires changing callers that should not care about implementation details, the abstraction is either missing or leaking. Maps to: Reference Book, Framework 8 (Patterns)

Read in the book →