BRIEFING
Airflow vs Prefect vs Dagu
Airflow vs Prefect vs Dagu
Scope
핵심 질문
Airflow, Prefect, Dagu는 워크플로 규모와 운영 요구에 따라 어떻게 선택해야 하는가?
Research
핵심 근거
- Airflow는 정기 배치와 backfill, 광범위한 provider ecosystem에서 강하다.
- Prefect는 Python-native 동적 workflow와 event-driven 실행을 강조한다.
- Dagu는 작은 로컬 구성에서 시작할 수 있으며 필요하면 coordinator와 원격 worker로 분산 실행할 수 있다. 작업 규모만으로 선택을 제한하지 않는다.
참고 자료
- Airflow: https://airflow.apache.org/docs/
- Prefect: https://docs.prefect.io/
- Dagu: https://docs.dagu.cloud/
Draft
세 도구 모두 작업을 순서대로 실행하지만 최적화하는 규모와 사용경험이 다르다.
Airflow
대규모 데이터 플랫폼과 정기 batch에 가장 검증된 선택이다. 날짜 기반 run, backfill, provider ecosystem과 운영 관행이 강하다. 대신 플랫폼 자체가 무겁다.
Prefect
Python 함수를 중심으로 workflow를 만들고 runtime의 동적 제어를 자연스럽게 허용한다. 코드 중심 개발경험이 좋지만 Airflow식 정적 DAG 운영에 익숙한 팀에는 더 자유로운 모델이 오히려 낯설 수 있다.
Dagu
cron보다 강한 상태·DAG·UI가 필요할 때 로컬 모드로 시작할 수 있다. 다만 Dagu에도 coordinator·원격 worker를 쓰는 분산 모드가 있다. 별도 데이터 플랫폼과의 기능 차이는 필요한 backfill, 권한, 연동, 동시성 및 운영인력을 특정해 비교해야 한다.
선택
날짜별 backfill과 조직의 기존 운영방식이 중심이면 Airflow, 동적 Python workflow가 중심이면 Prefect, 낮은 초기 운영부담을 원하면 Dagu를 먼저 검토할 수 있다. Dagu도 분산 구성이 가능하므로 팀 규모만으로 제외하지 말고 같은 작업과 필수 기능을 버전별로 비교한다.
도구 선택의 기준은 기능표보다 작업 수, backfill 필요성, 팀 규모와 운영에 쓸 수 있는 시간이다.