프로덕션을 위한 Airflow 환경설정
Airflow 로그 파일 삭제
Airflow 메타데이터 백업
Airflow 대안
DB sqlite에서 PostgreSQL or MySQL로 변경
주기적으로 백업되어야 함
airflow.cfg의 core section에 sql_alchemy_conn 사용
Authenticaion 활성화 및 비밀번호 강화
Airflow 2.0부터는 Authentication default로 활성화
VPN 뒤에 위치시키는 것을 권장
로그와 로컬 데이터 사용을 위해 disk volume 확장
주기적으로 데이터 cleanup
Scale Up에서 Scale Out으로 변경
Airflow 메타데이터 DB 백업
Health-check 모니터링 추가
로그 파일의 크기가 작지 않기 때문에 주기적으로 삭제하거나 S3 등에 백업해야 함
/var/lib/airflow/logs, /var/lib/airflow/logs/scheduler에 각기 다른 로그가 기록됨
docker-compose로 실행한 경우, logs 폴더가 host volume 형태로 유지
volumes:
- ${AIRFLOW_PROJ_DIR:-.}/logs:/opt/airflow/logs
메타데이터도 주기적으로 백업 권장
AWS RDS와 같이 외부에 존재하는 DB의 경우, 해당 위치에서 주기적으로 백업
Airflow와 같은 서버에 존재하는 DB의 경우, DAG를 사용해 S3 등에 주기적으로 백업
Prefect
Open Source
Airflow와 상당히 흡사하며 좀 더 가벼움
데이터 파이프라인을 동적으로 생성할 수 있는 장점
Dagster
Open Source
데이터 파이프라인과 데이터를 동시 관리 가능
Airbyte
Open Source
코딩 툴보다는 Low-code 툴에 가까움