- Airflow는 프로그래밍을 통해 workflow는 스케줄링하고 모니터링 하는 platform이다.
- DAGs(Directed Acyclic Graphs), 방향성있는 workflow를 관리하는데 쓰인다.
- workflow들은 code로 정의될 때, 유지보수와 버저닝, 테스트 및 협동에 용이해진다.
Principles
1. Dynamic
- Python Code로 Airflow Pipeline을 configuration 할 수 있으며 동적으로 이들은 generation 하여 Pipeline을 구축하도록 하고 있다.
2. Extensible
- 사용자의 상황에 맞게 operators, executors,를 정의하고 라이브러리들을 확장할 수 있다.
3. Elegant
- Airflow Pipeline은 명시적이고 가볍다.
- Airflow core는 Jinja 템플릿 엔진을 사용하여 Pipeline script를 매개변수화하고있다.
4. Scalable
- Airflow는 modular 아키텍쳐이고, worker 수를 인위적으로 조절하기 위해 메시지 큐를 사용하고 있다. 이는 무한대로 확장할 준비가 되어있음을 의미한다.