CQRS with MediatR and Autofac in .NET 6

9 minute read
CQRS is an application architecture pattern and stands for Command query responsibility segregation. My intent with this article is not to…

Convert ARM Template to Bicep and Deploy with Azure DevOps - Part 3 - Refactor

6 minute read
This is the third part of the series where an ARM Template is converted to Bicep. In this article, we should continue on Phase 3 - Refactor…

Chaining Pattern - Part 2 - Azure Durable Functions

4 minute read
If you need to define a workflow that executes tasks in sequence, the Chaining Pattern is the application pattern to use with Durable…

Major Components in Azure Durable Functions

2 minute read
Durable Functions are stateful workflows, that uses orchestration to manage state, create progress checkpoints, and handle the distribution…

Open Telemetry Exporter with .NET6

3 minute read
You can export traces and metrics from Open Telemetry by implementing custom exporters, and in this article, I would like to show how to…

Difference between Caret (^) and Tilde (~) in package.json. Did you know?

1 minute read
The difference between a Caret and Tilde in package.json. Did you know it is simpler than it looks? and at the same time a nuance that you…

Open Telemetry and Azure Monitor Trace Explorer

3 minute read
When it comes to observability, we rely on telemetry that is captured through reliable instrumentation. Observability With the increased…

Convert ARM Template to Bicep and Deploy with Azure DevOps - Part 2 - Migration

2 minute read
This is the second part of the series where an ARM Template is converted to Bicep. In this article, we should continue on Phase…

Azure and .NET nested JSON sections. Did you know?

1 minute read
.NET Core (and ASP.NET Core) supports (hierarchical configuration data), which is represented by nesting JSON sections. Let's look at this…

Integrate KeyVault Secrets with Azure Functions

6 minute read
Integrating KeyVault secrets on Azure Functions is not complicated, the service was designed to handle it via configuration or…