Creating an Azure Databricks Workspace (Step-by-Step Guide)
Who this is for:
Architecture / Concept Overview: Creating an Azure Databricks Workspace (Step-by-Step Guide)
%%{init: {"theme":"base","themeVariables":{"background":"#0B0E14","primaryTextColor":"#E0E6ED","lineColor":"#5D6470","darkMode":true,"primaryColor":"#2E4A4A","secondaryColor":"#374151","secondaryTextColor":"#E0E6ED","tertiaryColor":"#111827","tertiaryTextColor":"#E0E6ED","edgeLabelBackground":"#1f2937"}}}%%
flowchart LR
classDef source fill:#3F4B59,stroke:#9CA3AF,stroke-width:2px,rx:8,ry:8,color:#E0E6ED
classDef ingestion fill:#5A4B36,stroke:#C9A86B,stroke-width:2px,rx:8,ry:8,color:#E0E6ED
classDef processing fill:#535072,stroke:#8E82B4,stroke-width:2px,rx:8,ry:8,color:#E0E6ED
classDef storage fill:#2E4A4A,stroke:#5FAFA8,stroke-width:2px,rx:8,ry:8,color:#E0E6ED
classDef serving fill:#3D5550,stroke:#6BB7AA,stroke-width:2px,rx:8,ry:8,color:#E0E6ED
classDef governance fill:#5A3F52,stroke:#C28BB0,stroke-width:2px,rx:8,ry:8,color:#E0E6ED
DEV[Developer] -->|az cli / Terraform| ARM[Azure Resource Manager]
ARM -->|Deploy| RG[Resource Group]
RG -->|Contains| WS[Databricks Workspace]
RG -->|Contains| VNET[Virtual Network]
RG -->|Contains| NSG[Network Security Groups]
WS -->|Provisions| MRG[Managed Resource Group]
MRG -->|Contains| DISKS[Managed Disks]
MRG -->|Contains| NICS[Network Interfaces]
DEV:::source
ARM:::ingestion
RG:::processing
WS:::processing
VNET:::storage
NSG:::governance
MRG:::serving
DISKS:::storage
NICS:::serving
*Workspace deployment flow from CLI/Terraform through ARM to provisioned Azure resources.*
%%{init: {"theme":"base","themeVariables":{"background":"#0B0E14","primaryTextColor":"#E0E6ED","lineColor":"#5D6470","darkMode":true,"primaryColor":"#2E4A4A","secondaryColor":"#374151","secondaryTextColor":"#E0E6ED","tertiaryColor":"#111827","tertiaryTextColor":"#E0E6ED","edgeLabelBackground":"#1f2937"}}}%%
graph TD
classDef source fill:#3F4B59,stroke:#9CA3AF,stroke-width:2px,rx:8,ry:8,color:#E0E6ED
classDef ingestion fill:#5A4B36,stroke:#C9A86B,stroke-width:2px,rx:8,ry:8,color:#E0E6ED
classDef processing fill:#535072,stroke:#8E82B4,stroke-width:2px,rx:8,ry:8,color:#E0E6ED
classDef storage fill:#2E4A4A,stroke:#5FAFA8,stroke-width:2px,rx:8,ry:8,color:#E0E6ED
classDef serving fill:#3D5550,stroke:#6BB7AA,stroke-width:2px,rx:8,ry:8,color:#E0E6ED
classDef governance fill:#5A3F52,stroke:#C28BB0,stroke-width:2px,rx:8,ry:8,color:#E0E6ED
S1[1. Register Provider] --> S2[2. Create Resource Group]
S2 --> S3[3. Create VNet and Subnets]
S3 --> S4[4. Configure NSGs]
S4 --> S5[5. Deploy Workspace]
S5 --> S6[6. Validate Deployment]
S6 --> S7[7. Configure Initial Settings]
S1:::source
S2:::ingestion
S3:::storage
S4:::governance
S5:::processing
S6:::serving
S7:::serving
*Sequential deployment steps from provider registration through workspace validation.*
Key Terms
Prerequisites and Setup
- Azure CLI version 2.50+ installed and authenticated
- Azure subscription with Contributor role on the target resource group
Microsoft.Databricksresource provider registered- Network planning completed: VNet CIDR, two dedicated subnets (minimum /26 each)
- Terraform 1.5+ (optional, for IaC deployment)
Step-by-Step Implementation
Configuration Reference
| Parameter | Description | Default | Recommended |
|---|---|---|---|
--sku | Pricing tier | standard | premium |
--enable-no-public-ip | No public IPs on cluster nodes | false | true |
--require-infrastructure-encryption | Double encryption at rest | false | true for regulated industries |
--managed-resource-group | Name for Databricks-managed RG | auto-generated | Explicit naming convention |
--vnet | Customer VNet resource ID | none | Always set for production |
--public-subnet | Subnet for NAT communication | none | /24 minimum |
--private-subnet | Subnet for cluster-to-cluster communication | none | /24 minimum |