Skip to content
all episodes
Code of Architecture · episode 14

Software Architecture: The Hard Parts — Episode 4

1:10:53

Episode participants

  • Igor Maslov

    guest

Conversation

What we discussed on the recording

The fourth Software Architecture: The Hard Parts episode connects behavior reuse with shared-data ownership. The speakers compare approaches through their costs: coupling, network failures, version upgrades, and operational complexity.

Code replication preserves autonomy but multiplies copies. A shared library moves coupling to compile time and needs version discipline, while a shared service puts logic behind a network call. Sidecar, init-container, and adapter patterns place reusable behavior next to the application.

The data discussion starts with one question: who may change a shared table? Single ownership appoints one authority, domain ownership splits responsibility by domain, and a delegate represents several consumers. Service consolidation restores a transaction by making the service larger.

The finale compares eventual consistency, background synchronization, and request-based orchestration. Duplication can be cheaper than an unstable abstraction, while ownership must follow business invariants, change frequency, and the acceptable inconsistency window.

Book series
Software Architecture: The Hard Parts
Neal Ford, Mark Richards, Pramod Sadalage, Zhamak Dehghani
Book playlist