Airflow 3.0 AIP를 통해 미리보기

Airflow 3.0이 내년 3월 말에 출시됩니다 :tada:
아마 많은 Airflow 사용자분들이 이 버전을 기대하고 계실 것으로 예상되는데요. 저도 어떤 변화가 있을지 기대하고 있습니다 :grinning:

Airflow는 오픈 소스 프로젝트로, AIP(Airflow Improvement Proposal) 로 관리됩니다. AIP는 새로운 기능, 구조적 변경, 프로젝트 비전을 논의하는 플랫폼으로, Airflow가 앞으로 어떤 미래를 그리고 있는지 확인할 수 있습니다.

그래서 이번 글에서는 Airflow 3.0에 도입될 주요 AIP들을 보며 Airflow3.0에 어떤 변화들이 있을지에 대해 알아보겠습니다.

Airflow 3.0을 타겟으로 하는 AIP들

다양한 환경 및 언어에서 실행 가능

AIP-72 Task Execution Interface aka Task SDK

담당자: Ash Berlin-Taylor, Kaxil Naik

Airflow task를 여러 프로그래밍 언어에서 쉽게 실행할 수 있도록 지원하는 SDK를 개발 중입니다. 이를 통해 Python 외의 언어에서도 task를 작성하고 실행 가능하게 됩니다.

AIP-69 Edge Executor (Initial Name: Remote Executor)

담당자: Jens Scheffler

원래 이름은 "Remote Executor"였으나 "Edge Executor"로 변경되었습니다. 이는 Airflow 태스크를 중앙 클러스터가 아닌 엣지 환경(원격 서버 또는 로컬 환경)에서 실행할 수 있도록 지원하는 기능입니다.


DAG 버전 관리

AIP-65: Improve DAG history in UI

담당자: Ephraim Anierobi

Airflow UI에서 DAG 실행 기록을 더 명확하고 직관적으로 확인할 수 있도록 개선합니다.

AIP-66: DAG Bundles & Parsing

담당자: Jedidiah Cunningham

DAG를 압축하고 이를 효율적으로 파싱할 수 있는 새로운 방식 도입을 목표로 하고 있습니다. 이렇게 하면 DAG의 배포 및 관리를 더 간편하게 만들 수 있습니다.


UI 현대화

AIP-38 Modern Web Application

담당자: Brent Bovenzi

Airflow의 UI를 현대적인 웹 애플리케이션 스타일로 전면 개편하고 있습니다. React와 같은 최신 프레임워크를 활용하여 사용자 경험을 크게 개선하는 것이 목표입니다.

AIP-84 Internal API for UI Operations

담당자: Brent Bovenzi, Pierre Jeambrun

Airflow의 UI가 내부 API를 통해 작동하도록 변경하고 있습니다. 이렇게 하면 UI와 백엔드가 명확히 분리되어 더 유연한 개발이 가능해집니다.

AIP-68 Extended Plugin Interface for React Views

담당자: Jens Scheffler, Brent Bovenzi

React 기반의 UI에서 플러그인 기능을 확장할 수 있는 새로운 인터페이스를 제공합니다. 이를 통해 개발자들이 맞춤형 UI 컴포넌트를 쉽게 추가할 수 있습니다.

AIP-79: Remove Flask AppBuilder as Core dependency

담당자: Ephraim Anierobi, Jedidiah Cunningham, Vincent BECK

기존 UI가 Flask AppBuilder에 의존적이었지만, 이를 제거하고 더 유연한 구조로 전환 중입니다.


Data Assets, Event driven scheduling

AIP-74 Introducing Data Assets

담당자: Tzu-ping Chung, Constance Martineau

Airflow에 "Data Asset"이라는 새로운 개념을 도입하고 있습니다. Data Asset은 DAG의 결과물을 명확히 정의하고 추적하는 데 사용됩니다.

AIP-75 New Asset-Centric Syntax

담당자: Tzu-ping Chung, Constance Martineau

Data Asset을 중심으로 한 새로운 구문을 도입하고 있습니다. 기존 DAG에서 데이터를 더 직관적으로 관리할 수 있는 방식으로 전환합니다.

AIP-76 Asset Partitions

담당자: Tzu-ping Chung, Constance Martineau

Data Asset을 시간, 범위, 상태별로 관리할 수 있도록 파티션 기능을 추가할 예정입니다. 이는 데이터 엔지니어가 더욱 세분화된 데이터 관리 전략을 구현할 수 있게 합니다.

AIP-82 External event driven scheduling in Airflow

담당자: Vincent BECK

외부 이벤트를 기반으로 DAG을 스케줄링할 수 있는 기능을 도입 중입니다. 예를 들어, 특정 파일이 업로드되거나 API 호출이 발생할 때 이를 트리거로 DAG 실행이 가능해집니다.


마무리

이 글을 작성하며 보았을 때 Airflow 3.0에서 주목할 만한 가장 큰 변화는 확장성, UI 개선, 그리고 Data Asset이라고 생각됩니다.

특히, 워크플로우 스케줄링이 필요한 분야라면 다양한 환경에서 쉽게 활용될 수 있도록 개선되고 있는 점과 Data Asset을 통한 데이터 중심의 DAG관리가 눈에 띕니다.

이번 글에서 소개된 AIP들 중 여러분이 가장 기대하는 기능은 무엇인가요? 댓글로 자유롭게 남겨주세요 :wink:

2개의 좋아요

3.0 굉장히 궁금했는데 글 공유해주셔서 감사합니다! :kissing_heart:

1개의 좋아요