@@ -28,7 +28,7 @@ During discovery sessions and environment design, these standards serve as **sug
2828- ** Microsoft Cloud Adoption Framework (CAF)** - Industry-proven Azure naming patterns
2929- ** Microsoft Well-Architected Framework (WAF)** - Operational excellence and reliability principles
3030- ** Azure Best Practices** - Microsoft-recommended resource naming conventions
31- - ** Azure Local Cloud Azure Local Cloudnology Standards** - Internal consistency and automation enablement
31+ - ** Azure Local Cloud Technology Standards** - Internal consistency and automation enablement
3232
3333:::warning Existing Standards Take Precedence
3434** These naming standards are recommendations, not mandates.** If your organization has established naming conventions, identity standards, or organizational requirements, those must be followed. Use this document as a reference during discovery to understand existing standards, identify gaps or conflicts, and propose alternatives only when existing standards cause technical limitations (e.g., exceeding character limits).
@@ -100,8 +100,8 @@ This section covers all physical and on-premises resources deployed at each site
100100** Pattern** : ` <site>-<cluster#>-N<node#> ` (⚠️ Strict 15-char NetBIOS limit for Active Directory)
101101
102102** Examples** :
103- - Node 1: ` ral -01-n01`
104- - Node 2: ` ral -01-n02`
103+ - Node 1: ` nyc -01-n01`
104+ - Node 2: ` nyc -01-n02`
105105
106106:::warning NetBIOS Limit
107107Azure Local nodes must be domain-joined and follow the 15-character NetBIOS limit for Active Directory computer objects. The simplified N pattern provides maximum flexibility for site codes while maintaining clear identification as cluster nodes.
@@ -112,7 +112,7 @@ Azure Local nodes must be domain-joined and follow the 15-character NetBIOS limi
112112** Pattern** : ` <site>-clus<nn> ` (⚠️ Strict 15-char NetBIOS limit for CNO)
113113
114114** Examples** :
115- - Cluster 1: ` ral -clus01`
115+ - Cluster 1: ` nyc -clus01`
116116
117117:::warning Cluster Name Object (CNO) Limit
118118Windows Server Failover Cluster Name Object (CNO) is limited to 15 characters due to Active Directory NetBIOS requirements. The cluster name must be unique in the Active Directory domain.
@@ -123,10 +123,10 @@ Windows Server Failover Cluster Name Object (CNO) is limited to 15 characters du
123123** Pattern** : ` <site>-<type>-<nn> ` (⚠️ 15-char limit for domain-joined servers)
124124
125125** Examples** :
126- - Domain Controllers: ` ral -dc-01` , ` ral -dc-02` (9 chars)
127- - Certificate Authority: ` ral -ca-01` (9 chars)
128- - WAC Gateway: ` ral -wac-01` (10 chars)
129- - Tools/Jumpbox Server: ` ral -tools` (9 chars)
126+ - Domain Controllers: ` nyc -dc-01` , ` nyc -dc-02` (9 chars)
127+ - Certificate Authority: ` nyc -ca-01` (9 chars)
128+ - WAC Gateway: ` nyc -wac-01` (10 chars)
129+ - Tools/Jumpbox Server: ` nyc -tools` (9 chars)
130130
131131** Variable Mapping** :
132132``` yaml
@@ -287,10 +287,10 @@ VM images are stored in the Azure Local cluster gallery and used for VM provisio
287287**Pattern**: `<node>-i`
288288
289289**Examples**:
290- - ` ral -01-n01-i` (Node 1 iDRAC)
291- - ` ral -01-n02-i` (Node 2 iDRAC)
292- - ` ral -01-n03-i` (Node 3 iDRAC)
293- - ` ral -01-n04-i` (Node 4 iDRAC)
290+ - ` nyc -01-n01-i` (Node 1 iDRAC)
291+ - ` nyc -01-n02-i` (Node 2 iDRAC)
292+ - ` nyc -01-n03-i` (Node 3 iDRAC)
293+ - ` nyc -01-n04-i` (Node 4 iDRAC)
294294
295295**Variable Mapping**:
296296` ` ` yaml
@@ -307,9 +307,9 @@ The `-i` suffix indicates the iDRAC/BMC interface for out-of-band management. Th
307307**Pattern**: `<site>-sw-<##>`
308308
309309**Examples**:
310- - ` ral -sw-01` (Rack switch 1)
311- - ` ral -sw-02` (Rack switch 2)
312- - ` ATL -sw-01` (Atlanta site switch 1)
310+ - ` nyc -sw-01` (Rack switch 1)
311+ - ` nyc -sw-02` (Rack switch 2)
312+ - ` sea -sw-01` (Seattle site switch 1)
313313
314314**Variable Mapping**:
315315` ` ` yaml
@@ -322,9 +322,9 @@ network_devices:
322322**Pattern**: `<site>-fw-<##>`
323323
324324**Examples**:
325- - ` RAL -fw-01` (Primary firewall)
326- - ` RAL -fw-02` (Secondary firewall)
327- - ` ATL -fw-01` (Atlanta site firewall)
325+ - ` nyc -fw-01` (Primary firewall)
326+ - ` nyc -fw-02` (Secondary firewall)
327+ - ` sea -fw-01` (Seattle site firewall)
328328
329329**Variable Mapping**:
330330` ` ` yaml
@@ -337,9 +337,9 @@ network_devices:
337337**Pattern**: `<site>-og-<##>`
338338
339339**Examples**:
340- - ` RAL -og-01` (Opengear console server 1)
341- - ` RAL -og-02` (Opengear console server 2)
342- - ` ATL -og-01` (Atlanta site Opengear)
340+ - ` nyc -og-01` (Opengear console server 1)
341+ - ` nyc -og-02` (Opengear console server 2)
342+ - ` sea -og-01` (Seattle site Opengear)
343343
344344**Variable Mapping**:
345345` ` ` yaml
@@ -352,10 +352,10 @@ network_devices:
352352**Pattern**: `<site>-pdu-<##>`
353353
354354**Examples**:
355- - ` RAL -pdu-01` (PDU 1)
356- - ` RAL -pdu-02` (PDU 2)
357- - ` RAL -pdu-03` (PDU 3)
358- - ` RAL -pdu-04` (PDU 4)
355+ - ` nyc -pdu-01` (PDU 1)
356+ - ` nyc -pdu-02` (PDU 2)
357+ - ` nyc -pdu-03` (PDU 3)
358+ - ` nyc -pdu-04` (PDU 4)
359359
360360**Variable Mapping**:
361361` ` ` yaml
@@ -411,15 +411,15 @@ The `{prefix}` is whatever the organization chooses — there is no universal de
411411**Pattern**: `{Organization} {Purpose}` or `{Tenant} {Purpose}`
412412
413413**Display Name Examples**:
414- - ` Azure Local Cloud Root`
415- - ` Azure Local Cloud Platform`
416- - ` Azure Local Cloud Platform - Identity`
417- - ` Azure Local Cloud Platform - Security`
418- - ` Azure Local Cloud Platform - Connectivity`
419- - ` Azure Local Cloud Platform - Management`
420- - ` Azure Local Cloud Landing Zones`
421- - ` Azure Local Cloud Sandbox`
422- - ` Azure Local Cloud Decommissioned`
414+ - ` Infinite Improbability Corp Root`
415+ - ` Infinite Improbability Corp Platform`
416+ - ` Infinite Improbability Corp Platform - Identity`
417+ - ` Infinite Improbability Corp Platform - Security`
418+ - ` Infinite Improbability Corp Platform - Connectivity`
419+ - ` Infinite Improbability Corp Platform - Management`
420+ - ` Infinite Improbability Corp Landing Zones`
421+ - ` Infinite Improbability Corp Sandbox`
422+ - ` Infinite Improbability Corp Decommissioned`
423423
424424---
425425
@@ -434,15 +434,15 @@ For smaller deployments that don't require full Azure Landing Zone governance. O
434434` ` ` text
435435Tenant Root Group
436436└── {prefix}-{tenant}-root (e.g., iic-prod-root)
437- └── sub-{org}-azurelocal-{site} (e.g., sub-iic-azurelocal-ral )
437+ └── sub-{org}-azurelocal-{site} (e.g., sub-iic-azurelocal-nyc )
438438` ` `
439439
440440**Deployment Example** (Org: `iic`, Tenant: `prod`):
441441
442442| **Resource** | **ID / Name** | **Display Name** |
443443|-------------|---------------|-------------------|
444444| Management Group | `iic-prod-root` | `Infinite Improbability Corp Root` |
445- | Subscription | `sub-iic-azurelocal-ral ` | — |
445+ | Subscription | `sub-iic-azurelocal-nyc ` | — |
446446
447447:::tip When to Use Model A
448448- Organization has a single Azure Local cluster
@@ -569,46 +569,46 @@ Subscriptions organize Azure resources for billing, governance, and access contr
569569
570570| **Purpose** | **Pattern** | **Example** | **Variable** |
571571|-------------|-------------|-------------|--------------|
572- | Bootstrap | `sub-<org>-bootstrap` | `sub-Azure Local Cloud -bootstrap` | `sub_bootstrap_name` |
573- | Connectivity | `sub-<org>-connectivity` | `sub-Azure Local Cloud -connectivity` | `sub_connectivity_name` |
574- | Management | `sub-<org>-management` | `sub-Azure Local Cloud -management` | `sub_management_name` |
575- | Security | `sub-<org>-security` | `sub-Azure Local Cloud -security` | `sub_security_name` |
576- | Identity | `sub-<org>-identity` | `sub-Azure Local Cloud -identity` | `sub_identity_name` |
577- | Azure Local | `sub-<org>-azurelocal-<site>` | `sub-Azure Local Cloud -azurelocal-ral ` | `sub_azure_local_name` |
578- | Workloads | `sub-<org>-workloads-<env>` | `sub-Azure Local Cloud -workloads-prod` | `sub_workloads_name` |
572+ | Bootstrap | `sub-<org>-bootstrap` | `sub-iic -bootstrap` | `sub_bootstrap_name` |
573+ | Connectivity | `sub-<org>-connectivity` | `sub-iic -connectivity` | `sub_connectivity_name` |
574+ | Management | `sub-<org>-management` | `sub-iic -management` | `sub_management_name` |
575+ | Security | `sub-<org>-security` | `sub-iic -security` | `sub_security_name` |
576+ | Identity | `sub-<org>-identity` | `sub-iic -identity` | `sub_identity_name` |
577+ | Azure Local | `sub-<org>-azurelocal-<site>` | `sub-iic -azurelocal-nyc ` | `sub_azure_local_name` |
578+ | Workloads | `sub-<org>-workloads-<env>` | `sub-iic -workloads-prod` | `sub_workloads_name` |
579579
580580**Variable Mapping** (from `config/variables.yml`):
581581` ` ` yaml
582582subscriptions:
583583 sub_bootstrap_id: "00000000-1111-2222-3333-444444444444"
584- sub_bootstrap_name: "sub-Azure Local Cloud -bootstrap"
584+ sub_bootstrap_name: "sub-iic -bootstrap"
585585 sub_connectivity_id: "12345678-1234-1234-1234-123456789015"
586- sub_connectivity_name: "sub-Azure Local Cloud -connectivity"
586+ sub_connectivity_name: "sub-iic -connectivity"
587587 sub_management_id: "12345678-1234-1234-1234-123456789016"
588588 sub_security_id: "12345678-1234-1234-1234-123456789017"
589- sub_security_name: "sub-Azure Local Cloud -security"
589+ sub_security_name: "sub-iic -security"
590590 sub_identity_id: "12345678-1234-1234-1234-123456789018"
591- sub_identity_name: "sub-Azure Local Cloud -identity"
591+ sub_identity_name: "sub-iic -identity"
592592 sub_azure_local_id: "00000000-1111-2222-3333-444444444444"
593- sub_azure_local_name: "sub-Azure Local Cloud -azurelocal-ral "
593+ sub_azure_local_name: "sub-iic -azurelocal-nyc "
594594 sub_workloads_id: "12345678-1234-1234-1234-123456789019"
595- sub_workloads_name: "sub-Azure Local Cloud -workloads-prod"
595+ sub_workloads_name: "sub-iic -workloads-prod"
596596` ` `
597597
598598**CAF Enterprise-Scale Subscription Alignment**:
599599
600600| **Landing Zone** | **Subscription Purpose** | **Example Name** |
601601|------------------|--------------------------|------------------|
602- | Platform - Management | Monitoring, Log Analytics, Automation | `sub-Azure Local Cloud -management` |
603- | Platform - Connectivity | Hub networking, VPN, ExpressRoute | `sub-Azure Local Cloud -connectivity` |
604- | Platform - Identity | Domain Controllers, Entra ID Connect | `sub-Azure Local Cloud -identity` |
605- | Platform - Security | Defender, Sentinel, Key Vaults | `sub-Azure Local Cloud -security` |
606- | Landing Zones - Corp | Azure Local clusters, internal workloads | `sub-Azure Local Cloud -azurelocal-ral ` |
607- | Landing Zones - Online | Internet-facing workloads | `sub-Azure Local Cloud -workloads-prod` |
602+ | Platform - Management | Monitoring, Log Analytics, Automation | `sub-iic -management` |
603+ | Platform - Connectivity | Hub networking, VPN, ExpressRoute | `sub-iic -connectivity` |
604+ | Platform - Identity | Domain Controllers, Entra ID Connect | `sub-iic -identity` |
605+ | Platform - Security | Defender, Sentinel, Key Vaults | `sub-iic -security` |
606+ | Landing Zones - Corp | Azure Local clusters, internal workloads | `sub-iic -azurelocal-nyc ` |
607+ | Landing Zones - Online | Internet-facing workloads | `sub-iic -workloads-prod` |
608608
609609:::tip Subscription Strategy
610610- **Dedicated Azure Local Subscription**: Each Azure Local cluster site should have its own subscription for clear billing, governance, and RBAC boundaries
611- - **Site Code in Name**: Include site code (e.g., `ral `, `atl `) for multi-site deployments
611+ - **Site Code in Name**: Include site code (e.g., `nyc `, `sea `) for multi-site deployments
612612- **Environment Separation**: Production and non-production workloads in separate subscriptions
613613:: :
614614
@@ -693,8 +693,8 @@ VPN Gateways provide site-to-site (S2S) VPN connectivity between Azure and on-pr
693693| **Resource Type** | **CAF Pattern** | **Example** |
694694|-------------------|-----------------|-------------|
695695| Virtual Network Gateway | `vgw-<workload>-<environment>-<region>-<instance>` | `vgw-azlocal-prod-eus-001` |
696- | Local Network Gateway | `lgw-<site>-<environment>-<region>` | `lgw-ral -prod-eus` |
697- | VPN Connection | `vcn-<source>-to-<destination>-<environment>` | `vcn-azure-to-ral -prod` |
696+ | Local Network Gateway | `lgw-<site>-<environment>-<region>` | `lgw-nyc -prod-eus` |
697+ | VPN Connection | `vcn-<source>-to-<destination>-<environment>` | `vcn-azure-to-nyc -prod` |
698698| Public IP (VPN) | `pip-vgw-<environment>-<instance>` | `pip-vgw-prod-001` |
699699
700700**Variable Mapping**:
@@ -903,16 +903,16 @@ vlans:
903903
904904| **Device/Service** | **Hostname** | **IP Pattern** | **Variable** |
905905| ------------------ | ------------- | --------------------- | ---------------------- |
906- | Cluster IP | ral -clus01 | mgmt_network.10 | cluster_ip |
907- | Node 1 | ral -01-n01 | mgmt_network.11 | node_01_ip |
908- | Node 2 | ral -01-n02 | mgmt_network.12 | node_02_ip |
909- | Node 3 | ral -01-n03 | mgmt_network.13 | node_03_ip |
910- | Node 4 | ral -01-n04 | mgmt_network.14 | node_04_ip |
906+ | Cluster IP | nyc -clus01 | mgmt_network.10 | cluster_ip |
907+ | Node 1 | nyc -01-n01 | mgmt_network.11 | node_01_ip |
908+ | Node 2 | nyc -01-n02 | mgmt_network.12 | node_02_ip |
909+ | Node 3 | nyc -01-n03 | mgmt_network.13 | node_03_ip |
910+ | Node 4 | nyc -01-n04 | mgmt_network.14 | node_04_ip |
911911| Reserved | - | mgmt_network.15-20 | (Future expansion) |
912- | iDRAC Node 1 | ral -01-n01-i | oob_network.11 | node_01_idrac_ip |
913- | iDRAC Node 2 | ral -01-n02-i | oob_network.12 | node_02_idrac_ip |
914- | iDRAC Node 3 | ral -01-n03-i | oob_network.13 | node_03_idrac_ip |
915- | iDRAC Node 4 | ral -01-n04-i | oob_network.14 | node_04_idrac_ip |
912+ | iDRAC Node 1 | nyc -01-n01-i | oob_network.11 | node_01_idrac_ip |
913+ | iDRAC Node 2 | nyc -01-n02-i | oob_network.12 | node_02_idrac_ip |
914+ | iDRAC Node 3 | nyc -01-n03-i | oob_network.13 | node_03_idrac_ip |
915+ | iDRAC Node 4 | nyc -01-n04-i | oob_network.14 | node_04_idrac_ip |
916916
917917# ## 2.3 Compute
918918
@@ -944,25 +944,25 @@ Every VM deployment must set **both** the Azure resource name and the OS hostnam
944944**Pattern**: `<site>-<role>-<nn>` (⚠️ **15-character NetBIOS limit** for domain-joined Windows machines)
945945
946946**Examples**:
947- - ` ral -dc-01` (9 chars)
948- - ` ral -wac-01` (10 chars)
949- - ` ral -jmp-01` (10 chars)
950- - ` ral -tools` (9 chars)
947+ - ` nyc -dc-01` (9 chars)
948+ - ` nyc -wac-01` (10 chars)
949+ - ` nyc -jmp-01` (10 chars)
950+ - ` nyc -tools` (9 chars)
951951
952952# #### VM Name Mapping Table
953953
954954The following table shows how Azure resource names map to Windows hostnames for common VM roles :
955955
956956| **Role** | **Azure Resource Name** | **Hostname (≤15 chars)** | **Chars** |
957957|----------|------------------------|--------------------------|-----------|
958- | Domain Controller 1 | `vm-azlocal-prod-eus-dc-01` | `ral -dc-01` | 9 |
959- | Domain Controller 2 | `vm-azlocal-prod-eus-dc-02` | `ral -dc-02` | 9 |
960- | Certificate Authority | `vm-azlocal-prod-eus-ca-01` | `ral -ca-01` | 9 |
961- | Windows Admin Center | `vm-azlocal-prod-eus-wac-01` | `ral -wac-01` | 10 |
962- | Jumpbox / Tools | `vm-azlocal-prod-eus-jmp-01` | `ral -jmp-01` | 10 |
963- | backup server | `vm-azlocal-prod-eus-Azure Backup-01` | `ral-Azure Backup -01` | 11 |
964- | Utility Server | `vm-azlocal-prod-eus-util-01` | `ral -util-01` | 11 |
965- | NDM Server | `vm-azlocal-prod-eus-ndm-01` | `ral -ndm-01` | 10 |
958+ | Domain Controller 1 | `vm-azlocal-prod-eus-dc-01` | `nyc -dc-01` | 9 |
959+ | Domain Controller 2 | `vm-azlocal-prod-eus-dc-02` | `nyc -dc-02` | 9 |
960+ | Certificate Authority | `vm-azlocal-prod-eus-ca-01` | `nyc -ca-01` | 9 |
961+ | Windows Admin Center | `vm-azlocal-prod-eus-wac-01` | `nyc -wac-01` | 10 |
962+ | Jumpbox / Tools | `vm-azlocal-prod-eus-jmp-01` | `nyc -jmp-01` | 10 |
963+ | backup server | `vm-azlocal-prod-eus-Azure Backup-01` | `nyc-bkup -01` | 11 |
964+ | Utility Server | `vm-azlocal-prod-eus-util-01` | `nyc -util-01` | 11 |
965+ | NDM Server | `vm-azlocal-prod-eus-ndm-01` | `nyc -ndm-01` | 10 |
966966
967967# #### VM Scale Sets (VMSS)
968968
@@ -983,14 +983,14 @@ Always configure both names during VM deployment:
983983` ` ` powershell
984984New-AzVM -ResourceGroupName "rg-azlocal-prod-eus-001" `
985985 -Name "vm-azlocal-prod-eus-dc-01" `
986- -ComputerName "ral -dc-01"
986+ -ComputerName "nyc -dc-01"
987987```
988988
989989** Terraform** :
990990``` hcl
991991resource "azurerm_windows_virtual_machine" "dc_01" {
992992 name = "vm-azlocal-prod-eus-dc-01" # Azure resource name
993- computer_name = "ral -dc-01" # Windows hostname (≤15 chars)
993+ computer_name = "nyc -dc-01" # Windows hostname (≤15 chars)
994994 # ...
995995}
996996
@@ -1004,7 +1004,7 @@ resource "azurerm_linux_virtual_machine_scale_set" "cicd" {
10041004** ARM Template / Bicep** :
10051005``` json
10061006"osProfile" : {
1007- "computerName" : " ral -dc-01" ,
1007+ "computerName" : " nyc -dc-01" ,
10081008 "adminUsername" : " ..."
10091009}
10101010```
@@ -1158,15 +1158,15 @@ entra_groups:
11581158**Examples**:
11591159- ` sp-azlocal-prod-deployment` (Azure Local deployment automation)
11601160- ` sp-azlocal-prod-monitoring` (Monitoring integration)
1161- - ` sp-cicd-customer -prod` (CI/CD pipeline service principal )
1161+ - ` sp-cicd-iic -prod` (IIC production CI/CD)
11621162- ` sp-backup-prod-recovery` (Backup and recovery automation)
11631163
11641164**Variable Mapping**:
11651165` ` ` yaml
11661166service_principals:
11671167 deployment: "sp-{{workload}}-{{environment}}-deployment"
11681168 monitoring: "sp-{{workload}}-{{environment}}-monitoring"
1169- cicd: "sp-cicd-{{customer }}-{{environment}}"
1169+ cicd: "sp-cicd-{{org_prefix }}-{{environment}}"
11701170` ` `
11711171
11721172# ### Managed Identities
@@ -1415,7 +1415,7 @@ azure_arc:
14151415
14161416**Examples**:
14171417- ` stwitnessclus01eus01` (Cluster 01 cloud witness - 20 chars)
1418- - ` stwitnessraleus01 ` (RAL site cloud witness - 17 chars)
1418+ - ` stwitnessnyceus01 ` (NYC site cloud witness - 17 chars)
14191419
14201420**Variable Mapping**:
14211421` ` ` yaml
@@ -1435,7 +1435,7 @@ witness:
14351435
14361436**Examples**:
14371437- ` fswit-clus01-01` (Cluster 01 file share witness)
1438- - ` fswit-ral -01` (RAL site file share witness)
1438+ - ` fswit-nyc -01` (NYC site file share witness)
14391439
14401440**Variable Mapping**:
14411441` ` ` yaml
@@ -1515,17 +1515,17 @@ cicd:
15151515
15161516# ## 3.3 CI/CD Service Principal
15171517
1518- **Pattern**: `sp-cicd-<customer >-<environment>`
1518+ **Pattern**: `sp-cicd-<org >-<environment>`
15191519
15201520**Examples**:
1521- - ` sp-cicd-acme -prod` (ACME Corp production CI/CD)
1522- - ` sp-cicd-globaltech-prod ` (GlobalTech production CI/CD)
1521+ - ` sp-cicd-iic -prod` (IIC production CI/CD)
1522+ - ` sp-cicd-iic-dev ` (IIC development CI/CD)
15231523- ` sp-cicd-internal-dev` (Internal development CI/CD)
15241524
15251525**Variable Mapping**:
15261526` ` ` yaml
15271527cicd:
1528- service_principal: "sp-cicd-{{customer }}-{{environment}}"
1528+ service_principal: "sp-cicd-{{org_prefix }}-{{environment}}"
15291529` ` `
15301530
15311531---
@@ -1621,7 +1621,7 @@ For automation via `variables.yml`, use these variable patterns:
16211621
16221622| **Variable** | **Description** | **Example Value** |
16231623| --------------------- | --------------------------------- | ----------------- |
1624- | `site_code` | Site code identifier (2-5 chars) | `RAL `, `ATL `, `iic` |
1624+ | `site_code` | Site code identifier (2-5 chars) | `nyc `, `sea `, `iic` |
16251625| `environment` | Environment name | `prod`, `dev` |
16261626| `azure_region` | Azure region code | `eastus`, `westus`|
16271627| `workload` | Workload/product name | `azlocal`, `azurelocal` |
0 commit comments