マルチクラウドのデータ連携・統合をETLで実現 [手動バッチからの脱却]
マルチクラウドとは、アマゾンが提供する「AWS(Amazon Web Services)」やグーグルが提供する「Google Cloud」などのクラウド基盤を組み合わせて、最適な環境を実現していく運用方法です。マルチクラウドを実現することで、データ連携や統合が可能となってデータ活用が進んでいきます。
しかし、企業ではオンプレでシステムを運用しているケースが未だに多く、マルチクラウドの実現まで至っていないのが現状です。その結果、クラウド基盤とオンプレ基盤の間をバッチによって繋いでいるケースが多くなり、運用コストが高まってしまいます。
本記事では、システム運用基盤の分散によってシステム間を手動バッチで連携している企業の方へ向けて、ETLツールを活用した新たなデータ基盤の考え方である「DataOps」について解説します。
目次
分散するデータを連携・統合させているのは「手動バッチ」?
多くの企業では、クラウドとオンプレミスを併用してシステムやデータ運用をし、これらのシステム間の連携のために「手動バッチ」(各社で個別に作成するバッチ処理用プログラム)を利用しています。
なお、「クラウド」には、AWSやGoogle CloudなどのIaaSやPaaSだけではなく、SalesforceやMarketo、SansanといったSaaS(Software as a Service)も加わってきます。
手動バッチを用いた運用は以下のようなものとなります。
- 自社独自のシステムをIaaSやPaaS上に構築し、SaaSからのデータ抽出やオンプレミスのシステムのデータを連携するためのバッチを作成・運用し、夜間などを用いて日々の集計業務やレポーティング業務を行う。
手動バッチは、エンジニアが1名いれば、情報を調べながら作成できるという点、またエンジニアの人件費以外の費用(サービス利用料)がかからないというメリットがあります。しかし、データソース側の変更に伴って発生する修正対応や、データ増大時のバッチパフォーマンス劣化に対する対応など、継続して利用する場合にかかる工数は大きくなります。また、バッチプログラム自体がブラックボックス化し、担当していたエンジニアが休職・退職した場合に継続した利用が難しくなるといったリスクもあります。
こうしたリスクを回避するため、現在では「DevOps」をデータ分野において適用する「DataOps」という言葉が出ています。
目指すべきは「DevOps」に基づく「DataOps」
DevOpsとは、システムを開発する担当者(Dev)と運用する担当者(Op)がスムーズに連携しながら一つのサービスを作り上げていく運用形態を意味します。
DevOpsが登場した背景として、開発と運用の分断があります。これまで、サービス開発側はシステムの機能追加や改修を重視し、運用側はシステムを停止させずに安定稼働を目的とすることをそれぞれ目指していました。結果、多くの組織において、開発側とインフラ側が一体となった全体の最適化が実現しないという問題が発生しました。
DevOpsは、途中で発生する方向性のズレを防止するために「組織サイロ化の削減」「一定程度のエラー許容」「計画的な変更」「ツールや自動化の活用」「あらゆるデータの収集」といった5つの要素が必要とされています。
組織サイロ化とは開発側と運用側が独立しており、情報の連携がうまくできていない状態を意味します。DevOpsでは、組織のサイロ化を防止するために情報共有をスムーズに行うのが大切です。
システム開発では要件定義を詳細に実施していきますが、ほとんどのケースで設計通りにいかないものです。そのため、一定程度のエラーを許容するのを前提として取り組んでいく必要があります。
計画的な変更とは、システム開発や運用をしているときに発生する仕様変更について、変更に伴うエラーの考慮や段階的に進めることを重視する考え方です。例えば、システムの画面変更が生じたときに、いきなり本番環境でアップロードするのではなく、テスト環境を活用してあらゆるリスクに対応できる状況を作っておくなどがあげられます。
開発や運用の効率化を実現するためには、ツールや自動化の活用が欠かせません。特に、人的ミスが発生しやすい部分については、プログラムによる自動化を活用していくのが効果的です。
あらゆるデータとは、システム運用で出力されるログやエラー検知などを指しており、こうしたデータを活用できるように数値化するのが重要です。
ここまで解説したDevOpsの思想に基づいてデータ基盤を最適化するのが「DataOps」です。2022年時点では、日本においてDataOpsはまだ聞きなれない言葉ですが、アメリカでは書籍の刊行やDataOpsを積極的に推進する企業が創業されるなど、大きな注目を集めています。
企業でDataOpsに取り組むことで、組織内のデータ基盤が整理されて効率的にデータ連携や統合を図っていけます。さらに、データソースが各クラウド基盤やオンプレに分散していたとしても、データ統合や連携が自動化され、データ処理にかかる工数の削減や正確性の向上につながるでしょう。
DataOpsを支えるのはETL
DataOps、特にデータ統合を実現するためのプロセスとして、ETLツールの利用は欠かすことができません。ETLとは「Extract(抽出)/Transform(変換)/Load(格納)」の略で、組織におけるデータ連携と統合の中核を担うものです。
具体的には、ETLツールによって組織内で点在しているデータソースを一箇所に集約し、その後、集約したデータソースをBIツールなどを使ってユーザー自身が自由に情報取得をしていくのです。
しかし、どのETLツールを選ぶべきか悩む企業の方も多いでしょう。当社の「Reckoner」は、非エンジニアのユーザー自身が簡単に操作できるETLツールのため、必要なデータをいつでも「抽出・変換・格納」できます。
そのため、情報システム部門だけではなく、業務部門自らがデータへのアクセスが可能となり、手動バッチも不要となります。業務部門自身がデータアクセスをしていくことにより、データの意味を正しく理解しながら統合を図っていけるため、データの鮮度・分析力・意思決定力が向上して企業の成長に繋がるでしょう。
ETLツールでデータ連携や統合を進めていきたい企業様は、ぜひ一度お問い合わせください。
ETLツールについて詳しく知りたい、ETLツールの選び方を知りたいという方はこちらの「ETLツールとは?選び方やメリットを解説」をぜひご覧ください。