最近,AWS 推出了亚马逊Apache Airflow托管工作流(MWAA),这是一项全托管的服务,简化了在 AWS 上运行开源版 Apache Airflow 和构建工作流来执行 ETL 作业和数据管道的工作。
Apache Airflow 是一个开源工具,用于通过编程的方式开发、调度和监控被称为“工作流”的过程和任务序列。开发人员和数据工程师用 Apache Airflow 管理工作流,通过用户界面(UI)来监控它们,并通过一组强大的插件来扩展它们的功能。但是,要使用 Apache Airflow,需要进行手动安装、维护和扩展。现在,AWS 解决了这个问题,它为开发人员和数据工程师提供了 MWAA,让他们可以在云端构建和管理自己的工作流,无需关心与管理和扩展 Airflow 平台基础设施相关的问题。
在 AWS 有关 MWAA 的新闻稿中,负责应用集成的副总裁 Jesse Dougherty 说:
客户告诉我们,他们非常喜欢 Apache Airflow,因为它加快了数据处理和机器学习工作流的开发,但他们希望能够去掉扩展、运维和保护服务器方面的负担。通过使用 Amazon MWAA,客户可以使用与现在相同的 Apache Airflow 平台,同时获得由 AWS 提供的可伸缩性、可用性和安全性。
Amazon MWAA 可以使用Amazon Athena获取来自数据源(如Amazon Simple Storage Service)的输入,在Amazon EMR集群上执行转换,并使用生成的数据在Amazon SageMaker上训练机器学习模型。此外,开发人员和数据工程师可以使用 Python 在 Amazon MWAA 中编写有向无环图(DAG)工作流。
来源:https://aws.amazon.com/managed-workflows-for-apache-airflow/
AWS 首席布道师 Danilo Poccia 在 NWAA 的一篇介绍博文中写道:
你可以通过以下三个步骤来使用亚马逊 MWAA:
创建环境——每个环境都包含你的 Airflow 集群,包括调度器、工作程序和 Web 服务器。开发人员和数据工程师可以从控制台、AWS命令行接口(CLI)或AWS SDK创建新的 Amazon MWAA 环境。
上传 DAG 和插件到 S3——Amazon MWAA 自动将代码加载到 Airflow 中。
在 Airflow 中运行 DAG——从 Airflow UI 或命令行(CLI)运行 DAG,并使用 CloudWatch 监控环境。
有了 MWAA,开发人员和数据工程师可以通过插件获得开放可扩展性所带来的好处,他们可以创建与工作流所需的 AWS 或内部资源发生交互的任务,包括 AWS Batch、Amazon CloudWatch、Amazon DynamoDB、AWS Lambda、Amazon Redshift、Amazon Simple Queue Service (SQS)和 Amazon Simple Notification Service(SNS)。
需要注意的是,AWS 还有其他工作流管理系统,比如Step Functions和AWS Glue。Hacker News 上的一位受访者在一篇帖子中解释说:
它是由内部的 Orchestration 团队开发的——这个团队也开发了 Step Functions,并维护着AWS Simple Workflow。我认为 Glue 与其他的工作流系统不一样——它针对 ETL 进行了深度优化。我相信,随着时间的推移,会出现更多有关 Step Functions 和 Apache Airflow 的详细指南,不过简单地说,Step Functions 是完全 AWS 原生的(并且是无服务器的)编配引擎。当然,Apache Airflow 是一个开源的项目,它拥有一个由其他插件组成的多样化生态系统。
MWAA 目前可在下列 AWS 区域使用:美国东部(俄亥俄州和弗吉尼亚州)、美国西部(俄勒冈州)、欧盟(斯德哥尔摩、爱尔兰和法兰克福)和亚太地区(东京、新加坡和悉尼),其他更多地区将会陆续可用。此外,有关服务的详细信息可以在文档页面上获得,有关价格的详细信息可以在定价页面上获得。
原文链接:
AWS Introduces Amazon Managed Workflows for Apache Airflow
评论