0
0
Apache Airflowdevops~5 mins

Multi-environment deployment (dev, staging, prod) in Apache Airflow - Cheat Sheet & Quick Revision

Choose your learning style9 modes available
Recall & Review
beginner
What is the purpose of having multiple environments like dev, staging, and prod in Airflow deployment?
Multiple environments help separate development, testing, and production workflows. This prevents errors in development from affecting live data and allows safe testing before production deployment.
Click to reveal answer
intermediate
How can Airflow configurations differ between dev, staging, and prod environments?
Configurations like database connections, executor types, and logging levels can be set differently for each environment to match their needs, such as using a LocalExecutor in dev and a CeleryExecutor in prod.
Click to reveal answer
intermediate
What is the role of environment variables in managing Airflow multi-environment deployments?
Environment variables allow dynamic configuration of Airflow settings per environment without changing code. For example, setting AIRFLOW__CORE__SQL_ALCHEMY_CONN differently for dev, staging, and prod.
Click to reveal answer
intermediate
Why is it important to use separate Airflow metadata databases for each environment?
Using separate metadata databases keeps workflow states isolated. This avoids conflicts and data mix-ups between dev, staging, and prod, ensuring accurate monitoring and execution.
Click to reveal answer
advanced
Name a common strategy to deploy Airflow DAGs differently across environments.
A common strategy is to use separate DAG folders or branches in version control for each environment, or to use conditional logic in DAG code to behave differently based on environment variables.
Click to reveal answer
Which Airflow component should be isolated between dev, staging, and prod environments?
AMetadata database
BScheduler UI theme
CTask retry count
DPython version
What is a recommended way to change Airflow configurations per environment?
AUse environment variables
BRestart Airflow without changes
CChange Airflow source code
DHardcode values in DAG files
In a multi-environment setup, which executor might be used in production for scalability?
ALocalExecutor
BCeleryExecutor
CSequentialExecutor
DDebugExecutor
Why use a staging environment in Airflow deployment?
ATo run production workflows directly
BTo develop new Airflow features
CTo store logs permanently
DTo test workflows before production
How can DAGs be managed differently across environments?
ABy changing Airflow core code
BBy disabling the scheduler
CUsing separate DAG folders or branches
DBy using the same DAGs everywhere without change
Explain how environment variables help manage Airflow configurations in dev, staging, and prod.
Think about how you can change settings without editing DAG files.
You got /4 concepts.
    Describe the benefits of having separate metadata databases for each Airflow environment.
    Consider what would happen if dev and prod shared the same database.
    You got /4 concepts.