ServicesAboutNotesContact Get in touch →
EN FR
Note

dbt Scheduling Without an Orchestrator

How to run dbt in production without Airflow, Dagster, or Prefect — the practical options from $0/month GitHub Actions to Cloud Run Jobs, when each fits, and when to move on.

Planted
dbtgcpdata engineeringautomationcost optimization

This hub covers scheduling options for dbt projects that don’t require a full orchestrator. A daily dbt build triggered by Cloud Scheduler costs $0-3/month; Cloud Composer starts at $377/month idle. For solo practitioners or small teams running 15-100 models on a daily schedule, a cron-based approach often suffices for months or years.

Prerequisites: A working dbt project on BigQuery (or another warehouse). For containerizing dbt, start with Cloud Run Jobs for dbt.

The Options

ApproachMonthly costBest for
Cloud Scheduler + Cloud Run Job$0-3GCP-native teams, production reliability
GitHub Actions$0Teams already on GitHub, minimal setup
Cloud Workflows + Cloud Run$0-5Multi-step pipelines with sequential logic
dbt Cloud (Developer tier)$0Solo practitioners who want managed scheduling
Dagster+ Solo$10First orchestrator step-up, freshness monitoring
Cloud Composer 3 (small)$377+Enterprise orchestration, complex cross-system pipelines

Reading Order

If you’re setting up your first scheduled dbt run on GCP: Start with Cloud Run Jobs for dbt. This is the recommended default — reliable, cheap, and extensible.

If you’re already on GitHub and want zero new infrastructure: Read GitHub Actions for dbt Scheduling. It’s the fastest path to a working schedule with no GCP setup required.

If your pipeline involves more than just dbt — ingestion before, validation after, downstream notifications: Cloud Workflows Orchestration explains how to sequence multiple steps for fractions of a cent.

If you’re wondering whether dbt Cloud’s built-in scheduler removes the need for any of this: dbt Cloud Managed Platform covers what it includes and the pricing model. Worth reading before committing to per-seat pricing.

Once you have something running, check Orchestrator Pricing for dbt Teams for a complete cost comparison across all managed options — useful when someone asks why you’re not using the “real” orchestrator.

When things start feeling like the cron job isn’t cutting it anymore: Signals That Your Cron-Based dbt Setup Has Outgrown Itself names the five concrete indicators. If you’re not seeing any of them, you probably don’t need an upgrade yet.

A daily dbt build on Cloud Run with a Cloud Scheduler cron trigger is production-grade infrastructure. The signals that indicate an upgrade is needed are described in Signals That Your Cron-Based dbt Setup Has Outgrown Itself: timing failures, silent failures, ownership confusion.

For the full GCP-native decision between Cloud Run, Cloud Workflows, and Cloud Composer, see dbt Orchestration Decision Framework for GCP.