[Airflow] Docker Compose로 Installation
·
DevOps/Airflow
Introduction공식문서에 보면 released sources를 직접 로컬에 설치, Docker Image를 이용한 설치, PyPI를 이용하여 로컬에 설치하는 방법들이 있다.PyPI 방식의 경우 로컬 computer에 pip 과 같은 python package를 활용하여 constraint files를 이용하여 설치한다. 하지만 conflict가 많이 발생할 것 같고.. conda로 가상환경 만들어줘서 설치해줘야 할 것 같다,, 기왕이면 독립된 공간이 더 좋지 않을까? 생각이 들어 Docker Image를 활용한 설치 방법을 이용하기로 했다. 참고로 Quick start는 Python pacakge 관리 uv 를 이용해서 설치하는데, 빠르게 실행하는 예시일 뿐 실제 production에서 활용하면 ..
[Airflow] Architecture
·
DevOps/Airflow
본 글은 공식문서 Architecture Overview를 보고 작성하였습니다. IntroductionAirflow는 workflows를 build하고 실행할 수 있게 해주는 platform이라고 했다.Airflow의 architecture에는 어떤 Component로 구성되어 있고, 각 기능이 무엇인지, 어떤 역할을 하는지 알아보자! Workflows모든 workflows는 Dag(a Directed Acyclic Graph)로 표현되고 Task라는 개별 work들이 포함되어 있다. 이때 각 task는 dependencies과 data 흐름을 고려해서 배치된다.Dag: Task들 간의 dependencies를 명시하며, 이로부터 Task의 실행 순서를 정의한다.Task : 무엇을 해야할지(data를..
[Airflow] Overview
·
DevOps/Airflow
본 글은 Apache Airflow 공식 문서와 GPT를 참고하여 작성했습니다. Airflow란?developing, scheduling, monitoring workflows의 자동화를 도와주는 플랫폼이다.Ariflow는 다음과 같은 특징들이 있다.Scalable하나의 single process에서 distribued system까지 확장이 가능하다.modular arhcitecture와 message queue를 사용해서 무한한 수의 workers를 orchestration 할 수 있다.Batch based workflows정해진 시점에 정해진 workflows를 처리하는 작업 단위를 의미한다.Modeling에서는 한 번에 처리할 수 있는 data 크기와 연관된 개념이지만, 여기서는 특정 시점의 작업..