Netflixが大規模ワークフローの管理システム「Maestro」をオープンソース化
![](https://image.news.livedoor.com/newsimage/stf/d/b/dbaa8_88_1dd4ace2cad43d680205a27e8e6ed4b6.png)
Netflixが自社製ワークフローオーケストレーター「Maestro」をオープンソース化しました。MaestroはNetflix社内で現役稼働しており、データパイプラインや機械学習パイプラインといった大規模ワークフローの管理に使われているそうです。
Maestro: Netflix’s Workflow Orchestrator | by Netflix Technology Blog | Jul, 2024 | Netflix TechBlog
![](https://image.news.livedoor.com/newsimage/stf/4/a/4a638_88_b455f930d70eddd8f5bb28a31aebecd6.png)
Netflixは「ユーザーが次に視聴する作品の予測」などを目的に機械学習を活用しており、記事作成時点では何千もの機械学習ワークフローインスタンスを起動し、平均して1日当たり50万のジョブを実行、特に忙しい日は約200万ものジョブを実行しているとのこと。Netflixで稼働しているワークフローは非常に膨大なため、「ワークフローを小さなグループに分割して、異なるクラスターとして管理」という手法では「複雑さが増す」「断片化されたワークフローを調整するメカニズムが追加で必要になる」「ユーザーエクスペリエンスが低下する」といった問題が発生してしまいます。このため、Netflixは単一のワークフローオーケストレーターですべてのワークフローを管理しています。
Netflixは、2016年頃から機械学習ワークフローの管理のために自社製オーケストレーター「Meson」を使用していました。その後、実行する機械学習インスタンスの数が増加し続けた結果、「Mesonではシステムを垂直方向に拡張する必要があり、AWSインスタンスの上限に近づきつつある」という問題が顕在化したとのこと。このため、Netflixはシステムを水平方向に拡張可能な新型オーケストレーター「Maestro」を2020年に開発して運用開始しました。
そして、Netflixは2024年7月23日にMaestroをApache-2.0 licenseのもとでオープンソース化したことを発表しました。Maestroのソースコードはすでに以下のGitHubリポジトリで公開されています。
GitHub - Netflix/maestro: Maestro: Netflix’s Workflow Orchestrator
https://github.com/Netflix/maestro
![](https://image.news.livedoor.com/newsimage/stf/3/b/3ba09_88_6fbc5776d091766a5ca79121af02d717.png)
Maestroはデータパイプラインや機械学習モデルのトレーニングパイプラインなどの大規模なワークフローを管理するために設計されたワークフローオーケストレーターで、システムを水平方向に拡張可能です。ユーザーは自身のビジネスロジックを「Dockerイメージ」「Notebook」「bash script」「SQL」「Python」などの形式で管理可能で、ワークフロー定義はJSON形式で記述可能です。ワークフロー定義の例は以下のリンク先で公開されています。
Workflow definition example · Netflix/maestro Wiki · GitHub
https://github.com/Netflix/maestro/wiki/Workflow-definition-example
![](https://image.news.livedoor.com/newsimage/stf/9/b/9b256_88_b3a06a07d7a5947a0806fa1c8a587ac0.png)