Azure Naming Convention Guide
Introduction
Consistent naming conventions are essential for managing cloud resources effectively. They improve discoverability, foster collaboration, and simplify the management of resources across teams and projects.
This guide outlines the naming conventions to be followed for all Azure resources within our organization.
The content in this guide is based on this authoritative KB article created by the Data Center Technical Architecture team. If you have access permissions, always refer to the KB article as the primary source of truth. While we strive to keep this guide up to date, the KB article may contain the latest standards and recommendations.
Azure Naming convention
The following considerations to be taken into account:
- The resources from the same subscription can belong to different Azure regions;
- There could be resources in the same Azure region belonging to different subscriptions;
- A subscription contains either internet-facing resources or resources connected with ExpressRoute, not both;
- The resource name should identify what subscription the resource belongs to;
- The members of the same resource group should have the same naming pattern;
- It should be easy to identify related resources;
- One should easily distinguish production environment from qa, qa from test and so on;
- The description in a resource group name helps differentiate between the groups.
The following schema should be used to build the resource name:
<objecttype>-<rgrpid>-<description>
This way the resources from multiple subscriptions will be, first, arranged by their types; second, by their resource groups; third, by the resource description.
Name for | Naming | Length | Examples | Comment |
---|---|---|---|---|
<objecttype> | … | var | bckp, vnet | Short name taken from the name of Azure service. For example, backup vault is shortened as BCKP. Virtual network as VNET. The list of already defined <objecttype> codes is given in the respective table below. |
<vendor> | … | 3 | msf, aws | 3 letters short code, taken from the vendor name. e.g. MSF - for Microsoft, AWS - for Amazon. |
<region> | … | 2 | we jw az | 2 letters code, shortened from the region name, where the vendor's datacenter is located. e.g. WE - West Europe; JW - Japan West; AZ - for global resources. |
Azure subscription | msfaz<p|x><subscription#> | 8 | msfazp01, msfazx02 | <vendor> - msf in case of Azure. <P|X|V|M> - connectivity indicator: P - privately connected (datacenter extension), X - externally connected (internet-facing), V - Visual Studio subscription (comes with VS license), M - Personal Azure plans, usually 1 month evaluation. <subscription#> - sequential number of the subscription starting from 01, increasing by 1 for every new subscription. |
<sitecode> | <vendor><region><p|x><subscription#> | 8 | msfwep01, msfnax01 | Standard JTI naming schema for cloud-based site codes. <subscription#> identifies the subscription a resource belongs to. For example, MSFWEP01 indicates Microsoft cloud in West Europe privately connected to JTI. |
Resource group identifier, <rgrpid> | <sitecode>-<##> | 11 | msfwep01-01, msfeux02-02 | <##> is a sequential number, the same for all resources in the respective resource group. <rgrpid> is assigned to all objects and preferred to be the same within the same resource group. It is allowed to reuse <rgrpid> across different groups if they are part of the same project or activity. |
Resource group identifier_short, <rgrpid_s> | <sitecode><##> | 10-11 | msfwep0101, msfeux0202 | Same as <rgrpid> but without the - symbol. Required for resources that do not support such characters in names (e.g., storage accounts). |
Virtual machine | <sitecode>-<function>-<##> | 15 | msfwep01-srv-01 | Exception to <object>-<location>-<##> schema due to standard JTI naming conventions for servers. |
Storage account | stor<rgrpid><shortdescription> | 20, 22 | stormsfwep0101test | <shortdescription> helps distinguish Storage Accounts within a Resource group. Note: storage accounts' names may contain only lowercase letters and numbers. |
Regions to short code conversion table
Region | Acronym |
---|---|
West Europe | we |
North Europe | ne |
East US | eu |
West US | wu |
West US 2 | wu |
Japan East | je |
Japan West | jw |
East Asia | ea |
Southeast Asia | sa |
Object type codes table
Object type | Prefix | Example | Max char | Comment |
---|---|---|---|---|
Analysis Services | analysisservices | analysisservicesmsfnex2010radrsglbdev | 63 | lowercase alphanumeric only |
API App | apiapp | apiapp-msfwex14-lite-uk | 60 | |
API Management | apim | apim-msfwex01-127-planit-api-prd | 50 | |
Application Gateway | agw | agw-msfeax26-01-infra-hub-apac-prd | 80 | |
Application Gateway Policy | waf | waf-msfeax26-01-infra-hub-apac-prd | 80 | |
App Service Plan | appsvcpln | appsvcpln-msfeux01-02-devqa | 40 | |
Application Insights | appi | appi-msfwex01-131-agro-prd | 255 | |
Arc Kubernetes | arck | arck-msfwex01-131-agro-prd | 30 | |
Automation Account | aa | aa-msfwep08-02-azure-automation-prd | 50 | |
└ Automation Runbook | rb | rb-msfwep08-02-ADTeam-PKI-CertRequest-prd | 50 | |
Azure Database for MySQL | mysqldb | mysqldb-msfwex01-145-ldhereandnow-dev | 63 | lowercase alphanumeric or hyphens |
Azure Kubernetes Service | aks | aks-msfwex91-01-infra-dev | 30 | |
Backup Vault | bckvlt | bckvlt-msfwex01-01-blob-prod | 250 | |
Batch | batch | batch-msfwex01-13-tme | 24 | |
Bastion | bastion | bastion-msfeax26-01-infra-hub-apac-prd | 80 | |
Container Apps | ca | ca-msfsax05-22-be-letscml-prd | 32 | |
Container Apps Environment | cae | cae-msfsax05-22-be-letscml-prd | 32 | |
Cognitive Search | search | search-msfwex01-132-masterbotv2-prd | 63 | |
Cosmos DB | cosmos | cosmos-msfwex28-04-rombuc01-mongo | 44 | |
Data Brick | brick | brick-msfnex22-10-pr-prod | 30 | |
Data Factory | adf | adf-msfwex01-31-regint-qa | 63 | |
Dedicated SQL pool | sqldw | sqldw-msfnex2410-gscsmarts-serving-sbx | 128 | was "Azure Datawarehouse" |
Event Grid Namespace | evgs | evgs-msfwex01-166-compmon-datasets-prd | 50 | |
Event Grid topic | evgt | evgt-msfwex01-166-compmon-datasets-prd | 50 | |
Event Grid Domain | evgd | evgd-msfwex01-166-compmon-datasets-prd | 50 | |
Event Hub Namespace | evhns | evhns-msfnex23-09-tmeapi-dev | 63 | |
└ Event Hub | evh | evh-msfnex23-09-tmeapi-<Short_Description>-dev | 63 | Naming should follow respective evhns-* |
Firewall | afw | afw-msfeax26-01-infra-hub-apac-prd | 80 | |
Firewall Policy | afwp | afwp-msfeax26-01-infra-hub-apac-prd | 80 | |
Function App | func | func-msfnex23-09-tmeapi-sbx | 60 | |
Key Vault | kv | kv-msfwex18-23-prd, keyvault-msfwex18-23-prd | 24 | |
Load balancer | lb | lb-msfwex02-12-staging-db | 80 | |
└ Load Balancer Front End | lbfe | lbfe-msfwex02-12-01-front | 80 | |
└ Load balancer Backend pool | lbbe | lbbe-msfwex02-12-01-sql | 80 | |
└ Load balancer Probe | lbprobe | lbprobe-msfwex02-12-01-1433-tcp | 80 | |
└ Load Balancer Rule | lbrule | lbrule-msfwex02-12-01-sql | 80 | |
Log Analytics | law | law-msfwex11-14-gltdb-dev | 63 | |
Log Analytics Query Pack | logpack | logpack-msfwex11-14-gltdb-prd | 63 | |
Logic App | logic | logic-msfwex15-cargoclaims-broker-dev | 80 | |
Machine Learning | ml | ml-msfsax01-16-phdwh-prd | 260 | |
NAT Gateway | ng | ng-msfwex01-317-DataCollectionBaltic-prd | 80 | |
Network security groups | nsg | nsg-msfeux02-14-prod-db | 80 | |
Private Endpoint | pe | pe-msfsax01-394-drishti-mapbased-qa | 64 | |
Private Link | pl | pl-msfsax01-394-drishti-mapbased-qa | 64 | |
Public IP address | pip | pip-MSFWEX01-SRV-12 | 80 | |
PostgreSQL | psql | psql-msfwex01-54-fme-prd | 63 | lowercase alphanumeric or hyphens |
Recovery Services vault | bckpasr | bckp-msfwep01-01asr-msfwep01-01 | 50 | |
Redis cache | redis | redis-msfwex02-13-prod | 63 | |
Relay | relay | relay-msfwex01-54-fme-prd | 50 | |
Resource group | rgrp | rgrp-msfwex01-01-projecty-prd | 90 | |
Resource group managed | rgrp- | Databricks ( suffix -brick-managed)rgrp-msfwex01-01-infra-prd-brick-managedAKS ( suffix -aks-managed)rgrp-msfwex01-01-infra-prd-aks-managedSynapse ( suffix -syn-managed)rgrp-msfwex01-01-infra-prd-syn-managed | 90 | |
Route Table | rt | rt-msfeax26-04-cluster-qa | 80 | |
SQL Elastic Pool | sqlep | sqlep-msfwex01-01-projecty-prd | 128 | |
SQL Database | sqldb | sqldb-msfwex01-127-planit-machines-qa | 128 | |
SQL Server | sql | sql-msfwex01-01 | 63 | |
Static Web App | stapp | stapp-msfwex01-345-so-external-qa | 40 | |
Storage account | stor | stormsfwex0156pics | 24 | lowercase alphanumeric only |
Synapse Analytics/Workspace | syn | syn-msfeux01-87-tmesales-dwh-bolivia | 50 | lowercase alphanumeric or hyphens |
Virtual network | vnet | vnet-msfwep01-08-internal-vm | 80 | |
└ Virtual Network Subnet | snet | snet-msfwep01-08-01 | 80 | |
VM Availability set | avs | avs-msfwex02-12-prod | 80 | |
VM | msf | msfwex01-srv-03 | 64 | |
VirtualMachineScaleSet | vmss | vmss-msfwex02-12-prod | 64 | |
vWAN | vwan | vwan-msfwex42-01-qa | 80 | |
Web App | webapp | webapp-msfwex01-103-concurbot-prd | 60 |
If something is not on the list yet please use Microsoft Naming examples - we will use it as a reference in future: https://learn.microsoft.com/en-us/azure/cloud-adoption-framework/ready/azure-best-practices/resource-abbreviations
Deployment Example with good name convention: