Airflow는 AirBnB에서 만든 workflow management tool이다. workflow는 일련의 작업의 흐름을 뜻한다. 예를 들어서 ETL 같은 경우는 데이터를 Extractaction → Transformation → Loading 하는 작업의 흐름이 있는데, 이러한 workflow를 관리하는 툴이 Airflow이다.
여기서 관리라는 것은 워크플로우(workflow)를 작성, 스케줄링, 모니터링 하는 작업을 말한다.
Airflow는 최근 mlops에서도 많이 사용되고 있으며 Data Engineering 영역에서도 많이 사용되는 SW이다.
Dynamic Data Pipeline
Airflow는 데이터 파이프라인을 정의하는데, Python을 이용한다.
따라서 Python으로 가능한 대부분의 작업들을, Airflow 파이프라인에서 처리가 가능하다.
Scalability
Airflow는 매우 뛰어난 확장성을 가지고 있다. 원하는 만큼의 다양한 Task들을 병렬적으로 실행이 가능(Parellelly executable)하다. 또한 쿠버네티스(Kubernetes) 클러스터, 분산 클러스터 환경에서도 파이프라이닝이 가능하다.
Useful User Interface
Airflow Webserver에서 제공해주는 웹 인터페이스를 통해 데이터 파이프라인을 모니터링, 관리하기 매우 편리하다.
High Extensiblility
Airflow Instance에는 손쉽게 Plugin을 설치할 수 있어서, 새로운 작업 툴이 나와 적용해야할 필요가 있을때는 플러그인을 개발하여 적용할 수 있다. 따라서 Airflow가 특정 툴을 지원할 때 까지 기다릴 필요가 없다. 이처럼 Airflow Instance는 Customizing 하기가 굉장히 쉽다.
참고문헌
https://velog.io/@jjongbumeee/Airflow1 - 👀
https://lsjsj92.tistory.com/631