What dbt Cloud provides over dbt Core — CI/CD pipelines, the IDE, scheduled jobs, environment management, and the operational features that make the difference between a development tool and a production data platform.
dbt Core is the open-source SQL-first transformation tool that has become the standard for analytical engineering. dbt Cloud is the managed platform from dbt Labs that adds the operational infrastructure required to run dbt in production: a web IDE, CI/CD pipelines, scheduled job execution, multi-environment management, and observability tooling. Understanding what dbt Cloud adds over Core — and where the boundary lies — is essential for data teams choosing how to deploy dbt at scale.
What dbt Core Provides
dbt Core is the command-line tool that compiles and runs SQL transformations, executes tests, generates documentation, and manages model dependencies. It is open source, free, and runs anywhere Python runs.
dbt Core's limitations are operational, not functional. The transformation engine is complete and capable. What Core does not provide is the infrastructure to run it reliably in production: you need to build your own scheduler, CI/CD integration, environment management, secret management, and observability tooling. Teams that run dbt Core in production typically use Airflow, GitHub Actions, or similar tools to orchestrate runs, and build custom solutions for environment management and monitoring.
This is manageable for teams with strong DevOps capability. For data teams whose core competence is analytical engineering rather than infrastructure operations, building and maintaining this infrastructure is a significant overhead.
What dbt Cloud Adds
**dbt Cloud IDE.** A browser-based development environment for writing dbt models, running them interactively, previewing results, and testing changes — without installing dbt locally or managing Python environments. The IDE includes syntax highlighting, lineage DAG visualization, schema and column autocomplete, and integrated documentation.
For data teams with analysts who write dbt but who are not comfortable with local development environments, the Cloud IDE significantly lowers the barrier to dbt contribution.
**Environments.** dbt Cloud manages multiple environments (development, staging, production) with separate database credentials, schema targets, and variable configurations. Switching environments is a selector in the UI, not a local environment variable configuration. Environment isolation is enforced — a development run goes to a dev schema, a production run goes to the production schema, without risk of developers accidentally writing to production.
**Scheduled Jobs.** dbt Cloud's job scheduler runs dbt commands (dbt run, dbt test, dbt run --select, or any custom command) on a cron schedule or triggered via API. Jobs have configurable: notification targets (Slack, email) on failure, timeout limits, retry behaviour, and thread counts. Job history is retained in the Cloud interface with full run logs.
For production dbt, the job scheduler replaces the most common alternative: Airflow. For organisations already heavily invested in Airflow, the comparison is nuanced — see below.
**CI/CD with Slim Continuous Integration.** dbt Cloud integrates with GitHub, GitLab, and Azure DevOps to trigger CI runs on pull requests. The CI run validates the PR by running only the models and tests that are affected by the changes (using state-based selection: dbt build --select state:modified+). This gives reviewers confidence that the PR does not break anything without running the full project.
**Slim CI** uses deferred state — comparing the changed models against the production environment state rather than rebuilding everything from scratch in the CI environment. This dramatically reduces CI run time for large projects. A project with 500 models where a PR changes 3 models runs 3 models in CI, not 500.
**The dbt Explorer (Docs and Lineage).** dbt Cloud hosts the project's documentation, including the model DAG, column descriptions, test results, and model sources. The Explorer is automatically updated on each production run. Unlike the static documentation site generated by dbt docs generate (which requires a hosting solution), dbt Cloud hosts it automatically with SSO-integrated access control.
**API and Webhooks.** dbt Cloud's API allows triggering job runs programmatically, querying run status, and accessing run results. Webhooks notify external systems when runs complete or fail. This enables dbt to be orchestrated by external tools (Airflow, Prefect, Dagster) while still benefiting from dbt Cloud's observability and CI/CD features.
dbt Cloud vs Airflow Orchestration
The most common architectural decision for production dbt deployments is whether to orchestrate dbt runs with dbt Cloud's native scheduler or with an external orchestrator like Airflow, Prefect, or Dagster.
**dbt Cloud scheduler:** simpler to set up, no additional infrastructure, native integration with the rest of the dbt Cloud experience. Works well when dbt runs are relatively self-contained and do not need tight integration with other pipeline steps.
**External orchestrator:** required when dbt runs need to be sequenced with non-dbt steps — data ingestion, downstream exports, notifications that depend on specific model outputs. Airflow's operators (the dbt-airflow and astronomer-cosmos packages) integrate dbt into Airflow's DAG model, allowing dbt models to be dependencies in multi-step pipelines.
A hybrid approach is increasingly common: dbt Cloud manages CI/CD and the IDE; an external orchestrator manages scheduling and pipeline sequencing, triggering dbt Cloud jobs via the API rather than using dbt Cloud's native scheduler.
dbt Cloud Pricing
dbt Cloud is priced per developer seat plus compute for job runs. The relevant tiers:
**Developer (free):** single seat, limited to 3,000 model runs per month. Suitable for individual contributors experimenting with dbt Cloud.
**Team:** per-seat pricing (approximately $50/developer/month), unlimited job runs, full CI/CD integration, team collaboration features.
**Enterprise:** custom pricing, SSO, IP allowlisting, audit logs, SLA, and enterprise support.
For mid-market data teams (3–15 dbt developers), Team pricing is typically more cost-effective than the infrastructure and operational overhead of building equivalent functionality on dbt Core plus Airflow plus custom tooling.
dbt Cloud vs dbt Core in Practice
The decision between dbt Cloud and dbt Core is not either/or for most teams. Many teams use dbt Core locally for development and dbt Cloud for production — the project runs on Core locally, deploys to Cloud for CI/CD and scheduled runs.
The clearest cases for dbt Cloud:
- Teams that do not want to maintain an Airflow/Prefect instance for dbt orchestration alone
- Teams with analysts who need to write dbt models without managing local Python environments
- Teams that want native CI/CD integration without custom GitHub Actions pipelines
- Teams that want hosted, access-controlled documentation
The clearest cases for dbt Core + custom infrastructure:
- Teams with existing, well-functioning Airflow or Prefect infrastructure
- Teams with budget constraints that make dbt Cloud seat pricing prohibitive
- Teams with security or data residency requirements that preclude cloud services
- Very large projects where the Slim CI deferral mechanism still generates too much compute
For dbt project structure and architecture advice regardless of deployment model, see our dbt project structure guide. For data engineering consulting including dbt implementation and dbt Cloud setup, our data architecture consulting team can help — contact us to discuss your requirements.
A former Microsoft data architect audits your data foundation, identifies your top priorities, and sends you a written plan. Free. No pitch.
Book a Call →