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.