如果使用得當,Airflow 可以成為企業級排程工具。它「在任何節點上執行任何命令」的能力令人驚艷。處理複雜的混合模式任務非常容易,並且使用 Celery worker 進行擴展非常強大。開源社群非常棒,我們可以協助診斷和偵錯自己的問題,並將這些貢獻回饋給更廣大的社群。

問題是什麼?
我們必須以多種方式將複雜的旗艦應用程式部署到多個節點。這需要任務在 Windows 節點之間進行通訊,並完美地協調時序。我們不想購買昂貴的企業級排程工具,並且需要極致的彈性。
Apache Airflow 如何協助解決這個問題?
最終我們認為,彈性、多節點、支援 DAG 的工具是關鍵,而 Airflow 是少數符合這些需求的工具之一。它基於開源和 Python 是支持我們核心原則的重要因素。當時,Airflow 缺少 Windows hook 和 operator,因此我們將 WinRM hook 和 operator 貢獻回饋給社群。 鑑於其靈活性,我們也使用 DAG 生成器來讓我們的元數據驅動 DAG,並降低維護成本。
結果是什麼?
我們擁有一個非常靈活的部署框架,使我們能夠盡可能地保持敏捷。只要我們正確地使用該工具,其可靠性是我們可以信任的。可擴展性也使我們能夠縮短在伺服器群上運作所需的時間。