Apache Airflow는 Python 코드로 정의한 워크플로를 작성하고 예약하며 모니터링하는 플랫폼입니다.
Netflix/maestro
데이터 및 ML 파이프라인을 예약하고 실행하는 워크플로 서비스형 오케스트레이터, Netflix의 범용 워크플로 오케스트레이터입니다.
대체할 수 있는 제품:Apache Airflow
- 스타
- 3,852
- 포크
- 311
- 열린 이슈
- 39
- 마지막 커밋
- 어제
어떤 프로젝트인가요?
Maestro는 데이터 및 머신러닝 파이프라인을 실행하기 위해 Netflix에서 처음 개발한 워크플로 오케스트레이터입니다. 사용자는 작업을 방향성 비순환 그래프(DAG)로 구성해 워크플로를 정의한 다음, 서버 API를 통해 예약하고 실행을 시작하거나 모니터링할 수 있습니다. 프로젝트는 Java로 작성되었으며 Spring Boot에서 실행됩니다.
서버는 워크플로 생성, 실행 시작, 인스턴스 및 단계별 실행 조회를 위한 버전 관리 REST API를 제공합니다. 워크플로는 YAML이나 JSON으로 제출할 수 있으며, Python SDK(maestro-sdk)는 코드로 워크플로를 정의하기 위한 빌더를 제공합니다. 설정 안내에는 빌드, 실행, 트리거 과정을 보여 주는 예제도 포함되어 있습니다.
저장소에는 SQS와 SNS를 위해 LocalStack을 사용해 로컬에서 실행할 수 있는 AWS 모듈과, 작업 실행을 위한 Kubernetes 옵션이 포함되어 있습니다. 선택 사항인 maestro-extensions 서비스는 서버 이벤트를 소비해 foreach 단계를 평탄화한 뷰와 같은 기능을 제공합니다.
핵심 기능
- 01작업을 DAG로 구성해 워크플로를 정의하고 YAML 또는 JSON으로 제출합니다.
- 02워크플로와 실행을 생성하고 시작하며 조회할 수 있는 버전 관리 REST API를 제공합니다.
- 03워크플로를 빌드하고 제출할 수 있는 Python SDK를 제공합니다.
- 04SQS와 SNS 이벤트 처리를 통한 AWS 통합을 지원합니다.
- 05Kubernetes에서 작업을 실행할 수 있습니다.
- 06foreach 단계를 평탄화한 뷰를 제공하는 확장 서비스를 제공합니다.
활용 사례
- 정기적으로 실행되는 데이터 엔지니어링 ETL 또는 ELT 파이프라인을 예약합니다.
- 머신러닝 학습 및 배치 스코어링 워크플로를 오케스트레이션합니다.
- 관리형 API 기반 워크플로 서비스를 사용해 대량의 데이터 작업을 실행합니다.
- 내부 데이터 플랫폼에 적용할 Netflix 스타일의 워크플로 엔진을 평가합니다.
빠른 시작
- 1
사전 요구 사항을 설치합니다: Git, Java 21, Gradle, Docker
- 2
프로젝트를 빌드합니다
./gradlew build - 3
서버를 실행합니다
./gradlew bootRun - 4
API를 통해 샘플 워크플로를 생성합니다
curl --header "user: tester" -X POST 'http://127.0.0.1:8080/api/v3/workflows' -H "Content-Type: application/json" -d @maestro-server/src/test/resources/samples/sample-dag-test-1.json
사용 전 알아둘 점
- 빌드 및 실행하려면 Java 21, Gradle, Docker가 필요합니다.
- 대규모 내부 플랫폼으로 설계되어 셀프 호스팅을 위해서는 별도의 설정 작업이 필요합니다.
- AWS 모드와 같은 일부 기능을 로컬에서 테스트하려면 Docker Compose와 LocalStack이 필요합니다.
토픽
자주 묻는 질문
- maestro은(는) 무엇인가요?
- 데이터 및 ML 파이프라인을 예약하고 실행하는 워크플로 서비스형 오케스트레이터, Netflix의 범용 워크플로 오케스트레이터입니다. Maestro는 데이터 및 머신러닝 파이프라인을 실행하기 위해 Netflix에서 처음 개발한 워크플로 오케스트레이터입니다. 사용자는 작업을 방향성 비순환 그래프(DAG)로 구성해 워크플로를 정의한 다음, 서버 API를 통해 예약하고 실행을 시작하거나 모니터링할 수 있습니다. 프로젝트는 Java로 작성되었으며 Spring Boot에서 실행됩니다.
- maestro은(는) 무료로 사용할 수 있나요? 라이선스는 무엇인가요?
- maestro은(는) Apache-2.0 라이선스의 오픈소스입니다. 상업용 제품에 사용하기 전에 라이선스 조건을 확인하세요.
- maestro은(는) 아직 유지보수되고 있나요?
- 활발히 유지보수 중. maestro의 마지막 커밋은 2026년 11월 6일입니다.
- maestro은(는) 어디에 사용할 수 있나요?
- 정기적으로 실행되는 데이터 엔지니어링 ETL 또는 ELT 파이프라인을 예약합니다. 머신러닝 학습 및 배치 스코어링 워크플로를 오케스트레이션합니다. 관리형 API 기반 워크플로 서비스를 사용해 대량의 데이터 작업을 실행합니다. 내부 데이터 플랫폼에 적용할 Netflix 스타일의 워크플로 엔진을 평가합니다.
- maestro는 어떻게 설치하나요?
- 사전 요구 사항을 설치합니다: Git, Java 21, Gradle, Docker 프로젝트를 빌드합니다: ./gradlew build 서버를 실행합니다: ./gradlew bootRun API를 통해 샘플 워크플로를 생성합니다: curl --header "user: tester" -X POST 'http://127.0.0.1:8080/api/v3/workflows' -H "Content-Type: application/json" -d @maestro-server/src/test/resources/samples/sample-dag-test-1.json
- maestro은(는) 어디서 받을 수 있나요?
- 소스 코드와 설치 방법은 GitHub에 있습니다: https://github.com/Netflix/maestro
요약은 프로젝트 README를 바탕으로 AI가 작성했습니다. GitHub 통계는 매일 갱신됩니다.
관련 프로젝트
YAML로 정의한 데이터, AI, 인프라 워크플로를 예약 실행하고 이벤트에 반응해 실행하는 오픈소스 오케스트레이션 플랫폼입니다.
테이블, 데이터셋, ML 모델, 보고서 같은 데이터 자산을 정의하고 실행 및 모니터링하는 Python 오케스트레이션 플랫폼입니다.
Rust 엔진을 기반으로 스트림 처리, 실시간 분석, LLM 파이프라인과 RAG를 지원하는 Python ETL 프레임워크입니다.
복잡한 데이터 파이프라인 워크플로를 구축하고 예약·모니터링할 수 있는 분산형 로우코드 데이터 오케스트레이션 플랫폼입니다.
Kubernetes에서 병렬 작업을 오케스트레이션하는 컨테이너 네이티브 워크플로 엔진으로, CRD로 구현되어 있습니다.