Orchestration is the control plane of a data platform: it runs pipeline steps in the right order, at the right time, and recovers when they fail. This section covers the concepts and the main tools.
A data pipeline is rarely one job. It is a set of steps — extract, load, transform, test, publish — with dependencies between them, run on a schedule or in response to events. An orchestrator is the system that knows those dependencies, decides when each step may run, launches it on some compute, records what happened, retries failures and alerts people when something stays broken. It usually does not move data itself; it coordinates the tools that do (Spark, dbt, SQL warehouses, Python scripts, containers).
The core abstraction is the DAG, a directed acyclic graph. Nodes are tasks; edges say "this must finish before that starts". Acyclic means there is no loop, so there is always a valid order to run everything.
Because a retry reruns a task, every task should be idempotent: running it twice for the same interval leaves the same result (overwrite a partition, or MERGE, rather than blind append).
Start with Apache Airflow, the most widely deployed open-source orchestrator, to learn task-centric DAGs, operators and the scheduler. Next, Dagster and Prefect show two newer designs: asset-centric pipelines and lightweight Python flows. Then read the general orchestration tools comparison, and the pipeline pages on idempotency and backfills, which explain the property that makes retries safe. Cloud-native alternatives such as AWS Step Functions and Glue Workflows suit teams that want a managed service tightly bound to one provider.
| Tool | Model | Strengths | Watch out for |
|---|---|---|---|
| Apache Airflow | Task DAGs in Python | Huge operator ecosystem, mature, managed offerings (MWAA, Cloud Composer, Astronomer) | Scheduler tuning, passing data between tasks |
| Dagster | Software-defined assets | Asset lineage, typing, local testing | Different mental model to learn |
| Prefect | Python flows with decorators | Low ceremony, dynamic workflows | Fewer prebuilt integrations than Airflow |
| AWS Step Functions | JSON/YAML state machines | Serverless, tight AWS integration | Provider lock-in, verbose definitions |
| cron + scripts | Time only | Nothing to run | No dependencies, retries or visibility |