Fifteen years building and scaling distributed systems, across the industry's move from bare-metal servers and monoliths to cloud-native, Kubernetes and GitOps. I take on the work teams postpone: paying down technical debt, building deployment from nothing, and keeping systems running.
Six shifts the industry has since packaged and sells ready-made. I worked through them before anything was ready-made.
Search and Document Store
Search / Data — Elasticsearch, MongoDB, Python, Kafka, Redis
Reference architecture. Client code is under NDA, so this page describes the design and the reasoning behind it rather than a specific deployment.
A search tier kept current by a change stream rather than a nightly job, so an edit becomes searchable in seconds. The document store holds the flexible shape, the search index holds what needs querying, and neither pretends to be the system of record.
Reindexing is the operation everyone forgets to design. Here it writes to a new index alias-side and swaps atomically when complete, which means schema changes and analyser changes are routine rather than an outage scheduled for a Sunday.