Apache Airflow의 대항마, Kestra를 직접 써봤습니다
원제 · I Tried the Tool Trying to Kill Apache Airflow (Kestra)
핵심 요약
Kestra는 데이터 오케스트레이션을 복잡한 파이썬 프로그래밍에서 읽기 쉬운 YAML 설정 기반으로 전환하여 유지보수와 병렬 처리 효율을 높이는 도구입니다.
하이라이트
Kestra는 파이썬 코드 대신 YAML 설정을 사용하여 데이터 파이프라인을 구축하는 오픈 코어 오케스트레이션 도구입니다.
파이썬, 노드, 배시, SQL 등 언어에 구애받지 않고 다양한 작업과 컨테이너를 하나의 플로우에서 통합 실행할 수 있습니다.
내장 트리거 기능을 통해 크론 스케줄링, 웹훅, 파일 업로드, API 호출 등 다양한 이벤트 기반 실행을 지원합니다.
코드와 시각적 빌더가 실시간으로 동기화되어 파이프라인 구성을 즉시 확인하고 수정할 수 있습니다.
2025년 기준 20억 개의 워크플로우를 처리하며 전년 대비 20배의 성장세를 기록했습니다.
자바 기반 엔진으로 최소 4GB의 RAM과 다수의 CPU 코어를 권장하는 리소스 요구 사항이 있습니다.
타임라인
데이터 오케스트레이션의 변화
에어플로우는 오랫동안 업계 표준이었으나 파이프라인 전체를 파이썬 코드로 작성하고 디버깅해야 하는 유지보수 부담이 큽니다. 특히 시스템이 무거워 로컬 설치와 실행 과정에서 개발자들의 어려움이 발생합니다.
- 아파치 에어플로우는 파이썬 기반 파이프라인 관리의 복잡성과 무거운 시스템 구조라는 한계를 가집니다.
- 오케스트레이션 도구는 단계별 작업의 순차적 실행과 실패 시 재시도, 로그 관리 등을 위해 필수적입니다.
YAML 기반의 선언적 오케스트레이션
케스트라는 워크플로우를 '플로우'라 불리는 YAML 파일로 정의합니다. 내부에는 작업 리스트와 트리거가 포함되며, 웹훅이나 파일 감지 등 시스템 내장 트리거를 통해 파이프라인을 유연하게 시작할 수 있습니다.
- 워크플로우를 YAML 설정 파일로 관리하여 프로그램 작성 없이 파이프라인을 구축할 수 있습니다.
- 파이썬, 셸, SQL 등 언어 제한 없이 다양한 작업을 하나의 플로우에서 연결할 수 있습니다.
- 시각적 빌더와 코드 편집기가 동기화되어 파이프라인 구성의 변경 사항이 즉시 다이어그램에 반영됩니다.
도구 비교 및 비즈니스 환경
케스트라는 기존 에어플로우 대비 병렬 처리 효율이 높고, 설정 중심의 선언적 방식을 채택합니다. 다만, 성장 지표는 기업 내부 발표 자료이므로 객관적 검증이 필요할 수 있습니다.
- 에어플로우와 달리 파이썬을 모르는 사람도 파이프라인을 읽고 승인할 수 있는 구조입니다.
- 자피어나 메이크 같은 SaaS 도구와 달리 직접 호스팅 방식을 취하여 작업당 비용이 발생하지 않습니다.
- 애플, JP모건 등 대규모 기업이 고객사로 참여하며 2025년 기준 20억 개의 워크플로우를 처리했습니다.
기술적 제약 및 고려 사항
오픈 소스 엔진을 기반으로 하지만 멀티 유저 제어나 보안 기능이 유료로 분리되어 있어 조직 단위 사용 시 비용 지출이 발생할 수 있습니다. 로컬 개발 환경에서는 도커 명령어를 통해 간단히 설치하고 애플 실리콘 등에서도 네이티브하게 실행할 수 있습니다.
- 자바 기반으로 동작하므로 원활한 구동을 위해 최소 4GB RAM 이상의 리소스가 필요합니다.
- 복잡한 동적 분기 로직 처리는 파이썬 기반 도구에 비해 다소 까다로울 수 있습니다.
- SSO나 RBAC 같은 기업용 기능은 오픈 코어 정책에 따라 유료 버전에서만 제공됩니다.
설명
Kestra is an open-source workflow orchestration tool that wants to make Apache Airflow feel old by replacing complex Python DAGs with clean, readable YAML workflows. We’ll look at how Kestra lets you build data pipelines, automation workflows, scheduled tasks, API-triggered flows, and multi-language workflows from a browser-based UI while still keeping everything as code. 🔗 Relevant Links Kestra Repo - https://github.com/kestra-io/kestra Kestra Docs - https://kestra.io/docs ❤️ More about us Radically better observability stack: https://betterstack.com/ Written tutorials: https://betterstack.com/community/ Example projects: https://github.com/BetterStackHQ 📱 Socials Twitter: https://twitter.com/betterstackhq Instagram: https://www.instagram.com/betterstackhq/ TikTok: https://www.tiktok.com/@betterstack LinkedIn: https://www.linkedin.com/company/betterstack 📌 Chapters: 00:00 What Is Kestra? 00:28 Why Apache Airflow Feels Heavy 01:00 The Problem With Python-Based Pipelines 01:23 Building Workflows in YAML 01:42 Running a Kestra Flow in the Browser 02:37 Code and Visual Builder Together 02:53 Kestra vs Airflow, Zapier, Make, and Cron 03:30 Kestra Funding, Growth, and Enterprise Customers 03:50 The Downsides of Kestra 04:40 Should Developers Use Kestra?
