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

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

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

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

| 年月 | 出来事 |
| ---- | ----- |
| 2014年10月 | Airbnb社の[Maxime Beauchemin](https://www.linkedin.com/in/maximebeauchemin)によって開発がスタート。 |
| 2015年6月  | [バージョン 1.0.0](https://github.com/apache/airflow/tree/1.0.0) がリリース。    |
| 2016年3月 | Apache Software FoundationのIncubatorプログラムに参加。 |
| 2018年3月 | GCPが[CloudComposer](https://cloud.google.com/composer/docs/release-notes)のBeta版をリリース。 | 
| 2019年1月 | Apache Software Foundationのトップレベルプロジェクトに昇格。 |
| 2019年9月 | Airflowのロゴマーク(風車)が決定。　|
| 2020年7月 | Apache Airflow初のカンファレンスイベント、[Airflow Summit](https://airflowsummit.org/)が開催。| 
| 2020年11月 | AWSが[MWAA(Amazon Managed Workflows for Apache Airflo)](https://docs.aws.amazon.com/mwaa/latest/userguide/doc-history.html)をリリース。 | 
| 2020年12月 | [バージョン 2.0.0](https://airflow.apache.org/blog/airflow-two-point-oh-is-here/) がリリース。|
| 2023年2月 | AzureのAzure Data Factoryの新機能として[マネージドAirflowがリリース](https://techcommunity.microsoft.com/t5/azure-data-factory-blog/introducing-managed-airflow-in-azure-data-factory/ba-p/3730151)。 


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

| ソフトウェア名 | 開発元 | OSS | 費用 |GitHub☆ | 開発 | 最新バージョン|
| ------------- |-----------|-----|------|------|-----| ------- |
| [Airflow](https://airflow.apache.org/)       | Airbnb  | ○   | 無償 | 29.3k | 2014～  | v2.5.1 |
| [DigDag](https://www.digdag.io/)        | Treasure Data | ○   | 無償 | 1.2k  | 2016～   | v0.10.5 |
| [Argo Workflows](https://argoproj.github.io/argo-workflows/) | Applatix -> Intuit -> CNCF | ○  | 無償 | 12.6k | 2017～ | v3.4.5 |
| [Dagster](https://dagster.io/)        | elementl | ○   | 無償(有償版あり) | 6.6k | 2018～ | v1.1.20 | 
| [JP1](https://www.hitachi.co.jp/Prod/comp/soft1/jp1/index.html) | 日立製作所 | ×   | 有償     | - | 1994～  | - |
| [System Walker](https://www.fujitsu.com/jp/products/software/middleware/business-middleware/systemwalker/) | 富士通    | ×   | 有償      | - |  1995～  | - |
| [Hinemos](https://www.hinemos.info/)| 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からのマイグレーションイベントを[公式サイト](https://dagster.io/events/dagster-airflow-event-feb-2023)アピールしていることからAirflowを相当ライバル視していると思われます。
Airflowと異なり有償版によるサポートも提供していることから、今後はAirflowのライバルとして利用事例が増えてくるかもしれません。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/177076/7e2d4407-876d-c262-67d8-f036144df60a.png)


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

* Bloomberg
* PayPal
* Spotify
* Twitter
* Yahoo!

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

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/177076/52a37655-73aa-ec17-72e1-e053a1d83687.png)

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

次に[Google Trends](https://trends.google.co.jp/trends/explore?date=2015-01-01%202023-02-11&q=Apache%20Airflow)における「Apache Airflow」の検索数の推移を調査しました。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/177076/3c9b76b4-185a-2c42-4d88-6a5170951820.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にマネージドサービスを公開しました。


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

<table border="1">
    <tr>
        <th>企業名/サービス名</th>
        <th>概要</th>
    </tr>
    <tr>
        <td>一休.com</td>
        <td>
            ホテルやレストラン予約サイト一休.comの事例です。<br>
            ホテル情報、予約情報、ユーザ情報、アクセスログやそれらに紐づくマスタデータはすべてDWHに格納しているそうです。<br>
            各種情報をDWHに格納するためにETLツールによるデータ変換を実行しており、その実行基盤としてAirflowを利用しているとのことです。<br>
            ETLツールによるデータ変換は日次約400タスクが実行されるそうです（週次や時間起動も含めると更に大規模だとか）。<br>
            2018年にDigdagからAirflowに移行したとのことですが、どういった課題があり、それをAirflowでどう解決したかは参考資料の「一休のETL処理をAirflowで再構築しました」に記載されています。<br>
            また、記事公開時点では表示のタイムゾーンを変更ができないことを制約として挙げていますが、最新バージョン(2023年3月現在)では<a href="https://airflow.apache.org/docs/apache-airflow/stable/authoring-and-scheduling/timezone.html">タイムゾーンの変更</a>ができるみたいです。<br>
            <br>
            <b>参考資料</b><br>
            <a href="https://qiita.com/kokojima/items/3860edce1ea3c5fa2120">一休のデータフローをAirflowを使って実行してみる</a><br>
            <a href="https://user-first.ikyu.co.jp/entry/2018/06/25/115452">一休のETL処理をAirflowで再構築しました</a><br>
            <a href="https://user-first.ikyu.co.jp/entry/2018/12/28/160000">一休の1 to 1マーケティングを支えるプラットフォーム</a>
        </td>
    </tr>
    <tr>
        <td>Yahoo! Japan</td>
        <td>
            ヤフーのAIプラットフォームにおける事例です。<br>
            ヤフーが提供する様々なサービスが蓄積したビッグデータを利用し、ユーザビリティやサービスの改善のため、AIや機械学習によるデータ分析を行っているとのことです。<br>
            ヤフーではデータ分析のためAIプラットフォームを構築しており、データ取得、前処理、学習のタスク実行管理にAirflowを利用しているようです。<br>
            Airflowはk8s上で動かしており、Kubernetes pod operatorによりk8s上のジョブを起動させているようです。<br>
            ジョブ実行管理にはArgo Workfloも利用しており、AirflowからArgo Workflowのジョブを実行するケースもあるとのこと。<br>
            また、Airflowによりジョブ実行がスケジューリングされたことや過負荷を防ぐことが可能になり夜間対応がほぼなくなったそうです。<br>
            <br>
            <b>参考資料</b><br>
            <a href="https://techblog.yahoo.co.jp/entry/2020122530052975/">AirflowとKubernetesで機械学習バッチジョブの運用負荷を低減した話</a><br>
            <a href="https://techblog.yahoo.co.jp/entry/2021083130180585/">ヤフーのAIプラットフォーム紹介 〜 AI開発をより手軽に</a>
        </td>
    </tr>
    <tr>
        <td>ZOZO</td>
        <td>
            ZOZOでは生のAirflowではなくGCPのCloud Composerを利用しているようです。<br>
            ZOZOTOWNでは毎日大量の商品が出品されるため、機械学習で商品情報の登録を補佐するシステムを利用しているそうです。<br>
            商品情報の取得、データの分類および推論処理、結果の出力といった一連のタスクの実行管理にCloud Composerを利用しています。<br>
            <br>
            <b>参考資料</b><br>
            <a href="https://techblog.zozo.com/entry/cloud-composer-v2">Cloud Composer 2上でApache Airflow 2のワークフローを実装する</a>
        </td>
    </tr>
    <tr>
        <td>GMOペパボ</td>
        <td>
            GMOペパボはGMOグループの一社で、「ホスティング」「EC支援」など個人向けウェブサービスを提供しています。<br>
            こちらも生のAirflowではなくGCPのCloud Composerを利用した事例となります。<br>
            GMOペパボではデータ駆動によるマーケティングや意思決定の自動化を目指しており、そのためのデータ基盤を構築したと公表しています。<br>
            このデータ基盤におけるデータの加工や学習といったタスクの実行にCloud Composerを利用しているとのことです。<br>
            <br>
            <b>参考資料</b><br>
            <a href="https://speakerdeck.com/zaimy/inside-story-of-data-infrastructure-supporting-gmo-pepabos-services-and-r-and-d">GMOペパボのサービスと研究開発を支えるデータ基盤の裏側</a>
        </td>
    </tr>
    <tr>
        <td>電通デジタル</td>
        <td>
            広告代理店ということもあり、デジタル広告のプランニングツールの開発や広告配信実績データの可視化・予測データをクライアントに提供しているとのことです。<br>
            社内の複数のチームで独自のワークフロー（主にDigdag）を利用していたところを、デファクトのツールとしてAirflowを社内で広めていったそうです。<br>
            主に広告データの取得や加工といったタスクの実行管理に利用しており、AWSのFarget上にAirflowを立ち上げて利用しているみたいです。<br>
            <br>
            <b>参考資料</b><br>
            <a href="https://www.slideshare.net/potix2_jp/airflow-224004058?ref=https://shinjuku-geek-lounge.connpass.com/event/160725/presentation/">Airflowを広告データのワークフローエンジンとして運用してみた話</a><br>
            <a href="https://note.com/dd_techblog/n/nfcc531d7587a">Airflowのタスク実行環境を分離する</a>
        </td>
    </tr>
</table>

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

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

その他にも海外の事例ですが公式サイトの[Use cases](https://airflow.apache.org/use-cases/)にも事例がいくつか紹介されています。

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

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