2015 年,Airbnb 發展迅速,數據量大幅提升,每天必須管理數個資料流來完成自動化,數據管控遇到困難,當時身為 Airbnb 的資料工程師 Maxime Beauchemin 開發出了 Airflow。
(修但幾勒~遇到困難還能先開發出一個產品! 通常卡住在台灣只有 workaround 和 stackoverflow 吧~果然大神思考就是不一樣)
2016 年 4 月 Airflow 專案加入(捐給)官方 Apache 基金會(Apache Software Foundation,ASF),進入 Apache 孵化器(Apache Incubator),2019 年成為頂級專案(Top-Level Project,TLP)從 Apache 孵化器光榮畢業,從此 Airflow 就改名為 Apache Airflow,截至 2023 年 9 月,共有 21.4k commits 和 31.7k stars。
為什麼 Airbnb 自己工程師開發的產品 Airflow 不自己維護要給 Apache,這樣不是很浪費嗎,通常是因為這不是他們主要謀生的商業模式,把他捐出來變成開源,反而對這項專案更好,Airbnb 可能沒有成本去長期維護。
Ref: Airflow 維護者 TP 訪談 Podcast
目前 Airflow 主要維護的公司就是 Astronomer,因為 Airflow 是開源的所以也沒辦法從中獲利,Astronomer 的方式就是能讓大家更簡單的使用 Airflow,我們如果要自己架設環境,可能要開一個雲端的虛擬機 (Virtual Machine),在 Google 的 GCP上可能就是 Compute Engine,Amazon 的 AWS 上可能就是 EC2,但 Astronomer 就讓你在他們平台就能一鍵架設,後續維護和開發都能在他們平台操作。
最近查一查也有發現 Amazon 有推出 MWAA (Managed Workflows for Apache Airflow),好像也能讓 Airflow 架設和維護更簡單,如果時間允許,希望能在 30 天後期的 deploy 部分提到。
在查資訊的時候常常會有這個字,Data Orchestration,代表資料協作、資料編排,也可以說 Airflow 是資料協調管理工具,但聽完應該還是很模糊吧,我覺得上面 Podcast 提到的樂團指揮或是餐廳主廚的舉例就好懂很多。
廢話太多,明天能不能趕快開始實作啊啊啊啊~