Slide 1

Slide 1 text

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

Slide 2

Slide 2 text

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

Slide 3

Slide 3 text

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

Slide 4

Slide 4 text

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

Slide 5

Slide 5 text

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

Slide 6

Slide 6 text

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

Slide 7

Slide 7 text

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

Slide 8

Slide 8 text

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

Slide 9

Slide 9 text

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

Slide 10

Slide 10 text

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

Slide 11

Slide 11 text

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

Slide 12

Slide 12 text

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

Slide 13

Slide 13 text

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

Slide 14

Slide 14 text

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

Slide 15

Slide 15 text

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

Slide 16

Slide 16 text

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

Slide 17

Slide 17 text

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

Slide 18

Slide 18 text

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

Slide 19

Slide 19 text

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)

Slide 20

Slide 20 text

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

Slide 21

Slide 21 text

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

Slide 22

Slide 22 text

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

Slide 23

Slide 23 text

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

Slide 24

Slide 24 text

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