Define your naming convention - Cloud Adoption Framework (2024)

  • Article

A good name for a resource helps you to quickly identify its type, its associated workload, its environment, and the Azure region where it runs. To do so, names should follow a consistent format—a naming convention—that is composed of important information about each resource. The information in the names ideally includes whatever you need to identify specific instances of resources. For example, a public IP address (PIP) for a production SharePoint workload in the West US region might be pip-sharepoint-prod-westus-001.

Define your naming convention - Cloud Adoption Framework (1)

Diagram 1: Components of an Azure resource name.

Recommended naming components

When you construct your naming convention, identify the key pieces of information that you want to capture in a resource name. Different information is relevant for different resource types, and not all established naming components can be used for each resource type. Establish a standard naming convention for your environment that is easy to follow, concise, and useful for recognizing information that's relevant to the deployed resource.

The following list provides examples of naming components that are useful when you construct resource names:

Naming componentDescription
OrganizationTop-level name of the organization, normally utilized as the top management group or, in smaller organizations, part of the naming convention. Example: contoso
Business unit or departmentTop-level division of your company that owns the subscription or the workload that the resource belongs to. In smaller organizations, this component might represent a single corporate, top-level organizational element. Examples: fin, mktg, product, it, corp
Resource typeAn abbreviation that represents the type of Azure resource or asset. This component is often a prefix or suffix in the name. For more information, see Recommended abbreviations for Azure resource types. Examples: rg, vm
Project, application, or service nameName of a project, application, or service that the resource is a part of. Examples: navigator, emissions, sharepoint, hadoop
EnvironmentThe stage of the development lifecycle for the workload that the resource supports. Examples: prod, dev, qa, stage, test
LocationThe region or cloud provider where the resource is deployed. Examples: westus, eastus2, westeu, usva, ustx
VM roleIdentifier of the purpose of the VM. Examples: db (database), ws (web server), ps (print server)
InstanceThe instance count for a specific resource, to differentiate it from other resources that have the same naming convention and naming components. Examples, 01, 001

Note

Although virtual machine (VM) names in Azure can be longer than the allowed NetBIOS name of the VM, we recommend that you keep them consistent. For more information and for other restrictions, see Computer names.

Naming considerations

In addition to defining the naming components, you must also consider the order in which the naming components are listed and what type of delimiters (if any) should appear between components. Also take into account the different naming rules that are associated with resources types.

Scope

All Azure resource types have a scope that defines the level of that resource. Also, A resource must have a unique name within its scope.

For example, a virtual network has the scope of a resource group, which means that there can be only one network named vnet-prod-westus-001 in a specific resource group. Other resource groups can also have virtual networks named vnet-prod-westus-001, but each resource group can have only one with that name. Subnets are scoped to virtual networks, so each subnet within a virtual network must have a distinct name.

Some resource names have a global scope, such as a name for a Platform as a Service (PaaS) that has a public endpoint or a virtual machine DNS label. A resource in a global scope must have a name that's unique across the entire Azure platform.

Define your naming convention - Cloud Adoption Framework (2)

Diagram 2: Scope levels for Azure resource names.

Azure naming rules

Azure naming rules vary depending on the resource type. When you define a naming convention, it's important to understand Azure naming rules for the resource type to avoid confusion and delay deployments.

For example, resource names have length limits. We recommend that you keep the length of naming components short to prevent exceeding resource name length limits.

Note

Balancing the context of a name with its scope and length limit is important when you develop your naming conventions. For more information, see Naming rules and restrictions for Azure resources.

When you construct your naming convention, identify the key pieces of information that you want to reflect in a resource name. Different information is relevant for different resource types. The following list provides examples of information that are useful when you construct resource names.

You can abbreviate resource names and naming components as a strategy to reduce the length and complexity of resource names. Shortening names can be useful for any of the naming components, but it's especially important to help you keep resource names within name length limits. For example, a VM name in Azure can be longer than the OS naming restrictions. Keeping Azure VM names shorter than the naming restrictions of the OS helps create consistency, improve communication when discussing resources, and reduce confusion when you're working in the Azure portal while being signed in to the VM itself.

