Appearance
Naming Conventions
Consistent resource naming is essential for Azure cost tracking, access control, and pipeline automation. This page is the authoritative reference for all Microtec ERP resource naming patterns.
Core Prefixes
| Prefix | Scope | Examples |
|---|---|---|
mic-erp-be | Backend resources | RGs, CAE, Redis, Service Bus |
mic-erp-fr | Frontend resources | Storage accounts (SWA, blob hosting) |
mic-erp-be + alphanumeric | Storage/ACR (no dashes) | micerpbedevacr, micerpbeprdsa |
Backend Resource Naming
Resource Groups
Pattern: mic-erp-be-{env}-{purpose}-rg
| Purpose Token | Usage | Example |
|---|---|---|
network | VNet, subnets, NSGs | mic-erp-be-dev-network-rg |
security | Managed Identity, RBAC | mic-erp-be-dev-security-rg |
sql | SQL configuration | mic-erp-be-dev-sql-rg |
utils | Service Bus, Redis | mic-erp-be-dev-utils-rg |
apps-public | Public CAE (Gateway + Keycloak) | mic-erp-be-dev-apps-public-rg |
apps-private | Private CAE (all internal services) | mic-erp-be-dev-apps-private-rg |
monitoring | App Insights, Log Analytics | mic-erp-be-dev-monitoring-rg |
global | ACR, Key Vault | mic-erp-be-dev-global-rg |
storage | Backend blob storage (optional) | mic-erp-be-dev-storage-rg |
Individual Resources
Pattern: mic-erp-be-{env}-{resource-type}
mic-erp-be-dev-cae-private # Private Container Apps Environment
mic-erp-be-dev-cae-public # Public Container Apps Environment
mic-erp-be-dev-redis # Azure Managed Redis
mic-erp-be-dev-asb # Azure Service Bus namespace
mic-erp-be-dev-mi # User-assigned Managed Identity
mic-erp-be-dev-law # Log Analytics Workspace
mic-erp-be-dev-ai # Application InsightsEnvironment Tokens
| Token | Environment |
|---|---|
dev | Development |
stage | Staging |
preprod | Pre-Production |
uat | User Acceptance Testing |
production | Production |
Frontend Resource Naming
Resource Groups
Pattern: mic-erp-fr-{env}-{purpose}-rg
| Purpose Token | Usage | Example |
|---|---|---|
storage | Blob storage for SPA hosting | mic-erp-fr-dev-storage-rg |
swa | Static Web Apps | mic-erp-fr-dev-swa-rg |
Individual Frontend Resources
mic-erp-fr-dev-swa # Static Web App (per MFE or all)AFD Profiles Are Global, Not Per-Environment
AFD profiles (mic-erp-fd, mic-erp-fd-2, mic-erp-prod-fd) all live in the shared mic-erp-global-rg, not in per-environment frontend RGs. See Azure Front Door.
Storage and ACR (Alphanumeric Only)
Azure storage accounts and ACR names must be globally unique, alphanumeric, lowercase, 3–24 characters, no dashes.
ACR Naming Formula
replace('${resourcePrefix}${environment}acr', '-', '')Note: production uses the short token prd (not production) in ACR/storage names:
mic-erp-be + dev + acr → strip dashes → micerpbedevacr
mic-erp-be + stage + acr → micerpbestageacr
mic-erp-be + preprod + acr → micerpbepreprodacr
mic-erp-be + uat + acr → micerpbeuatacr
mic-erp-be + prd + acr → micerpbeprdacrStorage Account Naming
Backend storage (for attachments, data exports):
mic-erp-be + dev + sa → micerpbedevsa
mic-erp-be + prd + sa → micerpbeprdsaFrontend storage (SPA static files):
mic-erp-fr + dev + sa → micerpfrdevsa
mic-erp-fr + prd + sa → micerpfrprdsaContainer App Names
Container apps use the pattern mic-erp-be-{envShort}-{imageName} where envShort is the short environment code:
| Full Environment | envShort |
|---|---|
| dev | dev |
| stage | stg |
| preprod | pp |
| uat | uat |
| production | prd |
mic-erp-be-dev-gateway-api # Gateway.API (dev)
mic-erp-be-stg-gateway-api # Gateway.API (stage)
mic-erp-be-prd-gateway-api # Gateway.API (production)
mic-erp-be-dev-keycloak # Keycloak identity server
mic-erp-be-dev-apps-portal-apis # AppsPortal.Apis
mic-erp-be-dev-inventory-apis # Inventory.Apis
mic-erp-be-dev-business-owners-apis # BusinessOwners.Apis
mic-erp-be-dev-attachment-apis # Attachment.Apis
mic-erp-be-dev-notification-apis # Notification.Apis
mic-erp-be-dev-workflows-apis # Workflows.ApisOn-Prem Container Names
On-premises Docker containers follow the mic-{service} pattern:
mic-gateway # API Gateway
mic-keycloak # Keycloak
mic-redis # Redis cache
mic-seq # Seq logging
mic-servicebus # Azure Service Bus namespace
mic-accounting # Accounting service
mic-hr # HR serviceKey Vault Names (Exception)
Key Vault Names Do Not Follow the Formula
Key Vault names were assigned incrementally and cannot be migrated without updating all secret references across all pipeline configurations. Always use the actual names:
| Environment | Actual KV Name |
|---|---|
| dev | mic-erp-be-dev-skv |
| stage | mic-erp-stg-kv |
| preprod | mic-erp-be-preprod-skv |
| uat | mic-erp-uat-kv |
| prod | (contact platform team) |
The inconsistency pattern: dev/preprod use mic-erp-be-{env}-skv; stage/uat use mic-erp-{env}-kv (missing be and uses short kv suffix). This is a known historical artifact.
Shared SQL Resource Group (Do Not Rename)
mic-backend-shared-sql-rgDo NOT Rename
This resource group hosts the shared SQL Server VM (20.50.120.95) used by all environments. Renaming it would break:
- Pipeline service connections
- SQL provisioning scripts in
Devops/azure/scripts/ - Environment connection string templates
It was named before the mic-erp-be naming convention was established.
Orphan Resource Group
mic-erp-bk-dev-network-rgThis resource group is a leftover from the old naming convention that used bk (backend) instead of be. It is empty and harmless. It was identified during the naming convention refactor (Session 9, 2026-05-15) and flagged for deletion during the next environment cleanup cycle.
INFO
Do NOT confuse mic-erp-bk-* (old orphan) with mic-erp-be-* (current naming). Memory references previously said bk — this was corrected on 2026-05-15. All new resources use be.
Naming Decision Reference
Full Naming Cheat Sheet
| Resource Type | Pattern | Example (dev) |
|---|---|---|
| Backend RG | mic-erp-be-{env}-{purpose}-rg | mic-erp-be-dev-apps-public-rg |
| Frontend RG | mic-erp-fr-{env}-{purpose}-rg | mic-erp-fr-dev-storage-rg |
| Container App | mic-erp-be-{envShort}-{imageName} | mic-erp-be-dev-gateway-api |
| Private CAE | mic-erp-be-{env}-cae-private | mic-erp-be-dev-cae-private |
| Public CAE | mic-erp-be-{env}-cae-public | mic-erp-be-dev-cae-public |
| ACR | micerpbe{envShort}acr | micerpbedevacr |
| Backend SA | micerpbe{envShort}sa | micerpbedevsa |
| Frontend SA | micerpfr{envShort}sa | micerpfrdevsa |
| Key Vault | (use actual name) | mic-erp-be-dev-skv |
| Redis | mic-erp-be-{env}-redis | mic-erp-be-dev-redis |
| Service Bus | mic-erp-be-{env}-asb | mic-erp-be-dev-asb |
| Managed Identity | mic-erp-be-{env}-mi | mic-erp-be-dev-mi |
| Log Analytics | mic-erp-be-{env}-law | mic-erp-be-dev-law |
| App Insights | mic-erp-be-{env}-ai | mic-erp-be-dev-ai |
| AFD profile (dev/stg) | mic-erp-fd | mic-erp-fd |
| AFD profile (pp/uat) | mic-erp-fd-2 | mic-erp-fd-2 |
| AFD profile (prod) | mic-erp-prod-fd | mic-erp-prod-fd |
| On-prem container | mic-{service} | mic-gateway |
Related Documentation
- Resource Groups — Full per-environment RG inventory
- Key Vault — KV naming exceptions and actual names
- Infrastructure Overview — Bicep structure
- CI/CD Services Config — How names flow into pipeline config