The Journal — Production Reliability Engineering
The Journal
Deep-dive production diagnostics. Each article addresses a specific failure pattern diagnosed and fixed in production.

Why your legacy .NET application keeps getting slower (and what to measure first)
Legacy .NET apps slow down for predictable reasons — query bloat, blocking I/O, lock contention, and compounding technical debt. A practical guide for engineering leaders: what to measure first, how to find the real bottlenecks in days, and why "it's just old" is not a diagnosis.
Aug 14, 2026

Modular monolith vs microservices: the pragmatic path for legacy .NET
Microservices are not the default destination for a legacy .NET monolith. The modular monolith gets you most of the benefits with a fraction of the risk. A framework for engineering leaders deciding where their legacy application should actually go.
Aug 12, 2026

Why your legacy .NET application keeps getting slower (and what to measure first)
Legacy .NET apps slow down for predictable reasons — query bloat, blocking I/O, lock contention, and compounding technical debt. A practical guide for engineering leaders: what to measure first, how to find the real bottlenecks in days, and why "it's just old" is not a diagnosis.
Aug 14, 2026

Modular monolith vs microservices: the pragmatic path for legacy .NET
Microservices are not the default destination for a legacy .NET monolith. The modular monolith gets you most of the benefits with a fraction of the risk. A framework for engineering leaders deciding where their legacy application should actually go.
Aug 12, 2026

Moving a legacy .NET app to Azure without a rewrite
Cloud migration does not have to mean modernization-by-rewrite. A pragmatic path for moving .NET Framework, Web Forms, or WCF applications to Azure — lift-and-shift first, then modernize incrementally where it reduces risk and cost. What to move, what to re-architect, and what to leave alone.
Aug 10, 2026




























































