先頃、AWSはApache Airflow (MWAA) 用のAmazonマネージドワークフローを導入した。これは、AWSでのApache Airflowのオープンソースバージョンの実行を簡素化し、抽出-変換-ロード (ETL) ジョブとデータパイプラインを実行するワークフローを構築するフルマネージドサービスである。
Apache Airflowは、「ワークフロー」と呼ばれる一連のプロセスとタスクをプログラムで作成、スケジュール、および監視するために使用されるオープンソースツールである。開発者とデータエンジニアは、Apache Airflowを使用してワークフローをスクリプトとして管理し、ユーザーインターフェイス (UI) を介してワークフローを監視し、一連の強力なプラグインを介して機能を拡張する。ただし、Apache Airflowを使用するには、手動でインストール、保守、およびスケーリングする必要がある。今、AWSは、開発者とデータエンジニアがAirflowプラットフォームのインフラストラクチャの管理とスケーリングについて心配することなく、クラウドでワークフローを構築および管理できるようにMWAAを提供することでこれを解決する。
MWAAに関するAWSプレスリリースで、AWSのアプリケーション統合担当副社長であるJesse Dougherty氏は次のように述べている:
顧客からは、データ処理と機械学習のワークフローの開発がスピードアップするApache Airflowが本当に気に入っているとのことですが、サーバのスケーリング、運用、セキュリティ保護の負担がないことを望んでいます。Amazon MWAAを使用すると、顧客はAWSのスケーラビリティ、可用性、セキュリティで現在と同じApache Airflowプラットフォームを使用できます。
Amazon MWAAは、Amazon Athenaクエリを使用してAmazon Simple Storage Service (S3) などのソースから入力を取得し、Amazon EMRクラスタで変換を実行し、結果のデータを使用してAmazon SageMakerで機械学習モデルをトレーニングできる。さらに、開発者とデータエンジニアは、Pythonプログラミング言語を使用して、Amazon MWAAのワークフローを有向非巡回グラフ (DAG) として作成する。
出典: https://aws.amazon.com/managed-workflows-for-apache-airflow/
Amazon Web Servicesのチーフエバンジェリスト (EMEA) であるDanilo Poccia氏は、NWAAの紹介ブログ投稿に次のように書いている:
Amazon MWAAは、次の3つの手順で使用できます:
- 環境作成 – 各環境には、スケジューラ、ワーカ、WebサーバなどのAirflowクラスタが含まれています。開発者とデータエンジニアは、コンソール、AWS Command Line Interface (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スレッドの回答者は、次のように説明している:
Step Functionsは、Step Functionsを構築し、AWS Simple Workflowを維持するオーケストレーション組織によって内部的に開発されました。Glueは他のシステムのように一般的なワークフローシステムとは考えていません。ETLのユースケース向けに最適化されていることは間違いありません。時間の経過とともに、Step FunctionsとApache Airflowの詳細なガイダンスがあると確信していますが、簡単なガイダンスとして、Step Functionsは完全にAWSネイティブ (およびサーバレス) のオーケストレーションエンジンだろうことです。もちろん、Apache Airflowは、他のプラグインの多様なエコシステムを備えたオープンソースプロジェクトです。
MWAAは現在、次のAWSリージョンで利用できる: 米国東部 (オハイオおよび北バージニア)、米国西部 (オレゴン)、EU (ストックホルム、アイルランド、フランクフルト)、アジア太平洋 (東京、シンガポール、シドニー)、他のリージョンが続く。さらに、サービスの詳細はドキュメントページで、価格の詳細は価格ページで確認できる。