DX(デジタルトランスフォーメーション)を推進するうえで、データを効率よく扱うためのデータ統合は欠かせません。 統合のためのツール選びも重要です。そうした「統合ジョブ管理ツール」の領域はこれまでプロプライエタリー製品およびそれらをクラウドに対応させた製品が多く利用されてきましたが、現在この分野でもオープンソースソフトウエア(OSS)が使われるようになっています。
タスクの依存関係をベースとしたフロー定義が可能で、主要なクラウドプラットフォームとも連係しやすい「Apache Airflow」が注目されています。今回は「Google Cloud」や「Amazon Web Services(AWS)」といった主要クラウドでマネージドサービスとして提供されているApache Airflowを解説します。
なぜ統合ジョブ管理ツールが必要なのか
多くの場合、全てのデータが単一のシステムに保存されていることは少なく、その傾向はDXを必要とするような企業ほど顕著です。様々なクラウドサービスやSaaS(ソフトウエア・アズ・ア・サービス)が登場したことで、従来単一の基盤にのみ保存していたデータが外部と連係するようになりました。オリジナルのデータが外部に保存されている状態も珍しいことではありません。
データの依存関係が複雑になればなるほど、効率よくデータを扱うことが難しくなります。多くのクラウドサービスではデータにアクセスする際、時間がかかることはもちろん、データの転送にもコストが発生します。
データを一元的に参照できる環境を用意することによって、データを使用するユーザーは、異なるサービスやインフラストラクチャーからデータを取得する際に発生するコストや時間を意識する必要がなくなります。加えて複数のシステムを扱うことによる学習コストを削減できるため、新規に参画したユーザーが早い段階から効率的にデータを扱えるようになります。
データを統合する際にはジョブのスケジューリングやモニタリングだけではなく、データの処理や依存関係など多くの要素を考慮する必要があります。そこで検討したいのが統合ジョブ管理ツールの活用です。多くの統合ジョブ管理ツールでは前述の要素を網羅したものが多く存在します。
なかでもApache Airflowは大容量データの扱いを得意としています。加えてクラウドサービスやデータベース、「Apache Spark」や「Kubernetes」といった様々なOSSツールとの連係を前提にデザインされています。