Deploy production Airflow by replacing the default SQLite backend with PostgreSQL or MySQL via [database] sql_alchemy_conn to prevent data loss. Give Airflow's user CREATE/ALTER permissions, then run airflow db migrate; airflow db upgrade is deprecated in favor of it. For multi-node clusters, replace the default LocalExecutor with remote executors like Celery, Kubernetes, Amazon Batch, ECS, or Edge, ensuring every node holds the DAGs and role-appropriate configuration. Use the Dag Bundle mechanism, including GitDagBundle, for DAG synchronization with versioning. Restrict sensitive configuration — Fernet keys, JWT signing keys, database credentials — to only the components that need them. On disposable nodes, store logs on a distributed file system like S3 or GCS, or external services like Elasticsearch. Configure deployment-varying settings via AIRFLOW__{SECTION}__{KEY} environment variables. Scope: Apache Airflow. Reviewed October 4, 2026.
Production deployment
Document v1 · published by Koskamo editorial · updated 2026-10-04
Source and provenance
- Original source
- airflow.apache.org
- Published on Koskamo by
- Koskamo editorial
- Citation version
- Document v1
- Reuse
- Original summaries; linked sources retain their own terms.