Andrew Wilson's Blog

{ ... Plan - Architect - Develop - Reflect - Improve - Repeat ... }

Unit Testing Bicep Logic with BicepConsoleTTK

Problem Space In most Infrastructure as Code teams, Bicep quality checks start to look mature as soon as linting and deployment validation are in place. In practice, there is still a blind spot: logic-level testing of exported functions, types, and variables. Most teams validate by deploying to a …


Azure App Registrations | Display Name Guidance

Problem Space I recently had to troubleshoot an issue where two App Registrations in the same tenant had the same display name. Azure allows this. Operationally, it hurts. When names are duplicated, diagnosis gets slower and riskier because engineers cannot trust what they see first in the portal. …


Azure Key Vault | Access Policies Removed On Deployment

⚠️ NOTE Microsoft guidance is clear that Azure RBAC should be used for data plane authorization moving forward, instead of legacy access policies Azure role-based access control (Azure RBAC) vs. access policies (legacy) Provide access to Key Vault keys, certificates, and secrets with Azure …


Azure Logic Apps Standard | Send Custom Events to Application Insights

Introduction When building integration workflows with Azure Logic Apps Standard, there’s often a need to track custom business events that sit between pure technical telemetry and business process monitoring. Recently, while authoring a Logic App Standard workflow, I needed to track the total …


Azure Function Apps | OkObjectResult Returns Empty JSON After Moving to .NET 9 Isolated Worker Runtime

The Problem I recently upgraded an Azure Function from .NET 8 to .NET 9, and at the same time migrated from the in-process worker to the isolated worker model. After the upgrade, my function that returned OkObjectResult started returning an empty JSON object {} instead of the expected data. …