Apache Airflowのライバルと噂されるツール「Kestra」を試してみた

BBetter Stack
컴퓨터/소프트웨어창업/스타트업AI/미래기술

스크립트

00:00:00これはKestra。最近、ある一つの約束で2500万ドルを調達したスタートアップです。
00:00:06それは「Apache Airflowを潰す」ということ。その戦略はあまりに単純で、逆に侮辱的とさえ思えるほどです。
00:00:12データパイプラインをPythonで書くのをやめて、YAMLで書くようにする、というものです。
00:00:17ただのYAMLと思うかもしれませんが、侮ってはいけません。見た目以上に大きな変革なのです。
00:00:21これから数分間で、その仕組みを具体的にお見せしましょう。
00:00:29順番に実行すべき一連のジョブを想像してください。データを取得し、クリーンアップして、
00:00:35データベースに読み込み、APIを叩いて次の処理を開始する。これらはCronでも構築できますが、
00:00:41どこか一箇所でも失敗するとお手上げです。リトライもログもなく、どこが壊れたのかすら分かりません。
00:00:48まさにその問題を解決するためにオーケストレーションツールが生まれました。Airflowは長年その王座に君臨してきましたが、
00:00:54問題があります。すべてのパイプラインがプログラムであり、
00:00:58作成・保守・デバッグが必要なPythonコードだからです。システム全体が重く、
00:01:04ローカル環境で動かすだけでも一苦労。ワークフローを高速化するツールに興味がある方は、
00:01:09ぜひチャンネル登録してください。役立つ動画を定期的に投稿しています。
00:01:14さて、Kestraの考え方は「ワークフローはプログラムではなく、設定であるべきだ」というものです。
00:01:19ブラウザ上のエディタで実際に何ができるかお見せしましょう。
00:01:24YAMLで小さなフローを書きます。Pythonスクリプトを実行するステップと、シェルコマンドを実行するステップを組みます。
00:01:32実行ボタンを押すと画面が動き出し、各ステップが完了するたびに図がライブで光ります。
00:01:41タイムライン表示で各工程の所要時間を確認したり、特定のステップのログに直接ジャンプしたりできます。
00:01:47これらすべて、オーケストレーションコードを一行も書かずに実現しました。
00:01:53Kestraでは、すべてのワークフローを「フロー」と呼びます。中身はYAMLであり、
00:02:00タスクのリストとそれを開始するトリガーで構成されています。タスクは言語にとらわれないのが大きな特徴で、
00:02:08一つのフローの中でPython、Node.js、Bash、SQLクエリ、さらにはコンテナの実行まで
00:02:15一貫してこなせます。AirflowはPython、n8nはJavaScriptに依存しますが、
00:02:22Kestraは言語を選びません。トリガーも標準で組み込まれており、
00:02:27Cron形式のスケジュール実行、Webhook、ファイルのアップロード、APIからの呼び出しが可能です。
00:02:34さらに良いことに、コードとビジュアルビルダーが同期しているため、
00:02:39どちらかを編集すると、もう片方も自動的に更新されます。では、なぜ既存のAirflowから乗り換える価値があるのでしょうか?
00:02:46Airflowに比べて、パイプラインがPythonを知らない人でも読める構成になり、
00:02:53プルリクエストでのレビューも容易です。また、エンジンの並列処理能力はAirflowよりも優れています。
00:02:59さらにZapierやMakeのようなSaaSと違い、タスクごとの課金も発生しません。
00:03:05開発者向けのインフラとして自分でホストする仕組みです。昔ながらのCronと比べれば、
00:03:12リトライ、タイムアウト、依存関係グラフ、そして視覚的なUIが最初から備わっています。
00:03:19Kestraによれば、2025年には年間20億回ものワークフローが実行され、前年比で20倍もの成長を遂げました。
00:03:26Apple、JPモルガン、トヨタ、ブルームバーグといった企業も導入しています。
00:03:32これらは公式発表による数字ですので、鵜呑みにせず参考程度に捉えるべきでしょう。
00:03:38しかし、オーケストレーションの未来は、こうした宣言的な設定ベースの手法に向かっているという見方が強まっています。
00:03:43ただし、注意点もいくつかあります。まず、Javaベースのアプリであり、JVMはメモリを消費します。
00:03:49安定して動かすには最低でも4GBのRAMと2コアのCPUが必要です。また、YAMLは
00:03:58単純なパイプラインには向いていますが、複雑な動的分岐が必要になるとPythonの方が扱いやすいです。
00:04:06最後に、Kestraはオープンコアモデルを採用しています。エンジン自体はオープンソースですが、
00:04:11SSO、RBAC、監査ログなどのエンタープライズ機能は有料版のみの提供です。
00:04:18無料版は共有ログインのみとなり、個人利用には十分ですが、
00:04:24マルチユーザー管理が必要な場合に、コストをかけられない環境では課題となります。
00:04:31さて、これを使うべきでしょうか? もしあなたがオーケストレーションをPythonではなく
00:04:36読みやすい設定ファイルで管理したいなら、間違いなくクールなツールです。
00:04:42Apple Siliconでもネイティブで動作します。Dockerで実行すればすぐにダッシュボードにアクセスできます。
00:04:47ぜひ試してみてください。すでに使っている方は、感想をコメント欄で教えてください。
00:04:53このようなコーディングのヒントに興味がある方は、ぜひチャンネル登録をお願いします。
00:04:59これからも新しい動画を投稿していきます。
00:05:03ご視聴ありがとうございました。

