argoproj/argo-workflows

Workflow Engine for Kubernetes

解決する課題

Argo Workflowsは、Kubernetes上での複雑な並列ジョブのオーケストレーションという課題を解決します。機械学習やデータ処理に必要なような、計算負荷の高いマルチステップのタスクを管理するためのコンテナネイティブな手法を提供することで、レガシーなVMやサーバーベースの環境によるオーバーヘッドを排除します。

仕組み

KubernetesのCustom Resource Definition (CRD)として実装されているArgo Workflowsでは、各ステップがコンテナとなるワークフローを定義できます。これらのワークフローは、単純なタスクのシーケンスとして、またはステップ間の複雑な依存関係を捉えるための有向非巡回グラフ (DAG) としてモデル化できます。REST API (HTTPおよびGRPC) を備えたサーバーインターフェースを提供し、Java、Golang、Python (Hera経由)、Typescript (Juno経由) のさまざまなクライアントライブラリをサポートしています。

対象ユーザー

あらゆるKubernetesクラスター上で、スケーラブルでクラウドに依存しないバッチ処理、機械学習パイプライン、またはCI/CD自動化を実行する必要がある開発者やプラットフォームエンジニア向けに設計されています。

ハイライト

  • コンテナネイティブなオーケストレーション: ワークフローの各ステップはコンテナであり、Kubernetes向けに特別に設計されています。
  • 柔軟なワークフローモデリング: DAGと逐次ステップの両方をサポートしています。
  • 豊富な機能セット: 可視化のためのUI、アーティファクトのサポート (S3, GCS, Azureなど)、スケジュールされたcronワークフロー、およびループ/条件ロジックが含まれます。
  • 堅牢な実行制御: ステップレベルのタイムアウト、リトライ、再提出、およびワークフローの停止・再開機能を備えています。
  • 幅広いエコシステム: Kubeflow PipelinesやMetaflowなどの主要プロジェクトによって、AI/MLオーケストレーションに利用されています。

関連

  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト