クラウドネイティブ ストレージ システムはどのような条件を満たす必要がありますか?

クラウドネイティブ ストレージ システムはどのような条件を満たす必要がありますか?

2019年にテクノロジー業界では「クラウドネイティブ」という言葉が広く使われていましたが、この言葉には特に明確な定義はありませんでした。主な混乱は、「クラウド ネイティブ」はアプリケーションがデプロイされる環境とはほとんど関係がなく、この用語がプライベート クラウドとパブリック クラウドに同様に適用されることです。この用語は、アプリケーションとアーキテクチャの特性を指します。

Cloud Native Computing Foundation (CNCF) によるこの用語の最新の定義には、いくつかの関連情報が記載されています。

クラウド ネイティブ テクノロジーにより、組織はパブリック クラウド、プライベート クラウド、ハイブリッド クラウドなどの最新の動的環境でスケーラブルなアプリケーションを構築および実行できるようになります。コンテナ、サービス メッシュ、マイクロサービス、不変のインフラストラクチャ、宣言型 API などがこのアプローチの例です。

これらの技術により、疎結合システムの回復力、管理性、監視性が高まります。強力な自動化機能と組み合わせることで、エンジニアは最小限の労力で、頻繁かつ予測可能な方法で重要な変更を加えることができます。

では、ストレージがクラウド ネイティブであるということはどういう意味でしょうか?つまり、クラウド ネイティブ エコシステム内の他のすべてと同じように、動的な API 駆動型の方法で動作する必要があります。ストレージ システムがクラウド ネイティブであるかどうかを判断するための関連するメトリックが 2 つあります。

  • Kubernetes 用に構築されていますか?
  • Amazon の S3 API と互換性がありますか?

以下では、これらの指標をさらに詳しく解釈します。

クラウドネイティブストレージはオブジェクトストレージです

最新のアプリケーション アーキテクチャはオブジェクト ストレージに基づいており、デフォルトでは S3 がクラウドの API 言語です。オブジェクト ストレージは、クラウド ネイティブ アプリケーションによって生成される大量のデータを処理できるように設計された唯一のストレージ タイプであり、企業が負担できる価格とユーザーが期待する速度で処理できるため、現代のストレージの主流となっています。オブジェクト ストレージのその他の特性としては、ブロック ファイル ストレージ システムと比較して、優れた分散特性、優れた回復力、高い可用性などが挙げられます。

これらはすべて、クラウド ネイティブ アプリケーションに望ましい特性です。

Amazon S3 API はオブジェクト ストレージの事実上の標準であり、すべてのオブジェクト ストレージ ソフトウェア ベンダーは S3 API と互換性があると主張しています。 AWS S3 は実際にはバイナリ互換性があります。すべてのシナリオに適用されるか、すべてのシナリオに適用されないかのどちらかです。

つまり、S3 API は、考えも及ばないような極端なケースも含め、基本的にほとんどのシナリオに対応できます。これはオープンソース ソフトウェアが大きな利点を持つ分​​野です。アプリケーション、オペレーティング システム、ハードウェア アーキテクチャの規模と多様性を考慮すると、ほとんどのエッジ ケースに対応しており、それらに適していることがわかります。

アプリ作成者にとっては、これらのベンダーに対してアプリをテストする必要があるため、これは重要です。オープンソースを使用すると、ベンダーのソリューションを簡単に評価およびテストでき、テストに合格すればクラウドネイティブである可能性が高くなります。そうでなければ、いいえ。

Kubernetes向けに設計

「クラウド ネイティブ」であるための 2 番目の基準は、外部のコンテナ オーケストレーション プラットフォームを活用する分散アーキテクチャを使用することです。つまり、アーキテクチャは Kubernetes 対応である必要があります。 Kubernetes は、コンテナ オーケストレーションに関してはすでに業界の明確な勝者であるため、Kubernetes と連携するように構築することは、クラウド ネイティブと見なされるストレージ ソリューションを実現するために不可欠です。

