8
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

Apache Airflowに関する利用状況の動向調査

Last updated at Posted at 2023-02-28

はじめに

Airflowは「ジョブ実行管理基盤」や「ワークフロー管理システム」と呼ばれるソフトウェアの一種です。
定期的に実行するバッチアプリの起動や実行状態の管理、成功失敗を判定し次に実行するバッチアプリの起動管理ができます。
ここではインターネット上の記事などに公開されているApache Airflowの利用実態について調査した結果をまとめています。
細かな機能については様々なブログや記事で解説されているのでここでは割愛します。

Airflowを採用するかどうかの判断基準として機能面で要件を満たしていることは必須ですが、それ以外にも利用事例や実績なども考慮することが一般的かと思います。
Airflowを採用するかどうかを検討されている方に読んでいただき、クライアントや上司の説得材料として利用してもらえればと思います。

Airflowの歴史

Airflowの主な出来事です。
来年で開発開始から10年になりますね(2023年3月現在)。
個人的な肌感覚では、ここ2~3年で一気に知名度が上がり利用者も増えた印象です。

年月 出来事
2014年10月 Airbnb社のMaxime Beaucheminによって開発がスタート。
2015年6月 バージョン 1.0.0 がリリース。
2016年3月 Apache Software FoundationのIncubatorプログラムに参加。
2018年3月 GCPがCloudComposerのBeta版をリリース。
2019年1月 Apache Software Foundationのトップレベルプロジェクトに昇格。
2019年9月 Airflowのロゴマーク(風車)が決定。 
2020年7月 Apache Airflow初のカンファレンスイベント、Airflow Summitが開催。
2020年11月 AWSがMWAA(Amazon Managed Workflows for Apache Airflo)をリリース。
2020年12月 バージョン 2.0.0 がリリース。
2023年2月 AzureのAzure Data Factoryの新機能としてマネージドAirflowがリリース

類似ソフトウェア

Airflowと同じような「ジョブ実行管理基盤」や「ワークフロー管理システム」と呼ばれるソフトウェアを下記にまとめました。

ソフトウェア名 開発元 OSS 費用 GitHub☆ 開発 最新バージョン
Airflow Airbnb 無償 29.3k 2014~ v2.5.1
DigDag Treasure Data 無償 1.2k 2016~ v0.10.5
Argo Workflows Applatix -> Intuit -> CNCF 無償 12.6k 2017~ v3.4.5
Dagster elementl 無償(有償版あり) 6.6k 2018~ v1.1.20
JP1 日立製作所 × 有償 - 1994~ -
System Walker 富士通 × 有償 - 1995~ -
Hinemos NTTデータ 無償(有償サポートあり) 91 2004~

※上記の表は2023年3月現在の情報となります。

非OSSのJP1とSystem Walkerを除くと、GitHub☆の数ではAirflowの圧勝です。
2番手にArgo Workflows、3番手にDagsterと続いています。
Argo Workflowsはコンテナを前提としているため、汎用的なツールとしてはAirflowに軍配は上がります。
Digdagを利用している事例はあるものの、Airflowに移行する事例もでてきています。
またDigdagの最新バージョンがv0.10.5(2023年3月現在)であり、まだ1.0.0がリリースできていないことを考えると開発途上にあると思われます。

一方で、DagsterではAirflowからのマイグレーションイベントを公式サイトアピールしていることからAirflowを相当ライバル視していると思われます。
Airflowと異なり有償版によるサポートも提供していることから、今後はAirflowのライバルとして利用事例が増えてくるかもしれません。
image.png

最新の利用動向

公式GitHubのWho uses Apache Airflow?に利用を公表している企業一覧が確認できます。
(バージョン1.10.0以前はREADME.mdに記載されてます。)
コミュニティ活動活性化&企業のPRのため、積極的に公表してねとのことです。
2023年2月時点で480社も利用しており、広く利用されるOSSソフトウェアであることがわかります。
有名な企業だと

  • Bloomberg
  • PayPal
  • Spotify
  • Twitter
  • Yahoo!

などが利用しているようです。
公式に利用を公表している企業数の変化をグラフ化したものが下図となります。

image.png

バージョン2.0.0リリースタイミングで利用社数が激増していることがわかります。
Apache Airflowの歴史と照らし合わせるとAirflow Summitの開催やAWSのMWAAリリースのタイミングと被ります(リリースの1月前ですが・・・)。
また、バージョン2.0.0のリリースで大きく機能追加や改善が行われています。
こういった背景もあり、2020年頃から知名度が向上し利用する企業の増加したのではないかと思います。

次にGoogle Trendsにおける「Apache Airflow」の検索数の推移を調査しました。

image.png

こちらのデータだと2017年頃から徐々に検索されてきていますが、2019年頃からは横ばいと言ったところでしょうか。
2022年に入ってから一気に検索数が上昇したようにも見えます。
地域別だと意外なことに、アメリカではなくシンガポールや韓国、イスラエルが上位に来ていることも読み取れます。

また企業がエンジニアに求めるスキルとしてもApache Airflowが注目されています。
2023年3月現在でフリーランスエンジニアの案件を調べてみたところ、いくつかの案件で「Apache Airflow」が必須スキルとして掲載されていました。
ただ案件の特性としては「データ基盤エンジニア」や「データ分析エンジニア」といった求人なので、Airflow単独というよりもデータ分析に付随する技術として求められていると思われます。

利用事例

クラウドベンダの動向

