📘

① 宣言型オーケストレーションツールのKestraとは

2023/05/20に公開

はじめに

Twitterで知ったApache Airflowに変わる新しい宣言型のオーケストレーションツールであるKestraについて調べました。今後はKestraを使用したデモの記事も公開していく予定です。。。

参考文献はIntroduction to Kestra, a Declarative Orchestration Alternative to Apache Airflowです。

概要

大きな特徴は、

  • YAMLのインターフェース
    • オーケストレーションツールへの参入障壁を下げる
  • YAMLは以下のサポートを含む
    • 自動補完
    • 構文検証
    • バージョン管理
    • 埋め込みドキュメント
    • ライブ更新のDAGビュー

Kestraのコアとなる概念

  • フローの書き方は下記が挙げられます
    • UIのコードエディタ
    • ローカルファイルのインポート
    • Kestra’s Terraform providerからのデプロイ

  • サンプルフロー

  • 3つの属性

    • ID
      • フローの名前
    • namespace
      • 開発環境を分離するなど、論理的な分離を行う
      • ネームスペースはファイルシステムでいうフォルダー
    • tasks
      • ワークフロー内のアクション
      • 通常はリスト内のタスクは順番に実行される
      • 必要に応じて並列に実行できる
  • トリガー

    • スケジュール
    • APT call
    • UIからのアドホックな実行
    • カスタムイベント(新しいファイルの到着、新しいメッセージ、クエリまたはフローの完了など)
    • ほかのフロー(サブフロー)
  • さまざまなタスクの種類をサポート

感想

デモ動画を見る限り、yamlをサクッと書くだけでジョブの実行ができそうでありがたいなっと思いました。またdbtなどにも対応しているため、使用されやすいかもとも思っています。次回はチュートリアルに沿って記事を作成していきます。

Discussion