Airflow Task SDK로 워크플로우 안정성을 확보하세요!
by DD
8개월 전
조회수 5
Airflow Task SDK 도입으로 Dag 코드와 내부 구현을 분리하여 버전 호환성을 확보함
Supervisor-Task Runner 구조를 통해 언어 독립적 실행을 지원하는 기반을 마련함
Worker가 DB에 직접 접근하지 않고 Execution API를 통해 통신하도록 변경하여 보안 강화
Task SDK의 핵심 아키텍처: Supervisor & Task Runner
Task SDK는 Supervisor와 Task Runner로 구성되어 Airflow 내부 구현과 Dag 코드를 분리한다. Task Runner는 격리된 환경에서 사용자 Task를 실행하고, Supervisor는 Airflow와 통신하며 실행 관리, XCom 처리 등을 담당한다. 따라서 Airflow 업그레이드 시 Dag 코드 변경 없이 안정적인 운영이 가능하다.
Task SDK 도입의 장점: 안정성 및 확장성
Task SDK는 Dag 코드와 Airflow 내부 구현의 결합도를 낮춰 버전 호환성 문제를 해결한다. 언어 독립적 실행을 지원하여 Python 외에도 R, Java, Go 등 다양한 언어로 Task 작성이 가능해진다. 결과적으로 워크플로우 확장성을 확보하고, 개발 생산성을 향상시킬 수 있다.
보안 강화: Worker와 DB 접근 방식 변화
Airflow Task SDK 도입으로 Worker가 Airflow 메타데이터 DB에 직접 접근하는 방식이 변경되었다. Execution API를 통해 Supervisor와 통신하며 DB에 접근하도록 설계되어 보안을 강화했다. 따라서 Airflow 2.x에서 3.x로 업그레이드 시 DB 접근 방식에 대한 주의가 필요하다.