스크립트
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ご視聴ありがとうございました。
커뮤니티 글
아직 글이 없습니다. 이 영상에 대한 첫 번째 글을 작성해 보세요!
이 영상에 대해 글쓰기