Apache Airflowの歴史でも記載していますが、大手クラウドベンダ3社ではAirflowのマネージドサービスが利用可能です。

クラウドベンダ サービス リリース時期
GCP Cloud Composer/Cloud Composer2 2018
AWS MWAA 2020
Azure Azure Data Factory 2023

Airflowを最初にマネージドサービスとして公開したのはGCPです。
そのためか、利用事例でもCloud Composerを利用している事例がいくつか技術ブログなどで公開されています。
GCPの2年後にAWSがMWAAとして、そして今年になってAzureがAzure Data Factoryにマネージドサービスを公開しました。

企業における利用事例

インターネット上に公開されている技術ブログなどから国内企業を対象とした利用事例を簡単に表にまとめてみました。

企業名/サービス名 概要
一休.com ホテルやレストラン予約サイト一休.comの事例です。
ホテル情報、予約情報、ユーザ情報、アクセスログやそれらに紐づくマスタデータはすべてDWHに格納しているそうです。
各種情報をDWHに格納するためにETLツールによるデータ変換を実行しており、その実行基盤としてAirflowを利用しているとのことです。
ETLツールによるデータ変換は日次約400タスクが実行されるそうです(週次や時間起動も含めると更に大規模だとか)。
2018年にDigdagからAirflowに移行したとのことですが、どういった課題があり、それをAirflowでどう解決したかは参考資料の「一休のETL処理をAirflowで再構築しました」に記載されています。
また、記事公開時点では表示のタイムゾーンを変更ができないことを制約として挙げていますが、最新バージョン(2023年3月現在)ではタイムゾーンの変更ができるみたいです。

参考資料
一休のデータフローをAirflowを使って実行してみる
一休のETL処理をAirflowで再構築しました
一休の1 to 1マーケティングを支えるプラットフォーム
Yahoo! Japan ヤフーのAIプラットフォームにおける事例です。
ヤフーが提供する様々なサービスが蓄積したビッグデータを利用し、ユーザビリティやサービスの改善のため、AIや機械学習によるデータ分析を行っているとのことです。
ヤフーではデータ分析のためAIプラットフォームを構築しており、データ取得、前処理、学習のタスク実行管理にAirflowを利用しているようです。
Airflowはk8s上で動かしており、Kubernetes pod operatorによりk8s上のジョブを起動させているようです。
ジョブ実行管理にはArgo Workfloも利用しており、AirflowからArgo Workflowのジョブを実行するケースもあるとのこと。
また、Airflowによりジョブ実行がスケジューリングされたことや過負荷を防ぐことが可能になり夜間対応がほぼなくなったそうです。

参考資料
AirflowとKubernetesで機械学習バッチジョブの運用負荷を低減した話
ヤフーのAIプラットフォーム紹介 〜 AI開発をより手軽に
ZOZO ZOZOでは生のAirflowではなくGCPのCloud Composerを利用しているようです。
ZOZOTOWNでは毎日大量の商品が出品されるため、機械学習で商品情報の登録を補佐するシステムを利用しているそうです。
商品情報の取得、データの分類および推論処理、結果の出力といった一連のタスクの実行管理にCloud Composerを利用しています。

参考資料
Cloud Composer 2上でApache Airflow 2のワークフローを実装する
GMOペパボ GMOペパボはGMOグループの一社で、「ホスティング」「EC支援」など個人向けウェブサービスを提供しています。
こちらも生のAirflowではなくGCPのCloud Composerを利用した事例となります。
GMOペパボではデータ駆動によるマーケティングや意思決定の自動化を目指しており、そのためのデータ基盤を構築したと公表しています。
このデータ基盤におけるデータの加工や学習といったタスクの実行にCloud Composerを利用しているとのことです。

参考資料
GMOペパボのサービスと研究開発を支えるデータ基盤の裏側
電通デジタル 広告代理店ということもあり、デジタル広告のプランニングツールの開発や広告配信実績データの可視化・予測データをクライアントに提供しているとのことです。
社内の複数のチームで独自のワークフロー(主にDigdag)を利用していたところを、デファクトのツールとしてAirflowを社内で広めていったそうです。
主に広告データの取得や加工といったタスクの実行管理に利用しており、AWSのFarget上にAirflowを立ち上げて利用しているみたいです。

参考資料
Airflowを広告データのワークフローエンジンとして運用してみた話
Airflowのタスク実行環境を分離する

主に、機械学習のためのデータ変換や学習といったジョブの実行管理に利用されている印象です。
一方で金融機関におけるミッションクリティカルな領域やメインビジネス領域(売上精算など)の事例はあまりありませんでした。
(そういった領域にはJP1やSystem Walkerなどのサポートがしっかりしたツールを利用しているのか、それとも使っていても外に利用していると公開していないのいずれかかなと思います。)

また興味深いことに一休.comや電通デジタルではDigdagからAirflowへの乗り換えています。
これらの事例から、複雑なタスクの実行管理にはAirflowが有利であることが伺えます。

その他にも海外の事例ですが公式サイトのUse casesにも事例がいくつか紹介されています。

また、日系SIerによる開発ではJP1やSystem Walker、Hinemosあたりを利用することが多いと思います。
これは顧客がサポートを求めている、昔から利用してきたので別のツールを利用できないなどの理由があるためかと思います。

まとめ

Airflowの開発開始から10年経ちますが、多くの企業で利用されていることが調査結果から読み取れます。
国内での事例も多くあることから今後も利用する企業が増えていく行くと思われます。
今後もAirflowの動向について注視が必要ですね。

8
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
8
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?