Apache Airflowは、Pythonコードで定義したワークフロー(DAG)の作成、スケジュール設定、監視をプログラムから行うためのプラットフォームです。
Netflix/maestro
Netflixが開発する汎用ワークフローオーケストレーター。データとMLのパイプラインをスケジュールして実行する、ワークフロー・アズ・ア・サービスを提供します。
代替できる製品:Apache Airflow
- スター
- 3,852
- フォーク
- 311
- 未解決の Issue
- 39
- 最終コミット
- 18 時間前
これは何?
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 とは?
- Netflixが開発する汎用ワークフローオーケストレーター。データとMLのパイプラインをスケジュールして実行する、ワークフロー・アズ・ア・サービスを提供します。 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として実装されたコンテナネイティブなワークフローエンジン。