AWS发布全托管Apache Airflow工作流程管理服务

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生态系统集成到工作流程中。