イベント駆動型の宣言型オーケストレーション プラットフォーム
画像をクリックすると、Kestra を 4 分で始める方法をご覧いただけます。
?ケストラとは何ですか?
Kestra は、スケジュールされたワークフローとイベント ドリブンのワークフローの両方を簡単にする、オープンソースのイベント ドリブン オーケストレーション プラットフォームです。 Infrastructure as Code のベスト プラクティスをデータ、プロセス、マイクロサービス オーケストレーションに導入することで、わずか数行の YAML で UI から信頼性の高いワークフローを直接構築できます。
主な特徴:
- すべてをコードとして、UI から: UI からワークフローを構築する場合でも、 Git バージョン管理統合を使用してワークフローをコードとして維持します。
- イベント駆動型およびスケジュールされたワークフロー:シンプルな
trigger
定義により、スケジュールされたイベント駆動型ワークフローとリアルタイムのイベント駆動型ワークフローの両方を自動化します。 - 宣言型 YAML インターフェイス:組み込みのコード エディターで簡単な構成を使用してワークフローを定義します。
- 豊富なプラグイン エコシステム:あらゆるデータベース、クラウド ストレージ、または API からデータを抽出し、あらゆる言語でスクリプトを実行するために組み込まれた数百のプラグイン。
- 直感的な UI とコード エディター:構文の強調表示、オートコンプリート、リアルタイム構文検証を使用して、UI から直接ワークフローを構築および視覚化します。
- スケーラブル:高可用性と耐障害性を備え、何百万ものワークフローを処理できるように設計されています。
- バージョン管理に優しい:組み込みのコード エディターからワークフローを作成し、Kestra から直接好みの Git ブランチにプッシュすることで、CI/CD パイプラインとバージョン管理システムのベスト プラクティスを実現します。
- 構造と復元力:名前空間、ラベル、サブフロー、再試行、タイムアウト、エラー処理、入力、UI でアーティファクトを生成する出力、変数、条件分岐、高度なスケジューリング、イベント トリガー、バックフィル、動的を使用して、混乱を抑え、ワークフローに復元力をもたらします。タスク、逐次および並列タスク、およびフラグを設定することで必要に応じてタスクまたはトリガーをスキップします。
disabled
true
に設定します。
? YAML 定義は、UI または API 呼び出しを通じてワークフローに変更を加えるたびに自動的に調整されます。したがって、他の方法 (UI、CI/CD、Terraform、API 呼び出し) でワークフローを変更した場合でも、オーケストレーション ロジックは常にコード内で宣言的に管理されます。
クイックスタート
ライブデモを試してみる
Kestra のライブ デモをお試しください。インストールは必要ありません。
5 分でローカルで始められる
Docker で Kestra を起動する
Docker が実行されていることを確認します。次に、単一のコマンドで Kestra を起動します。
docker run --pull=always --rm -it -p 8080:8080 --user=root
-v /var/run/docker.sock:/var/run/docker.sock
-v /tmp:/tmp kestra/kestra:latest server local
他の展開オプション (Docker Compose、Podman、Kubernetes、AWS、GCP、Azure など) については、インストール ガイドを確認してください。
http://localhost:8080 で Kestra UI にアクセスし、最初のフローの構築を開始してください。
初めての Hello World フロー
次の内容で新しいフローを作成します。
id : hello_world
namespace : dev
tasks :
- id : say_hello
type : io.kestra.plugin.core.log.Log
message : " Hello, World! "
フローを実行し、UI で出力を確認してください。
?プラグインエコシステム
Kestra の機能は、プラグインの豊富なエコシステムを通じて拡張されており、どこでもタスクを実行し、Python、Node.js、R、Go、Shell などのあらゆる言語でコードを実行できるようになります。 Kestra プラグインがどのようにワークフローを強化するかは次のとおりです。
どこでも実行:
- ローカルまたはリモート実行:ローカル マシン、SSH 経由のリモート サーバーでタスクを実行するか、タスク ランナーを使用してサーバーレス コンテナーにスケールアウトします。
- Docker と Kubernetes のサポート:ワークフロー内で Docker コンテナをシームレスに実行したり、Kubernetes ジョブを起動して計算負荷の高いワークロードを処理したりできます。
任意の言語でのコード:
- スクリプトのサポート:好みのプログラミング言語でスクリプトを作成します。 Kestra は Python、Node.js、R、Go、Shell などをサポートしており、既存のコードベースとデプロイメント パターンを統合できます。
- 柔軟な自動化:シェル コマンドを実行し、さまざまなデータベースに対して SQL クエリを実行し、API と対話するための HTTP リクエストを作成します。
イベント駆動型およびリアルタイム処理:
- リアルタイム トリガー:ファイルの到着、メッセージ バス内の新しいメッセージ (Kafka、Redis、Pulsar、AMQP、MQTT、NATS、AWS SQS、Google Pub/Sub、Azure Event Hubs) などの外部システムからのイベントにリアルタイムで反応します。 )など。
- カスタム イベント:カスタム イベントを定義して、特定の条件または外部信号に基づいてフローをトリガーし、応答性の高いワークフローを実現します。
クラウド統合:
- AWS、Google Cloud、Azure:さまざまなクラウド サービスと統合して、ストレージ ソリューション、メッセージング システム、コンピューティング リソースなどと対話します。
- ビッグ データ処理: Apache Spark などのツールを使用してビッグ データ処理タスクを実行するか、Google BigQuery などの分析プラットフォームと対話します。
監視と通知:
- 常に最新情報を入手: Slack チャネルにメッセージを送信したり、電子メールで通知を送信したり、PagerDuty でアラートをトリガーしたりして、チームにワークフローのステータスを常に最新情報を提供します。
Kestra のプラグイン エコシステムは継続的に拡大しており、特定のニーズに合わせてプラットフォームを調整できるようになります。複雑なデータ パイプラインを調整する場合でも、複数の環境にわたるスクリプトを自動化する場合でも、クラウド サービスと統合する場合でも、役立つプラグインが存在する可能性があります。そうでない場合は、いつでも独自のプラグインを構築して Kestra の機能を拡張できます。
? 注:これは Kestra プラグインでできることのほんの一部です。プラグイン ページで完全なリストをご覧ください。
主要な概念
- フロー: Kestra のコアユニットであり、タスクで構成されるワークフローを表します。
- タスク:スクリプトの実行、データの移動、API の呼び出しなどの個々の作業単位。
- 名前空間:整理と分離のためのフローの論理グループ。
- トリガー:フローの実行を開始するスケジュールまたはイベント。
- 入力と変数:フローとタスクに渡されるパラメーターと動的データ。
?ワークフローを視覚的に構築する
Kestra は、ワークフローを対話的に構築および視覚化できる直感的な UI を提供します。
- ドラッグ アンド ドロップ インターフェイス:トポロジ エディターからタスクを追加および再配置します。
- リアルタイム検証:ワークフローの構文と構造に関する即時フィードバックにより、エラーを早期に発見します。
- オートコンプリート:入力時にスマートな提案が表示され、構文エラーなしでフロー コードを迅速に作成できます。
- ライブ トポロジ ビュー:ワークフローをリアルタイムで更新される有向非巡回グラフ (DAG) として表示します。
?拡張可能で開発者に優しい
プラグイン開発
カスタム プラグインを作成して Kestra の機能を拡張します。まずはプラグイン開発者ガイドをご覧ください。
コードとしてのインフラストラクチャ
- バージョン管理:フローを Git リポジトリに保存します。
- CI/CD 統合: CI/CD パイプラインを使用してフローのデプロイを自動化します。
- Terraform プロバイダー:公式の Terraform プロバイダーを使用して Kestra リソースを管理します。
コミュニティに参加する
接続を維持してサポートを受けてください:
- Slack: Slack コミュニティに参加して、質問したりアイデアを共有したりできます。
- LinkedIn: LinkedIn でフォローしてください。これは、Slack や GitHub に次ぐ、最新情報や製品の発表を共有するためのメイン チャネルです。
- YouTube:教育ビデオ コンテンツについては YouTube チャンネルを購読してください。毎週新しい動画を公開しています!
- X: Xでまだ活動している場合は、X をフォローしてください。
?貢献する
あらゆる種類の貢献を歓迎します。
- 問題を報告する:バグが見つかった場合、または機能リクエストがありますか? GitHub で問題を開きます。
- コードを貢献する:最初のガイドラインについては貢献者ガイドを確認し、初心者向けのタスクに最初に取り組むのに適した最初の問題を調べてください。
- プラグインの開発:プラグイン開発者ガイドを使用してプラグインを構築し、共有します。
- ドキュメントに貢献する:ドキュメントを最高の状態に保つために、編集または更新に貢献してください。
?ライセンス
Kestra は、Apache 2.0 License © Kestra Technologies に基づいてライセンスされています。
️ 最新情報を入手
最新の機能や更新情報を入手するには、リポジトリにスターを付けてください。
ワークフロー オーケストレーションのニーズに合わせて Kestra をご検討いただきありがとうございます。あなたが何を構築するのか楽しみです!