返回 AWS Marketplace 產品列表
FerroAir
可觀測性

FerroAir

Apache Airflow 3.x-compatible 編排器

單一 Rust 二進位檔案,相容 Airflow 3.x 替換的 AWS 服務: 自管理 Apache Airflow
在 AWS Marketplace 取得

何時收回成本?

回收週期取決於成本項目和替換範圍

該產品的回收週期取決於您目前的 AWS 支出、替換範圍和執行環境。請使用帳單模擬器識別符合的成本項目並取得粗略的節省估算。

用您的帳單估算

估算您的節省金額

輸入相關每月支出或使用量即可獲得粗略估算 — 無需上傳帳單。

完整帳單上傳與其他產品

一個執行在你自己 Amazon EC2 執行個體上的自管理 workflow orchestrator:單一靜態 Rust 二進位檔案,實作 Apache Airflow 3.x scheduler、webserver、REST API v2、triggerer 和 DAG processor。它與 Apache Airflow 3.0 / 3.1 / 3.2 REST API v2 surface 以及 AIP-72 task-execution interface wire-compatible,task body 繼續透過 airflow.sdk 在 CPython 上執行。

FerroAir 在你自己的 EC2 上執行 Apache Airflow 3.x workload(Apache Airflow 是開源專案,不是 AWS 服務)。它在 8080 埠提供真正的 Web UI(Leptos single-page app,無需 Node runtime,包含 DAG list、graph、grid、gantt、calendar 和 task-log 檢視),在 9080 metrics & admin 埠提供 Prometheus metrics 和 health / live / ready probes,並在 8081 公開 AIP-72。它從 Amazon S3 同步 DAG,將 metadata 儲存在 PostgreSQL 或 SQLite,並執行帶 leader election 的 HA scheduler。scheduler、webserver、triggerer 和 DAG processor 被統一到一個靜態二進位檔案中,並在安全加固 systemd unit 下執行 — 替代多行程 Python 部署。

面臨挑戰

Apache Airflow 是一款出色的開源工作流程協調器(它不是 AWS 服務),但一般的部署需要將 scheduler、webserver、triggerer 和 DAG processor 作為多個 Python 處理程序執行,這在維運管理上非常繁重。團隊最終不得不手動組裝和維護一個多處理程序堆疊 — 中介資料 DB、broker 和 worker。其需求是在保持 Airflow 相容性的同時,使協調層執行起來更簡單。

運作原理

  1. 1

    作為單一 Rust 二進位檔案執行

    FerroAir 在單一靜態 Rust 二進位檔案中實作了 Apache Airflow 3.x scheduler、webserver、REST API v2、triggerer 和 DAG processor,並在加固的 systemd 單元下統一執行。它執行在您自己的 Amazon EC2 執行個體上,而不是多處理程序的 Python 部署。

  2. 2

    任務仍在 CPython 上執行

    FerroAir 在 Rust 中管理 scheduler 滴答循環、DAG 資料夾監視器、REST API、中介資料存取、領導者選舉和 executor 分派。任務主體繼續透過上游的 airflow.sdk,在 Apache Airflow AIP-72 任務執行介面上在 CPython 上執行。

  3. 3

    連接您現有的狀態

    DAG 從 Amazon S3 儲存貯體(或本機磁碟)同步,中介資料儲存在 PostgreSQL 或 SQLite 中。Web UI 執行在連接埠 8080,Prometheus 指標和探測器執行在連接埠 9080,AIP-72 執行在連接埠 8081。

產品亮點

Airflow 3.x-compatible:REST API v2 + AIP-72;task body 繼續透過 airflow.sdk 在 CPython 上執行。

一個靜態 Rust 二進位檔案(scheduler + webserver + triggerer + DAG processor),替代多行程 Python 部署;真正的 Leptos Web UI(無需 Node)。

DAG 從 S3 同步,metadata 儲存在 PostgreSQL / SQLite,帶 leader election 的 HA scheduler;包含 CloudFormation Quick Start。

包含內容

  • Amazon Linux 2023 AMI(x86_64,執行在 c7i / m7i 系列執行個體上)
  • 實作 Apache Airflow 3.x scheduler、webserver、REST API v2、triggerer 和 DAG processor 的單一靜態 Rust 二進位檔案(與 Apache Airflow 3.0/3.1/3.2 REST API v2 表面以及 AIP-72 任務執行介面線路相容)
  • 作為 Leptos 單頁應用程式建置的原生 Web UI(無需 Node 執行階段,連接埠 8080),具有 DAG 列表、圖表、格線、甘特圖、行事曆和任務記錄檢視
  • 用於 Python worker 的專用指標和管理連接埠 9080(Prometheus 指標以及 health、live 和 ready 探測器)和 AIP-72 連接埠 8081
  • Amazon S3 DAG 同步、PostgreSQL 或 SQLite 中介資料(Apache Airflow 3 Alembic 相容架構),以及具有領導者選舉容錯移轉的 HA scheduler
  • 用於從現有代管 Apache Airflow 部署匯入連線、變數和池的匯入工具,以及包含 runbook、相容性矩陣與驗證步驟的購買後文件
  • 無獨立的控制平面、無遙測資料回傳、無授權金鑰檢查(透過您的 AWS 帳單按每個執行個體每小時計費,並提供年付選項)

