Articles & Blog
Practical guides, deep-dives and opinions on .NET, Cloud Architecture and Enterprise Software.
If a Function Can Do It, Don't Make It an Agent
How to choose between AI agents and explicit workflows, why multi-agent is not a maturity badge, and how production systems mix both without losing control.

Janardhana Bandaru
August 5, 2026
Exactly-Once Is the Wrong Default Goal
What at-least-once delivery means, why duplicates happen on both producer and consumer paths, and why business systems usually need at-least-once on the wire plus safe handling of repeats.

Janardhana Bandaru
August 3, 2026
BigQuery for .NET Developers: What You Need to Know Before It Gets Expensive
BigQuery charges for data read, not queries run. Every decision you make, from table structure to query shape to how you write data, directly affects your bill. A practical guide for application developers calling BigQuery from .NET.

Janardhana Bandaru
May 3, 2026
MediatR Pipeline Behaviors: Middleware for Your Application Layer
Logging, validation, performance monitoring, and transaction management written once and applied to every request automatically. A deep-dive into MediatR Pipeline Behaviors with four production-ready implementations.

Janardhana Bandaru
March 25, 2026
The Outbox Pattern: A Design Deep-Dive
Why does guaranteed message delivery fail in distributed systems, even when everything looks correct? A concept-first deep-dive into the Outbox Pattern covering the Dual Write Problem, trade-offs, analogies, and when to use it. No code, just clarity.

Janardhana Bandaru
March 22, 2026
Implementing CQRS with MediatR in .NET Core
Command Query Responsibility Segregation with MediatR in .NET: thin controllers, queries and commands, domain events, and the reliability gap that leads to the Outbox Pattern.

Janardhana Bandaru
March 21, 2026
More articles coming soon
This blog is actively being built. Follow on LinkedIn or subscribe via RSS for new posts.