ADR: Workflow Service Environment Standardization
Context
Providing consistent workflow runtime environments enables DAGs (Directed Acyclic Graphs) to be written once and run across any standardized workflow service environment. There are some differences in the Workflow Service environments built for R3, so we must agree on the versions of the major components of the Workflow Service to achieve standardization.
Scope
- All Workflow Service implementations should operate with the same
major.minor
version of Airflow. - All Workflow Service implementations should operate with the same
major.minor
Python version within Airflow. - All Workflow Service DAG Operators should be authored to run with the same
major.minor
Python version within Airflow.
Decision
Standardize on the following Workflow Service component versions
Component | Version |
---|---|
Airflow | 1.10.x |
Airflow Python Runtime | 3.6.x |
DAG Operator Python Development Version | 3.6.x |
Rationale
- Workflows (DAGs) written against the standard will be portable to all standardized Workflow Service runtime environments.
Consequences
- Workflow Service implementers may have to change Airflow and Python versions and re-test developed workflows (DAGs)