Execute Databricks production deployment checklist and rollback procedures.
Use when deploying Databricks jobs to production, preparing for launch,
or implementing go-live procedures.
Trigger with phrases like "databricks production", "deploy databricks",
"databricks go-live", "databricks launch checklist".
This v1 skill is being cut in the v2 rebuild — no direct replacement. Checklists move into v2 references/, not a top-level skill.
See the pack README → Migration: v1 → v2 for the full map and rationale.
Databricks Production Checklist
Overview
Complete checklist for deploying Databricks jobs and pipelines to production. Covers security hardening, infrastructure validation, code quality gates, job configuration, deployment commands, monitoring setup, and rollback procedures.
Prerequisites
Staging environment tested and verified
Production workspace access with service principal
Unity Catalog configured with prod catalogs
Monitoring and alerting ready (see databricks-observability)
Instructions
Step 1: Pre-Deployment Security
Service principal configured for automated runs (not personal PAT)
Secrets in Databricks Secret Scopes (not env vars or hardcoded)
Token expiration set (max 90 days)
Unity Catalog grants follow least privilege
Cluster policies enforced for cost/security guardrails
IP access lists configured in Admin Console
Audit logging verified via system.access.audit
Step 2: Infrastructure Validation
Instance pool created for fast cluster startup
Node types validated for workload (compute-optimized for streaming, memory-optimized for ML)
Autoscaling configured with sensible min/max workers
Spot instances enabled for worker nodes (on-demand for driver)
Auto-termination disabled for job clusters (they terminate on completion)
SELECT job_id, job_name,
COUNT(*) AS total_runs,
SUM(CASE WHEN result_state = 'SUCCESS' THEN 1 ELSE 0 END) AS successes,
ROUND(AVG(execution_duration) / 60000, 1) AS avg_minutes,
MAX(start_time) AS last_run
FROM system.lakeflow.job_run_timeline
WHERE start_time > current_timestamp() - INTERVAL 7 DAYS
GROUP BY job_id, job_name
ORDER BY total_runs DESC;