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

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

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

Takuya Utsunomiya

January 28, 2023
Tweet

More Decks by Takuya Utsunomiya

Other Decks in Technology

Transcript

  1. OpenShift.Run 2023
    Multi-Cloud Gatewayでデータを統治せよ!
    レッドハット株式会社
    ソリューションアーキテクト
    宇都宮 卓也 (うつぼ)
    1

    View Slide

  2. 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

    View Slide

  3. 3
    Red Hatが目指すデータ連携
    アプリケーションとデータの結合を切り離し、可動性を向上させる。
    ( “Data Gravity” の除去)
    “Data Access from anywhere to anywhere.
    Applications can write data from anywhere to anywhere”
    データが存在する場所以外でも、アプリケーションが稼働できるようなインターフェー
    スを備える。
    クラウド、エッジからコアまでのアプリケーション間で、ハイブリッドクラウド上でのデー
    タ移動とレプリケーションによるデータ共有を促進する。

    View Slide

  4. 4
    Federating data files
    ファイルデータの
    フェデレーション

    View Slide

  5. 5
    共有ストレージ型のファイル統合の懸念点
    共有ストレージ
    コピー
    各システムから共有ストレージへの転送
    ● 転送によるネットワーク速度・負荷
    ● 拠点がクラウドの場合の egressコスト
    リアルタイムな統合
    ● システム同士で持つデータは互いに共有ストレージに入るまで不明
    ● 最新データ反映までの待ち時間
    各システムでのファイルのライフサイクル管理
    ● 共有ストレージへの転送スケジュールと保持期間
    ● 拠点と共有ストレージとでデータが重複
    システム間で “仮想的” にファイル統合

    View Slide

  6. 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

    View Slide

  7. 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

    View Slide

  8. 幅広いユースケースに対応
    8
    ● データベースなどトランザクション系アプリ
    ケーション
    ● 低レイテンシ
    ● IOPS志向
    Persistent Volume
    ● POSIX互換ファイルシステム
    ● レガシーシステムとの連携
    ● CI/CDパイプライン
    ● AI/MLデータ統合
    ● メッセージング
    共有ファイルシステム
    (ReadWriteMany PV)
    ブロックストレージ
    (ReadWriteOnce PV)
    ● メディアデータ
    ● AI/ML学習データ
    ● 医療データ
    ● アーカイブ、バックアップ
    ● 広帯域パフォーマンス
    ● オブジェクトAPI (S3 API/Blob REST
    API)
    オブジェクトストレージ
    Object Bucket
    大半の用途には対応できる万能ストレージ

    View Slide

  9. 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
    重複排除/圧縮

    View Slide

  10. 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
    暗号化
    重複排除/圧縮

    View Slide

  11. 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

    View Slide

  12. 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

    View Slide

  13. 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

    View Slide

  14. 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

    View Slide

  15. 既存のバケットの仮想的な統合
    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

    View Slide

  16. MCG
    MCGの機能
    16
    App App
    ● 複数のバケットの一元管理
    ○ アプリケーションに単一のアクセスエンドポイントと、管理下の
    バケットをまとめた仮想バケットを提供する。
    ● 重複排除、圧縮、暗号化
    ○ 管理下のバケットに書き込む際に、インラインで重複排除、圧
    縮、暗号化の処理を行う。
    ● 管理下のバケット間での分散、冗長化
    ○ 管理下のバケットをまたいでオブジェクトを分散したり、冗長化
    したりできる。冗長性は自由に設定できる。
    App
    MCG
    App
    MCG
    App
    endpoint
    Data Bucket Namespace Bucket
    Data Bucket
    Data Bucket

    View Slide

  17. 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

    View Slide

  18. 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

    View Slide

  19. 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)

    View Slide

  20. デモ
    20
    仮想バケット
    S3
    Browser
    エンドポイント
    Multi-Cloud
    Gateway
    Amazon S3 Azure Blob Storage
    awsfile01 awsfile02
    azure
    file01
    azure
    file02
    awsfile01 awsfile02
    azure
    file01
    azure
    file02

    View Slide

  21. データレイクとしてMCGを利用
    21
    Multi-Cloud
    Gateway
    イベントアーカイブ用
    バケット
    ローデータ用バケット
    (仮想統合)
    ローデータ
    エンドポイント
    エンドポイント
    Streams

    View Slide

  22. 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
    データを管理

    View Slide

  23. 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

    View Slide

  24. 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

    View Slide