This repository contains Infrastructure as Code (IaC) solutions for deploying Azure Databricks with Unity Catalog and comprehensive business continuity and disaster recovery capabilities.
The solution provides:
- Azure Databricks Workspace with Premium SKU and Unity Catalog
- Complete Unity Catalog setup with dedicated metastore and storage
- Security-first design with VNet integration and managed identities
- Multi-environment support (dev, staging, production)
- Monitoring and governance capabilities
├── infra/ # Terraform Infrastructure as Code
│ ├── main.tf # Core Azure resources
│ ├── unity-catalog.tf # Unity Catalog configuration
│ ├── clusters.tf # Databricks clusters
│ ├── security.tf # Security and monitoring
│ ├── variables.tf # Variable definitions
│ ├── outputs.tf # Output values
│ ├── deploy.ps1 # PowerShell deployment script
│ ├── deploy.sh # Bash deployment script
│ └── README.md # Detailed infrastructure documentation
├── src/ # Source code and notebooks
└── LICENSE
- Azure CLI installed and configured
- Terraform >= 1.0
- Databricks Account ID (get from https://accounts.azuredatabricks.net/)
-
Clone and navigate to infrastructure:
cd infra
-
Configure your environment:
# Copy and customize the variables file cp terraform.tfvars terraform.tfvars.local # Edit terraform.tfvars.local with your settings
-
Set your Databricks Account ID:
export TF_VAR_databricks_account_id="your-account-id-here"
-
Deploy using the automated script:
# On Linux/Mac chmod +x deploy.sh ./deploy.sh deploy # On Windows .\deploy.ps1 deploy
- Automated metastore creation and configuration
- Cross-workspace catalog sharing
- Secure storage access with managed identities
- Pre-configured catalogs and schemas
- VNet injection with custom subnets
- Network Security Groups with minimal access
- Azure Key Vault integration
- Diagnostic logging and monitoring
- IP-based access restrictions
- Multi-zone deployment support
- Autoscaling cluster configuration
- Separate clusters for different workloads
- SQL warehouse for analytics
- Multi-environment configuration
- Terraform best practices
- Automated deployment scripts
- Comprehensive documentation
- Infrastructure Documentation - Detailed Terraform documentation
- Deployment Guide - Step-by-step deployment instructions
- Security Configuration - Security best practices
- Fork the repository
- Create a feature branch
- Make your changes
- Test thoroughly
- Submit a pull request
This project is licensed under the MIT License - see the LICENSE file for details.
For issues and questions:
- Check the troubleshooting guide
- Review the infrastructure documentation
- Create an issue in this repository
Note: This solution is designed for enterprise-grade deployments with security, compliance, and governance in mind. Please review all configurations before deploying to production environments.