Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Multi-Cloud Gatewayでデータを統治せよ!/ Data Federation ...

Multi-Cloud Gatewayでデータを統治せよ!/ Data Federation with MCG

Takuya Utsunomiya

January 28, 2023
Tweet

More Decks by Takuya Utsunomiya

Other Decks in Technology

Transcript

  1. kind: HumanBeings metadata: name: 宇都宮 卓也(うつぼ) spec: group: レッドハット株式会社 title:

    ソリューションアーキテクト born: 大阪 age: 41歳 favorites: technology: ストレージ hobby: [“プロレス”, “麻雀”, “将棋”] drink: [“ワイン”, “ビール”, “無糖サワー”] annoyance: [“コレステロール”, “目が霞む”] うつぼ @japan_rook Japan Rook https://rook.connpass.com/ Cloud Native Data Community https://cndata.connpass.com/ https://www.redhat.com/ja/resource s/openshift-4-first-step-guide-step-t o-enterprise-kubernetes-ebook https://www.shoeisha.co.jp/ book/detail/9784798175027 $ whoami 2
  2. 3 Red Hatが目指すデータ連携 アプリケーションとデータの結合を切り離し、可動性を向上させる。 ( “Data Gravity” の除去) “Data Access

    from anywhere to anywhere. Applications can write data from anywhere to anywhere” データが存在する場所以外でも、アプリケーションが稼働できるようなインターフェー スを備える。 クラウド、エッジからコアまでのアプリケーション間で、ハイブリッドクラウド上でのデー タ移動とレプリケーションによるデータ共有を促進する。
  3. 5 共有ストレージ型のファイル統合の懸念点 共有ストレージ コピー 各システムから共有ストレージへの転送 • 転送によるネットワーク速度・負荷 • 拠点がクラウドの場合の egressコスト

    リアルタイムな統合 • システム同士で持つデータは互いに共有ストレージに入るまで不明 • 最新データ反映までの待ち時間 各システムでのファイルのライフサイクル管理 • 共有ストレージへの転送スケジュールと保持期間 • 拠点と共有ストレージとでデータが重複 システム間で “仮想的” にファイル統合
  4. Multi-Cloud Gateway (MCG) 6 • オブジェクトストレージを統合して管理する機能 • Red Hat OpenShift

    Data Foundation の一部として提供 • OSSプロジェクトの NooBaa がベース アプリ 仮想バケット アプリ アプリ 仮想バケット Amazon S3 アプリ エンドポイント Google Cloud Storage Azure Blob Storage IBM Cloud Object Storage S3-compatible Storage Multi-Cloud Gateway S3 S3 S3 S3
  5. Red Hat OpenShift Data Foundation 7 • プラットフォーム不問 ◦ いかなるプラットフォームでも全く同じストレージを提供

    • 幅広いユースケースに対応 ◦ Block, File, Objectの全てのストレージを提供 • 自律的な運用保守 ◦ インストールや拡張/アップグレード、障害発生時の復旧などの運用保守を 自動化し、運用負荷の低いストレージ環境を提供 • OpenShiftの機能との統合/連携 ◦ OpenShiftと統合されたダッシュボード ◦ OpenShiftのクラスタサービスの利用 (Logging, Monitoring, etc) • 高信頼性 ◦ 実績豊富なRed Hat Ceph Storageに基づく耐障害性 ◦ 既存のRed Hat Ceph Storageの統合利用 Persistent Volumeを提供 ユーザ アプリケーション クラスタ サービス 併用可能 他の ストレージ OpenShiftのために用意された最適なストレージ Logging Monitoring Registry
  6. 幅広いユースケースに対応 8 • データベースなどトランザクション系アプリ ケーション • 低レイテンシ • IOPS志向 Persistent

    Volume • POSIX互換ファイルシステム • レガシーシステムとの連携 • CI/CDパイプライン • AI/MLデータ統合 • メッセージング 共有ファイルシステム (ReadWriteMany PV) ブロックストレージ (ReadWriteOnce PV) • メディアデータ • AI/ML学習データ • 医療データ • アーカイブ、バックアップ • 広帯域パフォーマンス • オブジェクトAPI (S3 API/Blob REST API) オブジェクトストレージ Object Bucket 大半の用途には対応できる万能ストレージ
  7. 9 MCGが提供する2種類のBucket App Data Bucket Namespace Bucket MCG Data Bucket

    Data Bucket Backing Store Backing Store App MCG Namespace Bucket Namespace Bucket Namespace Store Namespace Store 暗号化 Transparent endpoint endpoint 重複排除/圧縮
  8. Data Bucket Data Bucket • MCGで標準的に使われるBucket • Backing StoreというバックエンドのBucket(or PVC)から作成

    する ◦ Data Bucketに書かれたデータはリアルタイムに Backing Storeに書かれる ◦ Backing Storeは複数のData Bucketで共有することもできる • Backing Storeに書かれるデータはinlineで重複排除・圧縮・暗 号化される ◦ Backing StoreのBucketから直接は読めない • 複数のBacking Storeを指定できる ◦ Spread Bucket ◦ Mirror Bucket ◦ Tiering App MCG Data Bucket Data Bucket endpoint Backing Store Backing Store 10 暗号化 重複排除/圧縮
  9. Namespace(NS) Bucket • 既存のBucketをMCGで透過的に利用するBucket • Namespace Store(NSS)というバックエンドのBucketから作成 する ◦ NS

    Bucketに書かれたデータはリアルタイムに NSSに書かれ る ◦ NSSのBucketを透過的に見せるため、 初めからNSSの Bucketに置かれているデータは、 NS Bucketからも読むこと ができる • 圧縮・重複排除・暗号化は行われない ◦ NSSのBucketに直接は読み書きできる • 複数のNSSを指定できる ◦ Multi NSS : 1つ以上のNSSから読み込み & 1つのNSSに書き 込み Namespace Bucket App MCG Namespace Bucket Namespace Bucket Transparent endpoint Namespace Store Namespace Store 11
  10. Data Bucket と Namespace Bucket の特徴 Namespace Bucket Data Bucket

    Data Bucket Namespace Bucket Store & Manage Read/Writeどちらも • データは複数のバックエンドに Spreadされたり、Mirrorさ れたりする。 単一のエンドポイント - No Siloes • アプリケーションに、すべてのバックエンドストレージにわ たる、単一のエンドポイントを提供する。 ティアリング • 複数のレイヤーでMirror/Spreadを組み合わせて、データ の冗長化および保存効率を上げる。 View Read中心 • データは複数のバックエンドから要求に応じて読み込まれ る。 単一のエンドポイント - No Siloes • アプリケーションに、全てのバックエンドストレージにわた る、単一のエンドポイントを提供する。 集約 • バックエンドのデータに手を加えずに集約する。 12
  11. MCG管理下のバケット間での分散 13 仮想バケット アプリ A アプリ B エンドポイント S3-compatible Storage

    Multi-Cloud Gateway Amazon S3 Google Cloud Storage Azure Blob Storage data A1 data A2 data B1 data B2 data A1 data A2 data B1 data B2 暗号化 重複排除/圧縮 • アプリが格納するデータは、自動的に複数のバケット に分散される。 • アプリがデータを読み込む際は、どのバケットにデータ があるのかを意識する必要はなく、単一のバケットに あるようにアクセスできる。 Data Bucket
  12. MCG管理下のバケット間での冗長化 14 仮想バケット アプリ A アプリ B エンドポイント S3-compatible Storage

    Multi-Cloud Gateway Amazon S3 Google Cloud Storage Azure Blob Storage data A1 data B1 data A1 data A1 data B1 暗号化 重複排除/圧縮 data B1 data B1 • アプリが格納するデータが、複数のバケットに冗長化さ れて保存される。 • アプリがデータを参照する際は、いずれかのバケットか らデータを読み込めればよいため、もしいずれかのオ ブジェクトストアで障害が発生していても、アプリが意 識することはない。 Data Bucket
  13. 既存のバケットの仮想的な統合 15 仮想バケット アプリ A エンドポイント S3-compatible Storage Multi-Cloud Gateway

    Amazon S3 Google Cloud Storage Azure Blob Storage data X1 data X2 data X3 data X4 • 複数の既存バケットを仮想的に統合し、各々のバケッ トが持つデータを仮想バケットに集約する。 • アプリは全てのデータがあたかも 1つのバケットにある かのように参照できる。 data X1 data X2 data X4 data X3 Namespace Bucket
  14. MCG MCGの機能 16 App App • 複数のバケットの一元管理 ◦ アプリケーションに単一のアクセスエンドポイントと、管理下の バケットをまとめた仮想バケットを提供する。

    • 重複排除、圧縮、暗号化 ◦ 管理下のバケットに書き込む際に、インラインで重複排除、圧 縮、暗号化の処理を行う。 • 管理下のバケット間での分散、冗長化 ◦ 管理下のバケットをまたいでオブジェクトを分散したり、冗長化 したりできる。冗長性は自由に設定できる。 App MCG App MCG App endpoint Data Bucket Namespace Bucket Data Bucket Data Bucket
  15. MCGの機能 17 • 既存のバケットの仮想的な統合 ◦ 既存バケットを仮想的に統合し、各々のバケットが持つデータ を仮想バケットに集約できる。 • Persistent Volume(永続ボリューム)をオブジェクトスト

    レージとして利用 ◦ Persistent Volumeに仮想バケットを作成し、オブジェクトスト レージとして利用できる。 • 既存ファイルシステムへのオブジェクトアクセス ◦ 既存ファイルシステムのファイルをオブジェクトとして読み書き できる。 MCG App A B C A B C MCG App Persistent Volume MCG App A B C A B C Filesystem Persistent Volume Namespace Bucket Namespace Bucket Data Bucket
  16. MCG MCGの機能 18 • バケットレプリケーション ◦ 仮想バケット間でオブジェクトのレプリケーションを実行できる。 • ローカルキャッシング ◦

    仮想バケットで読み込んだオブジェクトを、一時的にローカル のバケットにキャッシュできる。 ◦ キャッシュされているオブジェクトはそこから読み込むことがで きる。 App A A A A A MCG App A A A A Replication Cache Data Bucket Namespace Bucket Data Bucket Namespace Bucket
  17. 19 Provisioner Bucket Class Object Bucket App Namespace Object Bucket

    Claim ユーザー Data Bucket/ Namespace Bucket OBC作成 (BC指定) API Bind MCG Backing Store/ Namespace Store App endpoint • Persistent Volumeの仕組みと同様に、セルフサービスで仮想バケットを使えるようにする MCG独自の仕組み • Bucket Class ◦ バックエンドのBacking Store/Namespace Storeに紐づく。 • Object Bucket Class (OBC) ◦ ユーザがBucket Classを指定して作成すると、作成された DataBucket/NS BucketをObject BucketとしてOBCにBindしてユー ザーに提供する。 Bucket ClassとObject Bucket Claim(OBC)
  18. デモ 20 仮想バケット S3 Browser エンドポイント Multi-Cloud Gateway Amazon S3

    Azure Blob Storage awsfile01 awsfile02 azure file01 azure file02 awsfile01 awsfile02 azure file01 azure file02
  19. Fieldbus Device Level IoT Edge Framework - API access to

    hardware interfaces - field protocols ( Modbus, OPC-UA, S7) Sensor Simulator Sensor Simulator Messaging Consumer IoT Dashboard MQTT Rec Anomaly Detection [Seldon Core] Mirror Maker App Development [OpenShift DevSpaces, OpenShift Pipelines, OpenShift GitOps] Data Lake [ODF] https://redhat.highspot.com/items/61a8c79a8b7e3f1a256a6659#7 ML Model Training エッジ/クラウド連携 - Industrial Edge MQTT 工場 データセンタ Advanced Cluster Management 22 Kafka Camel-K Kafka Integration Topic Mirror データを管理
  20. Multi-Cloud Gateway (MCG) 23 • オブジェクトストレージを統合して管理する機能 • Red Hat OpenShift

    Data Foundation の一部として提供 • OSSプロジェクトの NooBaa がベース アプリ 仮想バケット アプリ アプリ 仮想バケット Amazon S3 アプリ エンドポイント Google Cloud Storage Azure Blob Storage IBM Cloud Object Storage S3-compatible Storage Multi-Cloud Gateway S3 S3 S3 S3
  21. linkedin.com/company/red-hat youtube.com/user/RedHatVideos facebook.com/redhatinc twitter.com/RedHat 24 Red Hat is the world’s

    leading provider of enterprise open source software solutions. Award-winning support, training, and consulting services make Red Hat a trusted adviser to the Fortune 500. Thank you