Airflow at Zillow

Bài tóm tắt Zillow 2017 2. Tăng trưởng Độ khó: Dễ

Zillow · 2017 · 2. Tăng trưởng · Độ khó: Dễ — bài gốc

Bối cảnh

  • Team Data Science and Engineering (DSE) chạy nhiều ETL; trước đó mỗi job là một service tự lên lịch riêng. Gặp Airflow năm 2016.

Thay đổi chính

  • Cụm Airflow chạy trên Amazon ECS (container, tự phục hồi webserver/scheduler/worker), metadata DB Postgres trên RDS, broker RabbitMQ (chọn thay Redis/SQS vì ổn định, chống mất dữ liệu), DAG/plugin/log trên S3, email qua SES, log về Splunk.
  • Airflow chỉ chạy job nhỏ; job nặng (Spark, Hive) đẩy sang EMR qua operator SSH.
  • CI/CD cho DAG: mỗi push/merge vào repo DAG tự deploy; cập nhật backend bằng một lệnh.
  • Ba môi trường là ba cụm riêng: local (dev tự dựng bằng docker, có archetype cookiecutter), staging (giống prod, có kết nối ngoài), prod.
  • Tháng 7/2017: khoảng 30 pipeline ETL.

Vì sao

Bài học cho SWE

  • Tách orchestrator (nhẹ) khỏi engine tính toán (EMR) để cụm scheduler không phải lớn theo job.
  • DAG cũng là code production: cần CI/CD và môi trường staging.

Liên quan