Deployment Overview
Dagster provides flexible deployment options for running data pipelines in production. This guide covers the core architecture and available deployment strategies.Architecture Components
A production Dagster deployment consists of three essential long-running services:Dagster Webserver
The webserver serves the UI and responds to GraphQL queries. It can run with multiple replicas for high availability.
Dagster Daemon
The daemon manages schedules, sensors, and run queuing. Only one daemon instance should run per deployment.
Persistent Storage
Dagster requires persistent storage for run history, schedules, and event logs. Production deployments should use PostgreSQL:dagster.yaml
Deployment Options
Dagster supports multiple deployment strategies:Docker
Run Dagster components as Docker containers with Docker Compose or container orchestration platforms. Ideal for local development and smaller deployments. Learn more about Docker deployment →Kubernetes
Deploy to Kubernetes using the official Helm chart. Recommended for production workloads requiring scalability and high availability. Learn more about Kubernetes deployment →Cloud Platforms
Dagster can be deployed to AWS ECS, Google Cloud Run, Azure Container Instances, or other cloud platforms.Job Execution Flow
When a job is launched, it flows through several components:Run Coordinator
Receives the run request from the webserver and queues it for execution.
dagster.yaml
Run Launcher
The daemon picks up queued runs and launches them using the configured run launcher (Docker, Kubernetes, etc.).
dagster.yaml
Configuration Levels
Dagster configuration is organized into three levels:| Level | File | Description |
|---|---|---|
| Instance | dagster.yaml | Deployment-wide configuration for storage, run launcher, and daemon settings |
| Workspace | workspace.yaml | Code location server addresses and connection details |
| Job Run | Run config | Job-specific configuration for resources, ops, and assets |
The instance and workspace configuration files should be mounted into all Dagster services (webserver, daemon, and code location servers).
