Skip to the content.

Observations on ARM (Bicep) Templates

- Azure Deployment Framework


Frequently asked questions (FAQ).

Azure Resource Group Deployment - Multi-Region/Multi-Tier Hub/Spoke Environments

Why Azure Resource Manager (ARM) Bicep:

1.Why use Bicep?

- All Azure Resources are built on JSON schemas, these are documemented in both the **REST API's** and the **ARM/Bicep Template Docs**

    [REST API's](https://docs.microsoft.com/rest/api/?view=Azure)

    [ARM Bicep Template Docs](https://docs.microsoft.com/azure/templates/)

- Azure Policy, Template Specs and Azure Blue Prints all reference the JSON schema formats.

    [Azure Policy](https://docs.microsoft.com/azure/governance/policy/)

    [Azure Template Specs](https://docs.microsoft.com/azure/azure-resource-manager/templates/template-specs?tabs=azure-powershell)

    [Azure Blueprints](https://docs.microsoft.com/azure/governance/blueprints/overview)

- You can easily export your JSON code via API or Portal, which can assist in your Template build process as you onboard new Resource Types.

    [Exporting JSON Resource Examples](../ADF/1-prereqs/19-TestResourceHTTP.ps1)

    [Using insert resource in VSCode](https://github.com/Azure/bicep/pull/4945)
    

- Bicep Project is fully supported

    [Bicep Project](https://github.com/Azure/bicep/blob/main/README.md)

- The most compelling reason to use ARM (Bicep) Templates is that it's fast, easy and the authoring experience is really great. The VSCode Extension has support for the following

    - Snippets
    - Intellisense
    - Schema validation
    - API validation
    - Supports rich expressions to declare your intent
    - Loop support
    - Orchestration
    - Parameter file support
    - Conditional deployments
    - Rich Linting, error detection and syntax support
    
    More information available here: 

    - [Azure Bicep Extension](https://docs.microsoft.com/azure/azure-resource-manager/bicep/install#vs-code-and-bicep-extension)
    
    - [Bicep Extension VSCode](https://marketplace.visualstudio.com/items?itemName=ms-azuretools.vscode-bicep)
    
    - [Azure Resource Manager (ARM) Tools for Visual Studio Code](https://marketplace.visualstudio.com/items?itemName=msazurermtools.azurerm-vscode-tools)

- ARM (Bicep) Templates provide a flexible deployment capability, where you can deploy locally, from the Cloudshell, Azure DevOps Pipelines, GitHub Workflows, Locally via az cli or az PowerShell.

- ARM template deployments support Whatif capabilities
    
    -  [ARM Template deployment what-if operations](https://docs.microsoft.com/azure/azure-resource-manager/templates/template-deploy-what-if?tabs=azure-powershell)

What Network Space should I reserve for Azure Deployment Framework

We are used to having a DEV, TEST and PROD environments, why does it show things like: S1, D2, Q3, Q5, P6 Etc.