Architecture patterns
Reusable topology fragments — CQRS, circuit breakers, sagas, and more — ready to drop into your design.
AI / ML
Retrieval-Augmented Generation (RAG)
Ground an LLM's answers in retrieved, up-to-date, private documents.
Agentic Tool-Use Loop
An agent plans, calls tools, observes results, and iterates to a goal.
Vector Search + Rerank
Cheaply retrieve a broad candidate set, then precisely re-rank the top results.
Model Serving with A/B Testing
Route inference traffic across model versions to compare live performance.
Fine-Tuning Pipeline
Curate a training set, fine-tune a base model, and register the result.
Feature Store
Compute features once, serve them consistently to training and inference.
Data
CQRS
Separate models and stores for writes and reads.
Event Sourcing
Persist the sequence of events, derive current state by replay.
Cache-Aside
The app reads through the cache and fills it on a miss.
Write-Through Cache
Every write updates the cache and the database together.
Read Replicas
Scale reads horizontally by fanning them out to replicas.
Database Sharding
Split data across shards by key so no single node holds it all.
Materialized View
Precompute an expensive query result and keep it fresh incrementally.
Change Data Capture
Stream a database's row-level changes without touching app code.
Medallion Lakehouse (Bronze/Silver/Gold)
Progressively refine raw data through bronze, silver and gold layers.
Lambda Architecture
Run a fast approximate path and a slow accurate path side by side.
Leader-Follower Replication
One writable leader, several read-only followers kept in sync.
Saga (Orchestration)
A central orchestrator drives a multi-step transaction and its compensations.
Saga (Choreography)
Each service reacts to the previous event and emits the next, with no central coordinator.
Messaging
Pub/Sub Fan-out
One event, many independent subscribers acting on it in parallel.
Competing Consumers
A worker pool pulls from one queue so throughput scales horizontally.
Transactional Outbox
Write state and the event to publish in the same local transaction.
Claim Check
Pass a reference through the message bus, keep the payload out of it.
Scatter-Gather
Broadcast a request to several services, then merge their replies.
Priority Queue
Separate lanes so urgent work is never stuck behind bulk work.
Retry with Backoff & DLQ
Retry transient failures with backoff, quarantine what keeps failing.
Pipes and Filters
Chain small, single-purpose processing stages behind a stream.
Platform
Blue-Green Deployment
Run two full production environments, switch traffic between them.
Canary Release
Send a small slice of traffic to the new version before a full rollout.
Feature-Flag Rollout
Ship code dark, then turn features on for cohorts without redeploying.
CI/CD Pipeline
Automate build, test and deploy from every commit.
Infrastructure as Code
Define infrastructure in version-controlled, reviewable declarations.
Observability: Logs, Metrics & Traces
Instrument every service with the three complementary signal types.
Circuit Breaker
Stop calling a failing dependency instead of piling up timeouts.
Bulkhead Isolation
Partition resources per dependency so one failure can't sink everything.
Rate Limiting & Throttling
Cap request rate per client at the edge before it reaches services.
Multi-Region Active-Active
Serve traffic from two regions simultaneously with data replicated both ways.
Multi-Region Active-Passive (DR)
A warm standby region takes over only when the primary fails.
Sidecar
Attach cross-cutting concerns as a co-located helper process.
Ambassador
A co-located proxy handles connectivity concerns to one specific dependency.
Strangler Fig
Incrementally replace a legacy system behind a routing facade.
Service Mesh
A dedicated infrastructure layer for service-to-service traffic.