Andrew Wilson's Blog

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

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 …


Bicep Tips and Tricks | #10 | Authoring Practices

Problem 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 …


Bicep Tips and Tricks | #9 | Prevent a Nasty Refactor with Function Namespaces

Problem 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 …


Bicep Tips and Tricks | #8 | Agnostic Templates Through Config Files

Overview 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 …


Bicep Tips and Tricks | #7 | From Static to Dynamic Config

Overview 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 …