AirFlowとは
今まで実は一度も触れることがなかったので、存在すらも知らなかったのですがバッチ処理を管理する仕組みのようです。
公式のページには、バッチ指向のワークフローを開発でき、スケジュール、監視する為のオープンプラットフォームだそうで
GUIも提供されており、直感的に使いやすい形で操作・管理できるのでインフラ関連の方には利便性高いのではないでしょうか?
pythonベースで構築されているので、pythonになじみがある方には更に操作しやすいでしょう。
DAGとは
DAGとはDAG (Directed Acyclic Graph) の略のことで、AirFlowのコアコンセプトだそうでタスクを纏めて管理し
依存関係と関係性に基づいてタスクの実行方法が指定できるそうです。
日本語にすると「有向非巡回グラフ」ということになります。
何のこと言っているのか分からんって思うかもしれませんが、要するに「バッチ処理」のことだと思ってくください。
イメージ的にはこんな感じ。
複雑な処理フローも作れて色々できるよって話なんですが、正直実業務の現場でそれをやられるとメンテナンスコスト増大を招いてしまい
現実的なところ、ようするに人間が直感的に理解できるレベルでの構築が望ましいかと思います。
手段が目的にならないようにするのが重要ということです。
管理画面
管理画面は、こんな感じです。
DAGという言葉に馴染みがないのであれですが直感的に分かりやすいかと思います。
日本人にとっては「バッチ一覧」と読み替えても差しさわりないでしょう。
国内でも色々なジョブ管理ツール製品もあると思いますが、その一つだと思ってください。
導入方法
私の環境ではDockerで導入しています。
この方法についてはをみてください。
それほど難しくはありませんがポート変更する時には色々罠があるので注意が必要です。