← All posts

Tag

Architecture

8 posts

ETag: The Concurrency Guard Hiding in a Cache Header
HTTPArchitectureReliability

ETag: The Concurrency Guard Hiding in a Cache Header

ETag is a cache validator on reads and a concurrency guard on writes — the specification requires different comparison rules for each. Built end to end in PHP and Go, and proven with two real writers racing for one resource.

September 30, 202622 min read
Read post
Dapr: A Portable API Over Non-Portable Guarantees
DaprArchitectureReliability

Dapr: A Portable API Over Non-Portable Guarantees

Dapr's building blocks are portable; the guarantees underneath them are not. The same requests against two stores Dapr calls Stable — one failure is refused, the other is silent. With a runnable demo.

September 29, 202615 min read
Read post
Four Failure Shapes From Public Postmortems
AIArchitectureReliability

Four Failure Shapes From Public Postmortems

Seven published incidents, two predating LLMs, collapse into four shapes: the label became the goal, the gate never held, validation stayed inside, and the recovery was never tested.

September 29, 202613 min read
Read post
Where I Deliberately Don't Use AI
AILLMArchitecture

Where I Deliberately Don't Use AI

AI can do more than I let it do. A practitioner's boundary list — the places I deliberately don't use it, the two questions that draw the line, and where I have already changed my mind.

September 29, 202613 min read
Read post
Event Sourcing in Production Laravel: Snapshots, Schema Evolution, and Read-Model Rebuilds
LaravelEvent SourcingArchitecture

Event Sourcing in Production Laravel: Snapshots, Schema Evolution, and Read-Model Rebuilds

Three production concerns that look like separate problems and are not. A working Laravel 13 skeleton with version-aware serializers, snapshot invalidation, and idempotent projection replay — all backed by tests.

September 1, 202623 min read
Read post
When to Reach for an Agent, and When to Ship the Workflow
AIArchitectureAgents

When to Reach for an Agent, and When to Ship the Workflow

An LLM agent is a commitment, not a category. Here's the decision framework, the failure modes, the three-layer reliability model, and the hybrid architecture that actually works in production.

August 28, 202617 min read
Read post
Inbox Pattern: Stop Double-Processing Messages in Distributed Systems
ArchitecturePatternsReliabilityMessaging

Inbox Pattern: Stop Double-Processing Messages in Distributed Systems

When your consumer crashes after processing but before acknowledging, the broker redelivers — and your system processes the same message twice. The Inbox pattern is the answer to safe, idempotent message consumption.

June 23, 202610 min read
Read post
Outbox Pattern: How to Stop Losing Messages in Distributed Systems
ArchitecturePatternsReliability

Outbox Pattern: How to Stop Losing Messages in Distributed Systems

When your database transaction commits but the message never reaches the queue, the Outbox pattern is the answer. A practical guide to reliable event publishing without dual-writes.

June 16, 20265 min read
Read post