Building Resilient Event Pipelines with Azure Service Bus
A deep dive into message retry patterns, dead-letter queues, and handling transient failures in distributed systems. Practical code and hard-won lessons from production.
Real-world architectures, hard-won lessons, and practical solutions from the trenches of enterprise software development.
Practical insights and technical explorations from years of building enterprise systems.
Event-driven architectures, message queuing, and real-time data pipelines.
Cloud-native solutions, Azure Functions, and scalable microservices.
Custom plugins, Power Platform integrations, and enterprise workflows.
Build automation, CI/CD pipelines, and productivity workflows.
Leveraging AI tools to accelerate development and solve complex problems.
Recent technical writeups and learnings from production systems.
A deep dive into message retry patterns, dead-letter queues, and handling transient failures in distributed systems. Practical code and hard-won lessons from production.
Battle-tested patterns for writing maintainable, testable Dynamics 365 plugins. Base classes, mocking strategies, and the anti-patterns that cause late-night debugging.
How to incrementally decompose legacy .NET applications without a full rewrite. Real patterns from real projects, including when NOT to use microservices.

I'm a senior solution architect specializing in .NET, Azure, and Dynamics 365. Over the past decade, I've helped organizations design and build scalable, maintainable enterprise systems.
I believe in pragmatic architecture—understanding the trade-offs, choosing the right tool for the job, and building systems that teams can actually maintain. This blog is where I share what I've learned along the way.