Skip to main content

Service inventory

The Data and ETL Blueprint deploys nine Azure services and the Unity Catalog objects of Azure Databricks into each stage, and relies on four more from the Baseline. Everything below is created by the blueprint's own code unless the table says it comes from the Baseline. Names use the stage prefix acme-eus2-<slug>, with the slugs dev, stg and prd.

How the pieces group​

Azure services​

ServiceResource per stageWhat it does in the blueprint
Data Lake Storagestacmeeus2<slug>datalakeThe lake: hierarchical namespace, ZRS, four containers, 30-day soft delete, tiering to cool after 90 days and archive after 180, shared keys off
Storage queueetl-trigger in the lakeHolds the BlobCreated events until the trigger reads them
Event GridSystem topic acme-eus2-<slug>-datalake-events, subscription raw-input-jsonSends every new raw/input/*.json file to the queue, with the topic's managed identity
Private Linkpe-stacmeeus2<slug>datalake-blob, -dfs, -queuePrivate endpoints of the lake in the stage's snet-endpoints subnet
Azure DatabricksWorkspace acme-eus2-<slug>-dbw, access connector acme-eus2-<slug>-dbacThe Premium workspace, injected into the stage network, and the identity Unity Catalog uses on the lake
Container AppsEnvironment acme-eus2-<slug>-cae, job acme-eus2-<slug>-etl-trigger-cajThe event-driven trigger: 0.5 vCPU and 1 GiB per execution, 300-second timeout, up to three parallel executions, nothing while idle
Managed identitiesid-acme-eus2-<slug>-etl-triggerThe trigger identity: reads the queue and the raw files, pulls the image, reads the job ID, calls Databricks; the job runs as it
Key VaultSecrets etl-trigger--image-tag and etl--job-id in the stage's contract vaultThe deployed trigger image tag and the Databricks job ID
Resource groups and locks-data-lake-rg, -databricks-rg, -etl-trigger-rg and the two managed groupsOne resource group per unit; CanNotDelete locks on the lake and workspace groups in prod

Every resource with logs sends them to the stage's application Log Analytics workspace through a diagnostic setting: storage reads, writes and deletes on blob and queue, the workspace's accounts, clusters, jobs, notebook, unityCatalog and workspace categories, and the Container Apps console and system logs.

Databricks and Unity Catalog objects​

ObjectName per stageWhat it does
Storage credentialacme-eus2-<slug>-lakeThe access connector's managed identity, bound to the stage's workspace
External locationsacme-eus2-<slug>-raw, -processed, -curated, -managedOne per container; path access with READ_FILES and WRITE_FILES
Catalogacme_<slug>Managed storage in the managed container, bound to the stage's workspace
Schemasraw, processed, curatedOne per zone, inheriting the catalog's managed location
Volume/Volumes/acme_<slug>/processed/scriptsExternal volume on processed/scripts/, where the job reads etl_transform.py
Service principalacme-eus2-<slug>-etl-triggerThe trigger identity registered in the workspace
Jobacme-eus2-<slug>-etlThe PySpark task, on a job cluster of Standard_D4ds_v5 nodes (two workers) per run by default
GrantsCatalog, external locations and job permissionsWhat the trigger identity and the two ETL engineer groups may do

Used from the Baseline​

ServiceWhere it livesUse
Virtual NetworkEach stage subscriptionThe spoke and its subnets snet-endpoints, snet-dbx-host, snet-dbx-container and snet-aca
Private DNSacme-core-networkThe blob, dfs and queue Private Link zones that resolve the lake's private endpoints
Container Registryacme-core-artifactsThe acme-azure-blueprint-etl-trigger repository in cracmeeus2artifacts, with locked tags
GitHub OIDCFederated deployer identitiesShort-lived Entra tokens for every workflow, with no stored secrets

The Baseline also holds the stage's contract vault and Log Analytics workspace, the hub firewall or the spoke NAT gateway that carries cluster egress, and the regional Unity Catalog metastore root in acme-core-artifacts. The landing zone contract lists every value the blueprint reads.

Defaults per stage​

The three stages start with the same sizing. Prod differs in two values: its job clusters use on-demand workers only, and its lake and workspace resource groups carry delete locks. The sizing per stage page lists every value and its price comment.