数ヶ月前、UberはGoogle Cloud Platform(GCP)上でバッチデータ分析と機械学習プラットフォームのクラウドへの移行を開始した。最近のエンジニアリング・ブログへの投稿で、Uberは重要なデータ・メッシュの原則を取り入れたバッチ・データのクラウド移行に関する追加情報を提供した。
Uberのバッチデータプラットフォームは、同社のデータインフラの重要な要素であり、データサイエンティスト、エンジニア、都市運営スタッフ、ビジネスアナリストを含む10,000人以上の社内ユーザーをサポートしている。このシステムは、Apache Hadoop分散ファイルシステム(HDFS)に保存された約1.5エクサバイトのデータを2つのオンプレミスリージョンで管理し、毎日50万以上のPrestoクエリーと37万以上のApache Sparkアプリケーションを処理している。スケーラビリティを強化し、オペレーションを合理化するために、UberはバッチデータプラットフォームをGoogle Cloud GCPに移行している。この移行では、UberのデータレイクにGoogle Cloud Storage(GCS)を活用する一方、残りのインフラをクラウドベースのInfrastructure as a Service(IaaS)に移行する。
クラウドへの移行は、特にクラウドプロバイダーが課すストレージとIDとIAM(Identity and Access Management)の制限に関する課題がないわけではない。Uberの主な検討事項の1つは、利用可能なリソースを過不足なく利用することなく、HDFSファイルをGCSバケットに効率的にマッピングすることである。さらに、Uberはストレージ階層内でアクセス制御を適切に適用し、ユーザー権限を不必要に昇格させることなくシステムの安全性を確保しなければならない。この移行は、セキュリティグループの統合とデータ所有権の分散化によってシステムを強化する機会でもある。新しいモデルでは、特定の組織に属するデータは組織固有のバケットに保存され、データの所有権とアクセス制御がより明確に区別される。
セキュリティとガバナンスは、移行全体を通じて中心的な関心事となっている。目標は、データの使用目的とライフサイクルに基づいてデータをマッピングし、適切なアクセス制御が適用されるように分類することである。組織内で広く使用される重要なデータセットは、オープンアクセスで専用のバケットに保存され、重要度の低いデータは、アクセス制限とライフサイクル管理ポリシーで個別に保存される。さらに、移行によってインフラストラクチャのセットアップが自動化され、テスト環境、ステージング環境、本番環境の迅速なプロビジョニングが可能になる。この自動化により、新しいデータ分析ユースケースのスピードアップが可能になり、複数のリージョンで災害復旧シナリオに備えることができる。
この大規模なシフトを促進するために、UberはDataMeshと呼ばれるサービスを開発した。DataMeshは、クラウドインフラストラクチャを抽象化し管理するように設計されている。DataMeshは、データメッシュの原則に基づきデータリソースを整理し、分散化されたデータ所有権とドメイン固有の制御に焦点を当てる。このサービスは、データとクラウド・リソースの照合を自動化し、Uberの内部リポジトリから情報を引き出すことで、データが正しくラベル付けされ、保護され、監視されていることを保証する。DataMeshプラットフォームは、HDFSのパスと対応するクラウドベースのパスのマッピングも管理し、ユーザーにとって可能な限りシームレスな移行を実現し、既存のワークフローの中断を防いでいる。
DataMeshのコンポーネントと階層の論理ビュー。
Uberが移行プロセスで直面した重要な課題の1つは、データ所有者の変更とGCSによって設定された制限に対応する必要性である。データ所有権の変更は、チームの再編成やユーザーのアセット再割り当てによって発生する可能性がある。これに対処するため、Uberは必要に応じて所有権を監視し、再割り当てする自動化プロセスを導入し、データが安全に保存・管理されるようにした。さらに、Uberは、GCSのストレージの限界にぶつからないようにデータ分散を最適化し、使用頻度の高いテーブルをそれぞれのバケットに分離することで、パフォーマンスを向上させ、モニタリングを容易にした。
実社会におけるデータ・メッシュの実装例としては、他にも以下のようなものがある。
-
Gilead Sciences: データ・メッシュ・アーキテクチャを開発したバイオ製薬会社。この導入は、データに裏打ちされた新しい組織と業務モデルを構築し、Gilead社がクラウド・トランスフォーメーション・イニシアチブを行えるようにすることを目的としていた。データ・メッシュ・アプローチにより、ギリアド社はデータを製品として管理し、クラウドファーストのアーキテクチャを採用できた。
-
Saxo Bank:金融サービス企業。データ所有権とガバナンスの分散化を目的としたプロジェクトにデータメッシュを導入し、ドメインチームがデータ製品を管理し、ビジネスにリアルタイムの洞察を提供できるようにした。
将来を見据え、Uberはデータ・メッシュの原則の利用をさらに拡大し、自己管理型のデータ・ドメインを可能にするプラットフォームを構築することを目指している。これにより、インフラ管理が簡素化され、データガバナンスが強化され、最終的には、より俊敏で、安全で、コスト効率の高いデータエコシステムが構築される。Uberのバッチデータプラットフォームのクラウド移行は重要な事業だが、綿密な計画とDataMeshのような革新的なツールの開発を通じて、Uberはクラウドでのスケーラビリティ、セキュリティ、運用効率の向上を目指している。