ARM & Bicep

ARM Templates and Bicep are the IAC languages from Microsoft that allow you to interact with ARM via scripting languages to provision Azure Resources.

Azure Resource Manager (ARM) is a core service in Microsoft Azure that serves as the deployment and management layer for Azure resources.

You’re interacting with ARM even when you use the Portal.

Key concepts to understand ARM are:

Resources & Resource Groups.

Resources are individual Azure services or components (e.g., virtual machines, storage accounts, databases). Resource Groups are logical containers to help you organise related resources to facilitate collective management and monitoring of said resources.

Resource Providers

Services that supply deployable and manageable resources through ARM. Examples include Microsoft.Compute for virtual machines and Microsoft.Storage for storage accounts

You can see a full list of Resource Providers by searching for the ‘resource explorer’ in your Azure Portal. This is a great place to get to know the concept because once you start looking through them you do see a logical structure.

You can also see the resource providers available to your subscription with the registration status following command.

Get-AzResourceProvider -ListAvailable | Select-Object ProviderNamespace, RegistrationState

This is where we get to ARM templates and Bicep.