Welcome to my blog!

In this page you can find the different articles I've written over time. I write about Azure, ASP.NET Core and other technologies.

I hope you enjoy reading and feel free to leave feedback on the GitHub discussions, or send me an email.

Azure B2C Single Sign On for Atlassian

This post will demonstrate how to configure Atlassian and B2C to support SAML2 single sign on.

Creating architecture diagrams for Azure solutions

This post will teach you how to use Diagrams.net (also known as Draw.io) to create architecture diagrams for Azure-based solutions.

Self-healing ASP.NET Core APIs on Container Apps

In this post, we look at adding health checks to an ASP.NET Core API and configuring health probes on Container Apps to enable self-healing.

Reviewing 10 years of work

In this personal post, I review my first decade of experience in the work environment, and how I got to where I am.

Controlling outbound IPs through Azure NAT Gateway with Bicep

Using Bicep to deploy NAT Gateways to control the outbound IPs used by compute nodes.

Centralized Private Endpoints with Azure Bicep

Using Bicep to manage Private Endpoints in a hub-and-spoke topology with centrally managed Private Endpoints for on-premises to Azure connectivity

Passwordless CosmosDB from Container Apps with Bicep

Using Bicep to create the necessary identities and role assignments to securely connect to CosmosDB from Container Apps

Azure DevOps: Bicep CI/CD Pipelines with bicepparam

A look at improving Bicep DX using bicepparam files, and how we can consume them in Azure DevOps

Azure DevOps: Bicep CI/CD Pipelines

A hands-on project for creating CI/CD pipelines with Azure DevOps for Bicep projects.

Azure B2C Client Credentials with ASP.NET Core

A walkthrough of adding support for the OAuth2 Client Credentials flow secured by Azure B2C.

From hype-based to rational Software Architecture

Opinion: A call to ignore so much hype in the IT industry, and base software architecture in rational decision making.

Reusing Azure Bicep modules

A quick look into how to reuse Azure Bicep modules when targetting more than one Environment.

PHP Symfony in Azure App Services

A detailed post showing the steps needed to deploy PHP 8.x with Symfony 6.x to Azure App Services

Azure B2C custom policy with Entra ID support

Implementing an IEF policy that supports local and Entra ID accounts with proper code documentation

Governance As Code with Azure Bicep

A look at achieving Governance As Code with Azure Bicep templates.

Practical Clean Architecture solution template

A .NET solution template for a Clean Architecture solution that has uses pragmatic ideas and no third-party libraries to keep things simple.

Microservices with Azure Container Apps and Bicep templates

A look into how to deploy microservices to Azure Container Apps using Azure DevOps Pipelines for CI/CD and Azure Bicep templates.

Generating static sites from ASP.NET Core MVC apps

Transform ASP.NET Core MVC websites into static sites/websites (like this one!).

OAuth Authorization Code flow from Python desktop

Learn how to use a Python web server to support OAuth PKCE (Authorization Code) flow from Python desktop apps or Jupyter notebooks.

Dependency Injection with Hangfire Microservices

A first look at developing Hangfire-enabled microservices to offload and schedule jobs using ASP.NET Core and Dependency Injection.

OAuth PKCE flow for ASP.NET Core with Swagger

Allow your developers to log-in using OAuth PKCE (Authorization Code) flow in ASP.NET Core with Swagger/OpenAPI.

A story of a 22+ hours interview process

A short story of an interview process I did that took me over 22 hours to complete, and what I learnt from it.

ASP.NET Core integration tests with NUnit and Moq

Learn how to write ASP.NET Core integration tests using the WebApplicationFactory, by using the NUnit framework and Moq for mocks.

Simplifying observability in .NET distributed systems

In this post, I discuss a custom approach for making it simpler to track down nasty bugs in ASP.NET Core and .NET microservices.

Simple and secure custom API Keys using ASP.NET Core

Secure API Keys generation and validation in ASP.NET Core, with support for Swagger/OpenAPI

Real-time charts with Plotly and Azure SignalR Serverless

In this post, we'll see how to create a basic solution for plotting graphs in real-time with Azure SignalR and Plotly.js.