핵심 요약

Kestraは、コードベースの複雑さをYAML設定で解消し、言語非依存かつ並列処理に優れたワークフロー自動化を実現する。

하이라이트

  • KestraはワークフローをプログラムではなくYAMLベースの設定ファイルとして管理するオーケストレーションツールである。

  • Python、Node.js、Bash、SQLなど言語にとらわれず一貫したパイプライン構築が可能である。

  • 開発者向けのインフラとして提供され、ZapierなどのSaaSツールとは異なりタスクごとの課金は発生しない。

  • 2025年には年間20億回ものワークフロー実行を記録し、前年比で20倍の成長を遂げている。

  • Javaベースのアプリケーションであり、安定稼働には最低4GBのRAMと2コアのCPUを要する。

타임라인

Kestraのコンセプトと背景

  • データパイプライン構築において、プログラムではなく宣言的な設定手法を採用する。
  • Airflowのようなコード管理の負担やローカル環境での実行コストを低減させる。

従来のパイプライン管理ツールはPythonなどのプログラミング知識を必要とし、保守やデバッグが複雑になりがちである。Kestraはこの課題に対し、YAML形式の設定ファイルでワークフローを定義するアプローチを導入した。Cronと比較して、リトライ、タイムアウト管理、視覚的な依存関係グラフを備えた管理環境を提供する。

機能と実行エンジン

  • Python、Shell、SQLなどタスクごとに異なる言語を一つのフロー内で混在実行できる。
  • ブラウザ上のUIとYAMLコードが同期し、編集結果がリアルタイムに反映される。

ワークフローはYAML定義により構成され、スケジューリング、Webhook、API呼び出し、ファイル操作などを標準でサポートする。実行エンジンは言語依存性が低く、各タスクの所要時間やログをUI上で直接確認可能である。このコードとビジュアルビルダーの同期機能が、構築の効率を高めている。

Airflowとの比較と導入メリット

  • 設定ファイルベースのためPythonの専門知識がなくてもレビューや保守が容易である。
  • 並列処理能力においてAirflowを上回る性能を持つ。

Apple、トヨタ、JPモルガンなどの大手企業が導入しており、年間の実行回数も急増している。SaaSツールのようにタスク実行数に応じた従量課金が発生しないため、自己ホスト型インフラとしてコスト制御が容易である。透明性の高い環境での運用が可能である。

導入の注意点と推奨事項

  • JVM上で動作するため、最低でも4GBのメモリと2コアCPUのスペックを必要とする。
  • 高度な動的分岐が必要なワークフローではPythonの方が適している場合がある。
  • SSOやRBACなどのエンタープライズ機能は有料版での提供となる。

オープンコアモデルを採用しており、主要機能は無料で使用できるが、マルチユーザー管理や監査ログには有料版が必要である。単純なパイプライン管理には最適だが、複雑な条件分岐の制御などでは注意が必要となる。Docker環境やApple Silicon搭載マシンで即座に試行可能である。

커뮤니티 글

아직 글이 없습니다. 이 영상에 대한 첫 번째 글을 작성해 보세요!

이 영상에 대해 글쓰기