This session was delivered at Global Azure Bootcamp India 2021 virtual event. This session introduced Azure Bicep and demonstrated how easy it is to generate ARM templates using Azure Bicep
2. Ravikanth Chaganti, Distinguished Member Technical Staff at
Dell EMC
Technologist working on software-defined storage solutions
and systems management enablement
Automation fanatic
Microsoft MVP – Cloud and Data Center Management
(PowerShell)
Published author:
Windows PowerShell Desired State Configuration Revealed
(Apress)
Pro PowerShell Desired State Configuration (Apress)
Terraform with Azure – Zero to Hero (Leanpub) – Coming soon
Azure Bicep – Zero to Hero (Leanpub) – Coming soon
Founder and Editor of PowerShell Magazine
Twitter: @Ravikanth
Blog:
ravichaganti.com/blog
3. WHY BICEP
Azure Resource Manager (ARM) templates are verbose
Become difficult to understand as the complexity of the deployment increases
Modularity and code re-use has always been a problem
JSON is really meant for data representation and data exchange
4. WHAT IS BICEP
A Domain-Specific Language (DSL) for declaratively
deploying Azure resources
Not a general purpose programming language
Offers an easier and more concise syntax
Day 0 support for all Azure resource types and API
versions
A transparent abstraction over the JSON for ARM
templates
Each Bicep file transpiles to an ARM template
Open source: https://github.com/Azure/bicep
Current version is 0.3 (with production support!)
Integrated with Azure CLI and Azure PowerShell
Bicep
Language
ARM Template
Azure Resource Manager
bicep build
az deployment group create
Compute Network Storage
+250
Resource
Providers
5. BICEP LANGUAGE FEATURES
Reusability via parameters
Complexity reduction via variables, expressions, and built-in functions
Iterative deployments using different looping constructs
Conditional deployments
Scoped deployments
Modules for reducing template complexity and provide reuse
7. RESOURCES AND REFERENCES
Bicep Visual Studio Code extension: https://marketplace.visualstudio.com/items?itemName=ms-
azuretools.vscode-bicep
Learn everything about the next generation of ARM Templates:
https://www.youtube.com/watch?v=sc1kJfcRQgY
Bicep examples: https://github.com/Azure/bicep/tree/main/docs/examples
Bicep articles series: https://ravichaganti.com/series/azure-bicep/