Azure naming conventions

When creating resources in Azure it is important to follow a naming convention for ease of search and management.

Resources in Cloud Nine's Azure portal

We have based our naming scheme on Microsoft's examples on MSDN, with slight deviations.

  • We have added a client/internal scope prefix.
  • We have excluded the Azure region and instance ID unless necessary.

That means the names of all resources created in Azure should follow this pattern:

[client/internal]-[resource type]-[project/workload]-[environment]-[optional: region]-[optional: instance ID]

Shortened resource types

To avoid having to write out the full name every time, like resourcegroup (bad), staticwebapp (bad) or storageaccount (bad), use standardised shortened names. If a short name is missing on this page, add it to the list.

Resource type Short name
Resource group rg
Storage account st
App service asvc
App service plan asvcplan
Static web app swa
SQL server sqlserver
SQL database sqldb
SQL Elastic Pool sqlelp
Application Insights appins
Key Vault kv
Public IP pip
Virtual machine vm
Virtual network vnet
Virtual network gateway vgw
(Virtual) Disk vhd
Network interface (card) nic
Network security group nsg
Bastion bastion
Private endpoint pe
Private link plink
Management group mg
(Azure) Firewall fw
Managed Identity mid
Azure AI Search ais
(Azure AI) Translator transl
(Azure) Container Registry acr
Action group actiongroup

Cloud Nine-owned resources

Cloud Nine's own resources should always be prefixed with cn.

Examples

# A resource group and static web app for the Cloud Nine-owned "CN Docs" project production hosting
cn-rg-cndocs-prod
cn-swa-cndocs-prod

# Resource groups for a client's development back- and frontends
clientname-rg-webbackend-dev
clientname-rg-webfrontend-dev

# A resource group for a client's complete web solution, like an MVC site
clientname-rg-web-dev

# App services for a client's development frontend app, instance 1 & 2
clientname-asvc-webfrontend-dev-001
clientname-asvc-webfrontend-dev-002

# Resource groups for a client's development frontend app, in the Azure "North Europe" and "Sweden" regions
clientname-rg-webfrontend-dev-northeurope
clientname-rg-webfrontend-dev-sweden

# An SQL Server and database instance for the Cloud Nine-owned "Czas" project
cn-sqlserver-czas-prod
cn-sqldb-czas-prod

Exceptions

Storage accounts

Azure storage accounts are not allowed dashes in the name, so they are formatted without.

# A client's storage for the web backend in, development environment
clientnamestwebbackenddev

Azure billing subscriptions

Billing subscriptions do not follow the above format.

Virtual network subnets

Subnets should follow PascalCase naming and does not need any other specification other than their use, e.g. "AzureBastionSubnet".

Renaming resources

Some resources in Azure can be renamed, but some cannot (e.g. resource groups).

Resources in a client's Azure portal

Follow the client's naming convention if there is one, otherwise consider using Microsoft's.