Designing Distributed Systems: The First Four Chapters
Brendan Burns opens Designing Distributed Systems with a useful premise: distributed systems become easier to reason about when we give recurring solutions names. The first chapter establishes that pattern language; the next three make it concrete with small, reusable containers that support an application without becoming part of its business logic.
Sidecar
A sidecar extends an application from beside it. Both containers share a lifecycle and local resources, but remain independently built and maintained. Think HTTPS termination, configuration sync, or log collection.