ARM Templates & Bicep
Deploy Azure infrastructure with ARM templates and Bicep.
Bicep Example
param location string = resourceGroup().location param vmName string
resource vm 'Microsoft.Compute/virtualMachines@2023-03-01' = { name: vmName location: location properties: { hardwareProfile: { vmSize: 'Standard_B2s' } osProfile: { computerName: vmName adminUsername: 'azureuser' } } }
output vmId string = vm.id
Deployment
Deploy Bicep
az deployment group create
--resource-group mygroup
--template-file main.bicep
--parameters vmName=myvm
Deploy ARM
az deployment group create
--resource-group mygroup
--template-file template.json
--parameters @parameters.json
Best Practices
-
Use Bicep over JSON ARM
-
Implement modules for reusability
-
Use parameter files per environment
-
Validate before deployment