ストレージが Kubernetes 対応であるというのはどういう意味ですか?主な基準は 6 つあると考えています。

1. Kubernetesでストレージノードをオーケストレーションする

Kubernetes は、コンピューティングとストレージの両方のオーケストレーションを処理できる強力なオーケストレーターです。 MinIO のような真のクラウドネイティブ ストレージ ソリューションは Kubernetes と統合されており、オペレーターは Kubernetes インターフェースを使用してストレージを管理できます。一方、Kubernetes はストレージのプロビジョニングからボリュームの配置まですべてを処理します。

2. マルチテナント

マルチテナントにより、複数の顧客がアプリケーションの単一インスタンスを使用できるようになります。また、適切に実装されていれば、特に大規模な場合、運用オーバーヘッド、コスト、複雑さを軽減できます。ただし、複数のユーザーが他のユーザーに影響を与えることなくコンピューティング リソースやストレージ リソースにアクセスできるように、厳密なリソース分離も必要です。真のクラウドネイティブ ストレージ ソリューションは、マルチテナント アーキテクチャのセキュリティ、高可用性、高パフォーマンスを保証するために十分なリソース分離を提供します。

オブジェクト ストレージの世界では、これは Kubernetes インフラストラクチャがストレージ テナントを分離して管理する必要があることを意味します。 Kubernetes がインフラストラクチャを管理しない場合は、真のクラウドネイティブ プラットフォームとは言えません。これにより、CSI またはオペレータ統合機能を備えた機器ベンダーは不適格となります。

3. 軽量

ストレージ システムが非常に軽量で、アプリケーション スタックとパッケージ化できない限り、マルチテナントは不可能です。ストレージ システムが占有するリソースが多すぎたり、含まれる API が多すぎると、同じインフラストラクチャ上に多数のテナントを配置できなくなります。

4. スケーラビリティ

スケーラビリティは、クラウド ネイティブ システムの重要な属性の 1 つです。 Kubernetes の利点の 1 つは、大規模に実証されていることです。 Kubernetes はストレージのスケーリングの管理にも使用できますが、基盤となるストレージ システムが Kubernetes と統合され、ストレージのプロビジョニングとプロビジョニング解除の機能が Kubernetes に引き渡されている場合に限られます。

5. API駆動

Kubernetes およびクラウドネイティブ システム全般の基本原則の 1 つは、自動化を通じて可能な限り管理することです。ストレージ システムを真にクラウド ネイティブにするには、API を介して Kubernetes と統合し、動的な API 駆動型のオーケストレーションを可能にする必要があります。

6. ユーザースペース

最後の考慮はおそらく最も難しいでしょう。オブジェクト ストレージ ソリューションをクラウド ネイティブにするには、カーネルに依存せずに完全にユーザー空間で実行する必要があります。これは、ほとんどのオブジェクト ストレージ システム (特にハードウェア アプライアンス) が構築される方法ではありません。ただし、ストレージをコンテナ化して任意の Kubernetes クラスターにデプロイする場合は、これらの制限に従う必要があります。定義上、これはカーネルのパッチ適用を必要とするソリューションや特殊なハードウェアを備えたソリューションはクラウドネイティブではないことを意味します。

結論は

「クラウド ネイティブ」ステータスを要求するこれら 2 つの基準は、ある程度は単純ですが、実際には非常に困難です。パブリック クラウド オブジェクト ストレージ ベンダーは、これらの脅威にうまく対処してきました。確かに、Google が Kubernetes のソースであり、Amazon が S3 のソースであるなら、そうすることが期待されます。プライベート クラウド オブジェクト ストレージ ベンダーがこれらのテストに合格するのは、はるかに困難です。 S3 と互換性があると主張する人もいますが、詳しく調べてみるとそうではないことがわかります。ほとんどの従来のベンダーにとって、Kubernetes は単純に彼らの遺伝子の中に存在せず、多くの場合、計画の中にさえ存在しません。ここには多くの困難があるからです。

