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.
Why It Matters …
Read More⚠️ NOTE
Microsoft guidance is clear that Azure RBAC should be used for data plane authorization moving forward, instead of legacy access policies
Read MoreProblem Space
As Bicep adoption grows, so does the complexity of the environments and teams using it. Without clear authoring practices, Bicep codebases can quickly become inconsistent, hard to maintain, and error-prone. In this post I wanted to share some practical authoring practices and anti-patterns to help you and …
Read MoreIntroduction
I have been writing integration tests using MSTest recently and have encountered the need to control the level of parallelism required. MSTest, by default, runs your tests in parallel to maximise performance and reduce overall test execution time. This is great for independent unit tests, but it can …
Read MoreIntroduction
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 number of items …
Read MoreThe 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
OkObjectResultstarted returning an empty JSON object{}instead of the expected data. …
Read MoreProblem Space
There have been few times where I have landed into this particular predicament whereby either by my own doing or through the use of another’s code base, a deep nested or thoroughly utilised (parameter/variable/or other defined item) has been created with the same name as a Bicep function. As by …
Read MoreOverview
Building on our previous exploration of Typed Variables, today we’re diving into one of my favorite patterns for creating maintainable and reusable Bicep templates: the Shared Variable File Pattern. This approach transforms your templates from being tightly coupled to specific configurations into truly …
Read MoreOverview
One of my core goals when writing IaC templates is ensuring reusability of common components, resources, and in this case, configuration. More often than not, I see configuration that is broadly common between resources (except for one or two properties) being duplicated throughout templates. This duplication …
Read MoreOverview
In late May this year, an exciting but semi overlooked feature was released, and I absolutely love it - Typed Variables!
Prior to this release, variable types were inferred through the value, which is fine for most statically defined content within a template, but there are cases that I will go through in this …
Read More