- ARM JSON is complex
- Bicep abstracts away this JSON so that it is simpler to define what we want.
- Bicep is domain specific language, so can only be used to create ARM template
- There is no state management, ARM knows what resources are present
- Might not be useful in multi-cloud setups or if we have a different tool already, like [[202407162143 Terraform|Terraform]]
- By default resources are deployed in parallel
- we can control this by using
@batchSize
- we can control this by using
# Convert to json
bicep compile
# Convert from json
bicep decompile
How to install
# Add the tap for bicep
brew tap azure/bicep
# Install the tool
brew install bicep
Also add to VSCode from extensions
How to deploy
# deploy resource
az deployment group create --template-file main.bicep --resource-group storage-resource-group
New-AzResourceGroupDeployment -TemplateFile main.bicep -ResourceGroupName zyz
- Use VS Code extension to simplify development
Bicep parameters Use Azure Key Vault with bicep Bicep variables Bicep Modules Bicep loops Bicep conditionals
references:
Subscribe to NordLetter
A weekly newsletter on living in Finland.