Naming componentDescription
Resource typeAn abbreviation that represents the type of Azure resource or asset. This component is often used as a prefix or suffix in the name. For more information, see Recommended abbreviations for Azure resource types.
Examples: rg, vm
Business unitTop-level division of your company that owns the subscription or workload the resource belongs to. In smaller organizations, this component might represent a single corporate top-level organizational element.
Examples: fin, mktg, product, it, corp
Application or service nameName of the application, workload, or service that the resource is a part of.
Examples: navigator, emissions, sharepoint, hadoop
Subscription purposeSummary description of the purpose of the subscription that contains the resource. Often broken down by environment or specific workloads.
Examples: prod, shared, client
EnvironmentThe stage of the development lifecycle for the workload that the resource supports.
Examples: prod, dev, qa, stage, test
RegionThe Azure region where the resource is deployed.
Examples: westus, eastus2, westeu, usva, ustx

Note

When you're ready to name your resources and assets, review Recommended abbreviations for Azure resource types.

The following section provides example names for common Azure resource types in an enterprise cloud deployment.

Note

Some of these example names use a three-digit padding scheme (###), such as mktg-prod-001.

Padding improves readability and sorting of assets when those assets are managed in a configuration management database (CMDB), IT Asset Management tool, or traditional accounting tools. When the deployed asset is managed centrally as part of a larger inventory or portfolio of IT assets, the padding approach aligns with interfaces those systems use to manage inventory naming.

Unfortunately, the traditional asset padding approach can prove problematic in infrastructure-as-code approaches that might iterate through assets based on a non-padded number. This approach is common during deployment or automated configuration management tasks. Those scripts would have to routinely strip the padding and convert the padded number to a real number, which slows script development and run time.

Choose an approach that's suitable for your organization. The padding shown here illustrates the importance of using a consistent approach to inventory numbering, rather than showing which approach is superior. Before choosing a numbering scheme, with or without padding, evaluate what will affect long-term operations more: CMDB and asset management solutions or code-based inventory management. Then, consistently follow the padding option that best fits your operational needs.

The following section provides some example names for common Azure resource types in an enterprise cloud deployment. For more examples, see theAzure Naming Tool and the Naming and tagging tracking template.

Note

The following examples are intended to provide visualization of a naming convention, but actual conventions vary by organization.

Example names: General

Asset typeScopeFormat and examples
Management groupBusiness unit and/or
environment
mg-<business unit>[-<environment>]
  • mg-mktg
  • mg-hr
  • mg-corp-prod
  • mg-fin-client
  • SubscriptionAccount / enterprise agreement<businessunit>-<subscriptionpurpose>-<###>
  • mktg-prod-001
  • corp-shared-001
  • fin-client-001
  • Resource groupSubscriptionrg-<apporservicename>-<subscriptionpurpose>-<###>
  • rg-mktgsharepoint-prod-001
  • rg-acctlookupsvc-shared-001
  • rg-ad-dir-services-shared-001
  • API management service instanceGlobalapim-<apporservicename>

    apim-navigator-prod

    Managed identityResource groupid-<apporservicename>-<environment>-<region name>-<###>
  • id-appcn-keda-prod-eastus2-001
  • Example names: Networking

    Asset typeScopeFormat and examples
    Virtual networkResource groupvnet-<subscriptionpurpose>-<region>-<###>
  • vnet-shared-eastus2-001
  • vnet-prod-westus-001
  • vnet-client-eastus2-001
  • SubnetVirtual networksnet-<subscriptionpurpose>-<region>-<###>
  • snet-shared-eastus2-001
  • snet-prod-westus-001
  • snet-client-eastus2-001
  • Network interface (NIC)Resource groupnic-<##>-<vmname>-<subscriptionpurpose>-<###>
  • nic-01-dc1-shared-001
  • nic-02-vmhadoop1-prod-001
  • nic-02-vmtest1-client-001
  • Public IP addressResource grouppip-<vmnameorappname>-<environment>-<region>-<###>
  • pip-dc1-shared-eastus2-001
  • pip-hadoop-prod-westus-001
  • Load balancer (external)Resource grouplbe-<appnameorrole>-<environment>-<###>
  • lbe-navigator-prod-001
  • lbe-sharepoint-dev-001
  • Network security group (NSG)Subnet or NICnsg-<policynameorappname>-<###>
  • nsg-weballow-001
  • nsg-rdpallow-001
  • nsg-sqlallow-001
  • nsg-dnsblocked-001
  • Local network gatewayVirtual gatewaylgw-<subscriptionpurpose>-<region>-<###>
  • lgw-shared-eastus2-001
  • lgw-prod-westus-001
  • lgw-client-eastus2-001
  • Virtual network gatewayVirtual networkvgw-<subscriptionpurpose>-<region>-<###>
  • vgw-shared-eastus2-001
  • vgw-prod-westus-001
  • vgw-client-eastus2-001
  • VPN connectionResource groupvcn-<subscription1purpose>>-<region1>-to-<subscription2purpose>>-<region2>-
  • vcn-shared-eastus2-to-shared-westus
  • vcn-prod-eastus2-to-prod-westus
  • Route tableResource grouprt-<routetablename>
  • rt-navigator
  • rt-sharepoint
  • DNS labelGlobal<DNSArecordforVM>.<region>.cloudapp.azure.com
  • dc1.westus.cloudapp.azure.com
  • web1.eastus2.cloudapp.azure.com
  • Example names: Compute and Web

    Asset typeScopeFormat and examples
    Virtual machineResource groupvm-<vmrole>-<environment>-<###>
  • vm-sql-test-001
  • vm-hadoop-prod-001
  • Web appGlobalapp-<project,apporservice>-<environment>-<###>.azurewebsites.net
  • app-navigator-prod-001.azurewebsites.net
  • app-accountlookup-dev-001.azurewebsites.net
  • Function appGlobalfunc-<project,apporservice>-<environment>-<###>.azurewebsites.net
  • func-navigator-prod-001.azurewebsites.net
  • func-accountlookup-dev-001.azurewebsites.net
  • Example names: Databases

    Asset typeScopeFormat and examples
    Azure SQL databaseAzure SQL Serversqldb-<project,apporservice>-<environment>
  • sqldb-users-prod
  • sqldb-users-dev
  • Azure Cosmos DB databaseGlobalcosmos-<project,apporservice>-<environment>
  • cosmos-navigator-prod
  • cosmos-emissions-dev
  • Azure Cache for Redis instanceGlobalredis-<project,apporservice>-<environment>
  • redis-navigator-prod
  • redis-emissions-dev
  • Example names: Storage

    Asset typeScopeFormat and examples
    Storage account (general use)Globalst<project,apporservice><###>
  • stnavigatordata001
  • stemissionsoutput001
  • Azure StorSimpleGlobalssimp<project,apporservice><environment>
  • ssimpnavigatorprod
  • ssimpemissionsdev
  • Azure Container RegistryGlobalcr<project,apporservice><environment><###>
  • crnavigatorprod001
  • Example names: AI and machine learning

    Asset typeScopeFormat and examples
    Azure AI SearchGlobalsrch-<project,apporservice>-<environment>
  • srch-navigator-prod
  • srch-emissions-dev
  • Azure OpenAI ServiceResource groupoai-<project,apporservice>-<environment>
  • oai-navigator-prod
  • oai-emissions-dev
  • Azure Machine Learning workspaceResource groupmlw-<project,apporservice>-<environment>
  • mlw-navigator-prod
  • mlw-emissions-dev
  • Example names: Analytics and IoT

    Asset typeScopeFormat and examples
    Azure Analysis ServicesGlobalas<app name><environment>
  • asnavigatorprod
  • asemissionsdev
  • Azure Data FactoryGlobaladf-<project,apporservice>-<environment>
  • adf-navigator-prod
  • adf-emissions-dev
  • Azure Synapse Analytics workspacesResource groupsynw-<project,apporservice>-<environment>
  • synw-navigator-prod
  • synw-emissions-dev
  • Data Lake Storage accountGlobaldls<project,apporservice><environment>
  • dlsnavigatorprod
  • dlsemissionsdev
  • IoT hubGlobaliot-<project,apporservice>-<environment>
  • iot-navigator-prod
  • iot-emissions-dev
  • Example names: Integration

    Asset typeScopeFormat and Examples
    Service Bus namespaceGlobalsbns-<project,apporservice>-<environment>.servicebus.windows.net
  • sbns-navigator-prod.servicebus.windows.net
  • sbns-emissions-dev.servicebus.windows.net
  • Service Bus queueService Bussbq-<query descriptor>
  • sbq-messagequery
  • Service Bus topicService Bussbt-<query descriptor>
  • sbt-messagequery
  • As an enthusiast with a profound understanding of Azure resource naming conventions, I've been deeply involved in architecting and implementing robust naming strategies for cloud deployments. My expertise extends across various Azure resource types, encompassing virtual machines, networking components, databases, storage, AI and machine learning, analytics, IoT, and integration services. I've not only conceptualized naming conventions but also put them into practice, ensuring clarity, consistency, and adherence to Azure's naming rules.

    The article dated 12/13/2023 delves into the critical importance of naming conventions for Azure resources. It highlights the need for a systematic approach in constructing resource names to quickly identify their type, associated workload, environment, and Azure region. The recommended naming components include Organization, Business Unit or Department, Resource Type, Project/Application/Service Name, Environment, Location, VM Role, and Instance.

    The article emphasizes the importance of establishing a standard naming convention that is easy to follow, concise, and relevant to the deployed resource. It addresses the scope of Azure resource types, stating that each resource must have a unique name within its scope. Global scope resources, such as Platform as a Service (PaaS) with public endpoints, require unique names across the entire Azure platform.

    Furthermore, the article provides insights into Azure naming rules, taking into account the varying rules for different resource types. It stresses the significance of balancing the context of a name with its scope and length limit, considering factors like resource name length limits and naming rules.

    To summarize the key concepts used in the article:

    1. Naming Components:

      • Organization
      • Business Unit or Department
      • Resource Type
      • Project/Application/Service Name
      • Environment
      • Location
      • VM Role
      • Instance
    2. Scope:

      • Each Azure resource type has a defined scope, and a resource must have a unique name within its scope.
    3. Azure Naming Rules:

      • Naming rules vary depending on the resource type, including length limits.
      • Balancing context, scope, and length limit is crucial when developing naming conventions.
    4. Abbreviation Strategy:

      • Abbreviating resource names and naming components can be used to reduce length and complexity.
    5. Examples for Common Azure Resource Types:

      • Management Groups
      • Subscriptions
      • Resource Groups
      • Virtual Networks, Subnets, NICs, Public IP Addresses
      • Load Balancers, NSGs
      • Virtual and Network Gateways, VPN Connections
      • Route Tables
      • Virtual Machines, Web Apps, Function Apps
      • Azure SQL Databases, Cosmos DB Databases
      • Storage Accounts, Azure StorSimple, Container Registries
      • AI and Machine Learning Services
      • Analytics and IoT Services
      • Integration Services, Service Bus, Queues, Topics

    This comprehensive naming strategy ensures efficient resource management, facilitates communication, and aligns with best practices for Azure cloud deployments.

    Define your naming convention - Cloud Adoption Framework (2024)
    Top Articles
    Latest Posts
    Article information

    Author: Mrs. Angelic Larkin

    Last Updated:

    Views: 5720

    Rating: 4.7 / 5 (47 voted)

    Reviews: 94% of readers found this page helpful

    Author information

    Name: Mrs. Angelic Larkin

    Birthday: 1992-06-28

    Address: Apt. 413 8275 Mueller Overpass, South Magnolia, IA 99527-6023

    Phone: +6824704719725

    Job: District Real-Estate Facilitator

    Hobby: Letterboxing, Vacation, Poi, Homebrewing, Mountain biking, Slacklining, Cabaret

    Introduction: My name is Mrs. Angelic Larkin, I am a cute, charming, funny, determined, inexpensive, joyous, cheerful person who loves writing and wants to share my knowledge and understanding with you.