MinIO はクラウドネイティブ ワークロード専用に構築されており、Kubernetes を念頭に置き、Kubernetes の方法に従って設計されています。 MinIO は S3 と互換性がありますが、Google、Azure、プライベート クラウドでも使用できるため、マルチクラウドやハイブリッド クラウドが可能になります。

高性能なクラウドネイティブ オブジェクト ストレージは、クラウドネイティブ アプリケーションに必要なパフォーマンス、信頼性、スケーラビリティを実現する唯一の方法です。

<<:  分散スケジュールタスクの弾性ジョブのジョブシャーディング戦略について話しましょう

>>:  1 つの記事で DevOps を理解します。それでも分からないなら殴ってみろ

推薦する

個人開発者の生活実態調査:埋め込み広告に頼る傾向が強い

さまざまなモバイル アプリケーション開発者の圧倒的な富の創造神話の背後には、この大規模なモバイル ア...

Redis 分散ロックの原理がまだわかりませんか?早く学んでみませんか?

[[321595]]学校で小さなプロジェクトに取り組んでいたとき、Redis を使用していましたが、...

ステーションBの課題

若者を虜にする者に未来はある。 01 Bilibiliは非常に人気があります、本当に人気があります。...

テンセントが電子商取引企業に10億ドルを投資、マーティン・ラウ氏が会長に就任

テンセントが先週、6つの主要事業グループとテンセント電子商取引ホールディングス社を設立する組織再編を...

クラウド移行の3つの間違いを避ける方法

今日、ほとんどのエンタープライズ IT 組織にとって、ワークロードをパブリック クラウドに移行するこ...

WebHostFace-US 仮想ホスト年間支払い $8.95/cpanel

WebHostFace は、一般的な海外ホスティング プロバイダーです。主な業務は仮想ホスティングで...

xserver: ウクライナのクラスター VPS、月額 6.75 ドルから、VPS あたり最大 32 個の IPv4、無制限のトラフィック

xserver(14年間の運営)は、ウクライナのVPS(ウクライナ クラスターVPS、ウクライナ ク...

コンテンツの再パッケージ化により、ウェブサイトのコンテンツがより目立つようになります

コンテンツの再パッケージ化は、最も強力なコンテンツ マーケティング戦略の 1 つです。この用語はあま...

知っておくべきすべてのJVMパラメータは次のとおりです

[[439460]]この記事はWeChatの公開アカウント「Java Technology Guid...

Fanyun:10%割引プロモーション、香港cn2 + US cn2、クラウドサーバー+独立サーバー、高い防御保護付き

Fan Yunは海外サーバー事業などに注力しており、主に香港、アメリカなどの地域でクラウドサーバーや...

オンライン薬局のブルーオーシャンは青くない。どれも利益が出ず、JD.comとJ&Jは分裂

2年以上の協力関係を経て、両者はB2C医薬品取引市場の成熟を待ちましたが、最終的には決裂しました。 ...

ロゴデザインの 3 つの一般的なルーチン LOGO Design Network のオンライン ロゴデザインはあなたを満足させます!

月収10万元の起業の夢を実現するミニプログラム起業支援プランロゴはブランドビジョンの中核として、ブラ...

#ブラックフライデー#: bluehost-hosting は月額 2.95 ドルから

ブラックフライデーとサイバーマンデーは本当に重要です。昨年、Bluehost は大きな割引はありませ...

マイクロソフトの第3四半期の収益はクラウドコンピューティングの好調に支えられ予想を上回る

財務報告によると、Azure クラウド事業はマイクロソフトの最大の成長原動力であり、同社の時価総額を...

SEO起業についての短い講演

80 年代や 90 年代に生まれた人は誰でも、自分のビジネスを始めることを夢見てきました。しかし、初...