適用場景

在您自己的 Amazon EC2 上以單一、維運更簡單的二進位檔案執行 Apache Airflow 工作流程

透過匯入連線、變數和池,將協調層從代管 Apache Airflow 部署進行遷移的團隊

需要繼續與現有的 Apache Airflow REST API v2 用戶端配合運作的現有工作負載

完全在您自己的 VPC 內執行協調器,無獨立的控制平面,也無遙測資料回傳

常見問題

它與 Apache Airflow 的相容性如何?

FerroAir 與 Apache Airflow 3.0、3.1 和 3.2 的 REST API v2 表面以及 Apache Airflow AIP-72 任務執行介面線路相容。由於實作了 REST API v2 表面,現有的 Apache Airflow REST API v2 用戶端均可獲得支援。有關完整的相容性矩陣,請參閱產品文件。

我的 Python 任務程式碼還能執行嗎?

是的。任務主體繼續透過上游的 airflow.sdk 並基於 Apache Airflow AIP-72 任務執行介面在 CPython 上執行。Rust 二進位檔案負責排程器滴答循環、DAG 資料夾接聽程式、REST API、中介資料存取、領導者選舉和執行器分派——任務執行執行階段本身仍為 CPython。

這是 AWS 服務的替代品嗎?

Apache Airflow 是一個開源專案,不屬於 AWS 服務。FerroAir 是一款自代管的工作流程協調器,可在您自己的 Amazon EC2 執行個體上執行這些 Apache Airflow 3.x 工作負載。它以普通 Amazon Linux 2023 AMI 的形式交付,您可以在自己的 VPC 內執行它。

我能從現有的 Airflow 部署遷移嗎?

可以。FerroAir 可以從現有的代管 Apache Airflow 部署中匯入連線、變數和池,並同步您的 DAG 資料夾。中介資料使用 Apache Airflow 3 Alembic 相容模式儲存在 PostgreSQL 或 SQLite 中。AMI 上的購買後文件將引導您使用匯入工具、操作手冊、相容性矩陣並進行驗證。

HA 與機密管理是如何運作的?

HA 排程器透過領導者選舉(openraft)進行容錯移轉;執行多個執行個體,領導者選舉會提升備用執行個體。機密可以從環境變數、AWS Secrets Manager、GCP Secret Manager、Azure Key Vault 或 Vault 中解析,連線和變數使用 Fernet 進行加密。身份驗證支援 FAB 驗證、OAuth、OIDC、SAML 和 LDAP。

為什麼更便宜

假設在 us-east-1 執行 200 個 DAG / 每月 50k 任務執行的中型工作流程平台。

不使用 FerroAir (Amazon MWAA)
DAG 作者
排程器 + Web + worker
Amazon MWAA
mw1.medium
MWAA 環境 (mw1.medium)
$365 / 月
Worker 自動彈性伸縮 (平均 2 節點)
$110 / 月
月度合計
$475 / 月
使用 FerroAir
DAG 作者
單一 Rust 二進位檔
FerroAir
m5.large
原樣執行 Airflow DAG
CPython worker
FerroAir 實例 (m5.large + 軟體費)
$120 / 月
月度合計
$120 / 月
−75%與 Amazon MWAA 相比

依 DAG 數量選擇 FerroAir 實例

DAG 數 / 月執行數推薦執行個體FerroAir 執行個體費用月度合計對比 MWAA
~30 DAG / 5kt3.medium$45 / 月$45 / 月 (MWAA $475, −91%)
~200 DAG / 50km5.large$120 / 月$120 / 月 (MWAA $475, −75%)
~2000 DAG / 500km5.2xlarge$400 / 月$400 / 月 (MWAA $1,400, −71%)

僅供參考。Amazon MWAA (Managed Workflows for Apache Airflow) 按環境規格小時計費 (mw1.medium = $0.50/h ≈ $365/月) 加 worker 自動彈性伸縮。FerroAir 是 Rust 單一二進位檔,將 scheduler / webserver / triggerer / DAG processor 融合到一個行程。任務仍在 CPython 上執行,現有 DAG 無需修改即可執行。

計費模式

按小時收取軟體費用 + EC2(c7i / m7i 級,x86)。按執行個體類型計量,可選年付。

在 AWS Marketplace 取得