AWS現在提供全託管的工作流程管理系統服務Amazon Managed Workflows for Apache Airflow (MWAA),讓用戶可以在AWS雲端,用到開源版本的Apache Airflow,建置工作流程以執行ETL(Extract Transform Load),和其他資料處理工作。

Apache Airflow是一個讓用戶能以程式開發的方式,編寫、排程和監控工作流程的工具,使用程式碼來定義工作流程,以提高工作流程的可維護性、可測試性和協作性,甚至能用版本控制方法,來控制工作流程。用戶可以使用Apache Airflow,將工作流程編寫成有向無環圖(DAG),並以豐富的命令列工具操作有向無環圖,還可透過使用者介面,查看執行中的工作管線,在必要的時候進行故障排除。

雖然Apache Airflow可以將複雜的工作管線,分解成一系列較小的任務來執行,以簡化整個過程,但AWS提到,安裝、維護和擴展Airflow需要花費不少時間與資源,而且處理安全性、身份驗證和授權也並非簡單的事,因此AWS提供MWAA服務,降低用戶使用Apache Airflow的障礙。

AWS舉例Apache Airflow創建工作流程的情況,工作管線的輸入,可以來自Amazon Athena對物件儲存S3的查詢,接著在Amazon EMR叢集進行資料轉換,最後利用處理過後的資料,在Amazon SageMaker上訓練機器學習模型。而這個工作流程,用戶可以使用程式語言Python,編寫成有向無環圖。

Airflow的主要優勢,在於擴充套件的可擴展性,在AWS上,用戶可以利用MWAA,創建需要使用AWS服務,或是本地端資源的工作管線,並且將Airflow指標發布為CloudWatch指標,傳送到CloudWatch紀錄起來。預設情況下,Amazon MWAA會自動進行次要版本更新,並安裝修補程式,用戶可以設定這些更新程序執行的時間。

現在Amazon MWAA已經在許多AWS地區上線,包括美東、美西和歐洲,而亞太地區則有東京和雪梨。使用者可以從AWS命令列工具、AWS SDK或是控制臺中,啟用Amazon MWAA環境,並利用Python將Airflow生態系整合到工作流程中。


Advertisement

更多 iThome相關內容