notes from production

Migration & event-driven systems, from the trenches

Real patterns, real trade-offs — from systems that had to keep running while they changed underneath.

ARCHITECTURE · MIGRATION · 8 MIN READ

How We Split a Legacy Monolith Into Microservices Without a Single Outage

Most teams avoid migration because they imagine one terrifying big-bang cutover. Here's the pattern that avoids that entirely — a facade, one slice at a time, shadow traffic to prove each cutover before it happens, and a product team that never had to stop shipping.

Read the post →
MESSAGING · MIGRATION · 9 MIN READ

ActiveMQ → NATS: what a 5–10M-messages-a-day migration actually teaches you

Swapping a message broker under a live, high-throughput system sounds simple until you hit duplicate orders, silent failures, and a monitoring gap nobody noticed until it mattered. Here's the approach that worked — idempotent receivers, Outbox, Saga, and a migration order that didn't require a maintenance window.

Read the post →

More write-ups coming as I work through real migrations

In the meantime, if your system has a similar shape, a 20-minute call is a good place to start.