cloud-adoption-framework icon indicating copy to clipboard operation
cloud-adoption-framework copied to clipboard

Naming convention massively outdated and needs updating

Open byronbayer opened this issue 5 years ago • 7 comments

The naming convention outlined in https://docs.microsoft.com/en-us/azure/cloud-adoption-framework/ready/azure-best-practices/naming-and-tagging is massively outdated and not reflective of real world scenarios. From my experience of working with many clients over the past 25 years there has never been a time where the naming outlined in the above document has been implemented or would have been implemented due to the confusion it leaves when infrastructure has been deployed.

The examples need to be broken down into several different use cases depending on the client needs. Naming conventions can be different from company to company, for example for a company only providing infrastructure for their own organisation to a company that has multiple clients that need infrastructure (for possible security and GDPR purposes) Just to quickly highlight:

Prefixing is never a good idea.

When looking through infrastructure in Azure that has the naming of the following

webapi-org-dev-application-001
ai-org-dev-application-001

it is a lot harder to understand than:

org-dev-application-001-webapi
org-dev-application-001-ai

Both are the same but just named differently. This makes a huge difference when trawling through masses of infrastructure in Azure

Environments vs purpose

Environments are not just dev, test, preprod and prod on their own, they are the purpose of the infrastructure Environments are made up of purpose dev and a version 001

dev-001
prd-001
prd-002

having infrastructure naming built up like this allows you to have multiple instances of sites that you can easily switch to or create blue green testing for. It also helps with not having pets (long standing infrastructure) and breeds more cattle (short lived easily destroyed infrastructure)

Positional values in the naming convention matter.

How you construct your naming convention is very important. having a name of org-dev-app1-001 org-dev-app1-002 is a lot easier to read and predictably create using automation than org-dev-001-app1 org-dev-002-app1

A naming convention could be built up from the following items

Owner: short descriptor of the organisation - it unique naming for some infrastructure org1 - Organisation 1

Purpose: Dev - Development Tst - Test Qa - Qa pp - PreProd Prd - Production

Application: ap1 Application1

Environment: 001, 002 ect

Base name org1-dev-ap1-001

Infrastructure: App insights -ai Web UI -webui Web api -webapi Web job -webjob App service plan -asp Service Bus Sb Function App -func Key Vault -kv

This is just a very brief overview of where I feel the naming conventions should go for enterprise scale infrastructure.

byronbayer avatar Sep 11 '20 16:09 byronbayer