Airflow, một nền tảng nguồn mở được sử dụng rất rộng rãi, cho phép bạn xây dựng và chạy các workflows. Các workflows được biểu diễn dưới dạng DAG (Directed Acyclic Graph) và chứa các phần công việc riêng lẻ được gọi là Task. Ở chế độ mặc định, Airflow rất dễ dàng sử dụng với không nhiều các quy tắc nghiêm ngặt đối với người dùng. Chính điều này đã gây ra vấn đề lớn với Airflow, đó là sự phụ thuộc lẫn nhau (coupling) giữa scheduling và job logic.
Trông bài viết, tác giả đưa ra 10 quy tắc chúng ta nên tuân theo khi sử dụng Airflow:
- Airflow là một orchestration framework, không phải execution framework.
- Hạn chế sử dụng PythonOperator cho job của bạn.
- Kiểm tra các Operators có sẵn trước khi tạo ra một Operator mới.
- Không nên cài đặt các custom dependency cho Airflow deployment.
- Airflow không phải là một giải pháp cho data lineage.
- Airflow không phải là một giải pháp cho data storage.
- Không nên gán các secrets cho Airflow variables hay connections.
- Sử dụng Airflow cho mục dịch scheduling job, tạo một Git repo khác cho job logic hơn là đặt trong Airflow DAG.
- Không nên deploy các components (scheduler, webserver, workers) các Airflow với nhau. Chúng nên chạy riêng biệt và độc lập.
- Cân nhắc sử dụng một executor hợp lý (LocalExecutor, CeleryExecutor, KubernetesExecutor).
(by MS)