kestra-io/kestra

Event Driven Orchestration & Scheduling Platform for Mission Critical Applications

它解決了什麼問題

Kestra 是一個開源的協調平台,旨在簡化複雜資料、AI 和基礎設施工作流程的管理。它透過提供一個統一的事件驅動系統來消除零散自動化帶來的混亂,該系統能夠處理不同環境和語言中的排程及即時任務。

它是如何運作的

Kestra 使用宣告式 YAML 介面來定義工作流程(稱為「流」),這些流由個別的工作單元(任務)組成。這些流會以代碼的形式進行管理,從而允許透過 Git 和 CI/CD 進行版本控制。該平台提供了一個帶有拖放編輯器和即時拓撲視圖(DAG)的可視化 UI,用於構建和可視化這些管道。

它適合誰使用

它專為需要自動化腳本、管理資料管道以及編排微服務而不被特定程式語言所限制的資料工程師、AI 從業者和 DevOps 工程師而設計。

特色

  • 語言無關: 透過豐富的插件生態系統,支援在 Python、Node.js、R、Go、Shell 等語言中執行腳本。
  • 事件驅動架構: 可以根據排程或來自外部系統(如 Kafka、Redis 和雲端訊息服務)的即時事件觸發工作流程。
  • 基礎設施即代碼: 直接與 Git 整合,並提供 Terraform 提供者來管理資源。
  • 視覺化編排: 結合程式碼編輯器與即時視覺 DAG 以及拖放任務排列。
  • 高度可擴展: 設計為高可用性和容錯,以處理數百萬個工作流程。