Introducing the Azure Bicep Advent Calendar
November 27, 2023
4 minutes to read
Welcome to the Azure Bicep advent calendar
For the last couple of years I have wanted to contribute to the annual community initiative to provide blog posts and content around Azure capabilities and services throughout the month of December to help people learn about Azure. I have always struggled to find the time to commit to the initiative and have always been too late to the party to get involved. This year I have decided to take the plunge and commit to delivering something to the community. I have chosen to focus on Bicep as I have been working with it for the last 18 months and have been really impressed with the language and the community that has grown around it. I hope that this series of posts will help people get started with Bicep and provide some useful content, examples & tips and tricks along the way.
The Bicep advent calendar will be a series of blog posts that will be published daily throughout the month of December 2023. The journey will start at the very basics of Bicep and progress through to more advanced topics, including the deployment of an Azure Landing Zone using GitHub Actions to host workloads. Finally, we will look at some preview features and new things coming in 2024!.
Azure Bicep Advent Calendar Schedule
The schedule for the Bicep Advent Calendar is shown below. The schedule will be updated daily with links to the posts as they are published. The schedule is subject to change as the month progresses and I may add additional posts if needed.
|Bicep: A new language for Infrastructure as Code
|A brief introduction and overview to Bicep.
|Getting started with Bicep
|Installation and setup of Bicep, extensions and best practices to get started.
|The anatomy of a Bicep template
|Understanding the various elements that makes up a Bicep template.
|Introducing the .bicepparam file
|Using dedicated parameter files that can now be Bicep instead of .json.
|Loops, conditional deployments and conditional loops
|More advanced elements of a Bicep template that allow optimization and options for deployment.
|Address repetition using shared variable file patterns
|Layering in shared variable files to Bicep templates.
|Leveraging a private container registry for Bicep modules
|Consuming Bicep modules from a private Bicep registry using Azure Container Registry.
|The future of Bicep modules using Azure verified modules
|Understand the future evolution of the Common Azure Resource Module Library (CARML).
|Testing and validation of Bicep templates using PSRule
|Validation and testing of Bicep modules and templates using PSRule.
|Deploying Bicep templates using GitHub actions
|CI/CD using GitHub actions and Bicep.
|End to end deployment of an Azure Landing Zone using Bicep - Part 1
|Taking all the learnings of the month to completed and end to end deployment of an Azure Landing Zone - part 1/2
|End to end deployment of an Azure Landing Zone using Bicep - Part 2
|Taking all the learnings of the month to completed and end to end deployment of an Azure Landing Zone - part 2/2
|Leveraging User Defined Types & Lamda Functions
|Advanced functions to supercharge your Bicep templates.
|Addressing configuration drift using Deployment Stacks
|A taste of the future of deployments using deployment stacks.
|Use cases for GitHub Copilot and Bicep
|How can you use GitHub Copilot and Bicep.
|Import and Export feature across Bicep Templates
|A sneak peek into a preview and experimental feature of Bicep.