Azure naming conventions

By having prefixes and a structure by type, project name, and environment, it will be faster for your eyes to spot resources and easier to remember. It also works great with IaC.

It's not straightforward to change the name of most services later so it's crucial to establish a solid naming strategy early on in your organization. Remember to always follow the naming strategy and adjust it to your needs and desire. If you use IaC (Infrastructure as code) it will be easy to adjust the names. By having prefixes and a structure by type, project name, and environment, it will be quicker to spot resources and easier to remember. It also works great with IaC.

Establishing a good naming strategy for your team or project is essential for reducing headaches. Less thinking about a reasonable name for a resource and no discussions about names later. Save time, make more cash, and working with Azure will be more enjoyable.

Resources

Microsoft has a few articles that have best practices around naming Azure resources. It is not extensive but it provides a good base.

Services table

TypePrefixStructureExample
API Management{name}-{environment?}fcorp-dev
Application Insightsappi-appi-{name}-{project?}-{environment}appi-fbapp-web-dev
App Serviceapps-apps-{name}-{subtype?}-{environment}apps-fbapp-api-dev
App Service Planappsp-appsp-{name}-{subtype?}-{environment}appsp-fbapp-dev
CDN Profilecdnpcdnp-{name}-{environment}cdnp-fbapp-dev
CDN Endpointcdnecdne-{name}-{environment}cdne-fbapp-dev
Cognitive Servicescog-cog-{name}-{environment}cog-fcorp-dev
Container registrycrcr{name}{environment}cffbappdev
Event Hubs namespaceevhns-evhns-{name}-{environment}evhns-fbapp-dev
Event hubevh-evh-{name}-{environment}evh-fbapp-dev
Function Appfunc-func-{name}-{subtype?}-{environment}func-fbapp-integrations-dev
Key Vaultkeyv-keyv-{project}-{environment}keyv-fcorp-dev
Integration Accountia-ia-{name}-{environment}ia-fcorp-dev
Load balancer (internal)lobi-lobi-{name}-{environment}lobi-fpabb-dev
Load balancer (external)lobe-lobe-{name}-{environment}lobi-fbapp-dev
Log Analyticslog-log-{name}-{environment}log-fbapp-dev
Logic Applogapp-logapp-{name}-{environment}logapp-web-dev
Public IP addresspip-pip-{name}-{environment}pip-fbapp-dev
Resource Grouprg-rg-{name}-{environment}rg-fcorp-dev
Route tableroute-route-{name}-{environment}route-fbapp-dev
Service Busseb-seb-{name}-{environment}serb-fcorp-dev
Service Bus Topicsebt-sebt-{name}-{environment}sebt-fcorp-videos-dev
Service Bus Queuesebq-sebq-{name}-{environment}sebq-fcorp-videos-dev
Storage Accountstorstor{name}{environment}storazappfbappwebdev
Subnetsnet-snet-{name}-{environment}snet-fbapp-dev
Public IP addresspip-pip-{name}-{environment}pip-fbapp-dev
SQL Databasesqldb-sqldb-{name}-{environment}sqldb-fbapp-dev
SQL Serversqlse-sqlse-{name}-{environment}sqlse-fbapp-dev
Virtual Machinevmvm{name}{environment}vmfbappdev
Virtual Networkvnet-vnet-{name}-{environment}vnet-fbapp-dev
Virtual network peeringpeer-peer-{name}-{environment}peer-fbapp-dev

This is a table of some common ones and the structure is an example. Play around with the structure to make it fit with your needs. I like to keep the names short and sweet.

Sculpt it

The prefixes in the table are mashed up from the Microsoft documentation and various blog articles out there. Some are changed to my liking. You can take it as it is or sculpt it to your needs and organization.

Try to follow the name conventions for resources and you will be delightfully happy since it's easy to spot the resource your after. Take it further, try using it with IaC.

Do you already have established a good naming convention or did my article help you on the way? Feel free to leave a comment down below.✍️