Skip to content

006. ADR: Standardised Naming Conventions for Resource Groups and Resources

Date: 24-03-2025

State: Proposed/Accepted/Deprecated/Superseded

Status: Approved

Context

Implementing standardized naming conventions for Azure resources and resource groups is essential for ensuring clarity and consistency throughout your cloud infrastructure. These conventions enable efficient identification, management, and scaling of resources. Additionally, they promote collaboration among team members by establishing a common language and understanding of the purposes and relationships of resources. At present, there is no standardized naming convention for resources and resource groups within our organization. We consulted with the App Security and Omnia teams to determine if any existing naming conventions could be referenced, but we were unable to find one. Therefore, we have turned to Microsoft's recommended best practices for guidance.

New resources and resource groups deployed should follow this naming convention. For a while there will be a transition phase where there will be a mix of old and new naming formats.

Decision

General Naming Guidelines for Azure Resources

When naming Azure resources, it's essential to follow specific guidelines to ensure consistency, compliance, and ease of management. Below are the key conventions:

  • Use lowercase letters (a-z), numbers (0-9), and hyphens (-).
  • Names should start with a letter and end with a letter or number, avoiding consecutive hyphens.
  • No white spaces.
  • Ensure that names are globally unique.
  • For {region}, select the proper abbreviation by referring to Region Abbreviations List.

Resource Naming Conventions

Below are recommended naming conventions for various Azure resources, incorporating key elements such as resource type, environment, region, and function:

Resource Group:

  • Format: rg-{app_name}-{env}-{region}-{instance}
  • Example: rg-osduplatform-dev-weu-01

Virtual Network (VNet):

  • Format: vnet-{env}-{region}-{instance}
  • Example: vnet-dev-weu-01

Virtual Machine (VM):

  • Format: vm-{app_name}-{env}-{instance}
  • Example: vm-osduplatform-dev-weu-01

Storage Account: Due to Azure's naming restrictions for storage accounts, which are listed below, microsoft recommends that storage accounts not contain hyphens in the names.

Azure's naming restrictions for storage accounts:

  • Must be 3–24 characters in length.
  • Must be lowercase only.
  • Cannot contain hyphens or special characters.

  • Format: st{app_name}{env}{region}{instance}

  • Example: stosdudevweu01

Azure Data Manager for Energy: Due to Azure's naming restrictions for ADME instances, which are listed below,

Azure's naming restrictions for ADME instances:

  • Only alphanumeric characters are allowed.
  • Must be 1 to 15 characters.
  • Not case sensitive.
  • Cannot contain hyphens or special characters.

  • Format: adme{app_name}{env}{region}{instance}

  • Example: admeosduweu01

Application Insights:

  • Format: ai-{app_name}-{env}-{region}-{instance}
  • Example: ai-osduplatform-dev-weu-01

Network Security Group (NSG):

  • Format: nsg-{env}-{region}-{instance}
  • Example: nsg-dev-weu-01

Application Gateway:

  • Format: appgw-{app_name}-{env}-{region}-{instance}
  • Example: appgw-osduplatform-dev-weu-01

SQL Database:

  • Format: sqldb-{app_name}-{env}-{region}-{instance}
  • Example: sqldb-osduplatform-dev-weu-01

Logic App:

  • Format: la-{app_name}-{env}-{region}-{function}-{instance}
  • Example: la-osduplatform-dev-weu-secretalerts-01

Function App:

  • Format: func-{app_name}-{env}-{region}-{function}-{instance}
  • Example: func-osduplatform-dev-weu-getentitlements-01

Key Vault:

  • Format: kv-{app_name}-{env}-{region}-{instance}
  • Example: kv-osduplatform-dev-weu-01

App Service Plan:

  • Format: asp-{app_name}-{env}-{region}-{instance}
  • Example: asp-osduplatform-dev-weu-01

Azure Synapse Analytics Workspace:

  • Format: synapse-{app_name}-{env}-{region}-{instance}
  • Example: synapse-osduplatform-dev-weu-01

Log Analytics Workspace:

  • Format: law-{app_name}-{env}-{region}-{instance}
  • Example: law-osduplatform-prod-weu-01

Azure Kubernetes Service (AKS) Cluster:

  • Format: aks-{app_name}-{env}-{region}-{functionality}-{instance}
  • Example: aks-osduplatform-prod-weu-gcz-01

Consequences

By following these recommendations:

  • Easier maintainance by ensuring consistent naming of resources and resource groups.
  • Simplified deployment using CI/CD pipelines easier to manager consistent naming accross envs.
  • Easier Collaboration consistent naming makes for easier collaboration.

Last update: 2026-09-14