kestra: 宣言的 YAML を使用したデータおよび AI ワークフロー向けのイベント駆動型オーケストレーションプラットフォーム
kestra: 宣言的 YAML を使用したデータおよび AI ワークフロー向けのイベント駆動型オーケストレーションプラットフォーム
解決する課題
Kestra は、複雑なデータ、AI、インフラワークフローのオーケストレーションをシンプルにします。スケジュール実行とリアルタイムのイベント駆動パイプラインの両方を単一プラットフォームで扱い、インフラを「コードファースト」アプローチで管理できるため、分散した自動化ツールを管理する必要がなくなります。
仕組み
Kestra は宣言的 YAML インターフェースを用いて、"Flows"(ワークフロー)を定義します。Flows は "Tasks"(個々の作業単位)で構成されます。これらのフローは、ドラッグ&ドロップ UI で視覚的に構築することも、コードエディタでリアルタイムバリデーションしながら記述することもできます。プラットフォームは言語に依存せず、豊富なプラグインエコシステムにより Python、Node.js、Go、R、Shell のスクリプトや、AWS、GCP、Azure といったクラウドサービス、Apache Spark などのビッグデータツールと連携して実行できます。
対象ユーザー
データエンジニア、AI 実務者、DevOps プロフェッショナル向けに設計されており、複数言語やクラウドサービスを統合したスケーラブルで耐障害性のあるパイプラインを構築し、オーケストレーションロジックをバージョン管理下に置くことができます。
ハイライト
- 宣言的 YAML: ワークフローをコードとして定義し、バージョン管理や CI/CD との統合を容易にします。
- イベント駆動アーキテクチャ: スケジュールやファイル到着、メッセージバスのシグナル(Kafka、Redis など)といったリアルタイムイベントに基づいてフローをトリガーします。
- 言語非依存: プラグインを通じて任意の言語でコードを実行でき、タスクはローカル、リモートサーバ、Docker/Kubernetes コンテナ上で実行可能です。
- ビジュアルオーケストレーション: 直感的な UI で DAG(有向非巡回グラフ)としてワークフローを構築・可視化し、オートコンプリートや構文ハイライトを提供します。
Sources
- undefinedkestra-io/kestra