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

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

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 を理解します。それでも分からないなら殴ってみろ

推薦する

サイトの再設計に対処するための3つの簡単なステップ

ウェブサイトを構築するとき、私たちはみな、ウェブサイトをもっと良くしたいと願っています。要件がどんど...

Aoyou Hosting: 香港クラウドデータセンターVPSレビュー、中国本土への100Mbps帯域幅直接接続、Windowsをサポート

2010年に設立された老舗ブランドであるaoyohostは、100Mbpsの帯域幅、中国本土への直接...

「リベートサイト」の崩壊を受けて、北京市と他の5カ所は協力してねずみ講を取り締まることになった。

ここ半月ほど、「消費者還元」をマーケティング手段として宣伝していた国内の「キャッシュバックサイト」が...

伝統的な広告に社会的要素がどのように適用されるかについての簡単な議論

広告には千年近い歴史があります。今日、伝統的な広告は大きな変化を遂げています。伝統的な広告の形態は何...

Kubernetesを保護する方法

[[408253]] Kubernetes が開発され、そのテクノロジーが成熟するにつれて、ますます...

vmiss香港vpsはどうですか?香港の簡単なレビュー - BGP V3 シリーズ香港 VPS

vmiss は最近、香港 Netlab データ センターに VPS を追加しました。このシリーズは「...

光技術の革新がクラウド インフラストラクチャのパフォーマンス、容量、回復力を向上させる

ネットワークの複雑さは着実に増大しています。クラウド コンピューティング テクノロジーが登場する前は...

リンク交換における6つの詐欺をチェック

友好的なリンクの交換は、多くのウェブマスターが毎日行っていることです。特に、初心者のウェブマスターの...

ラップ「言葉にできない」ノードの簡単な評価

グループの友人から、ラップの「何とも言えない」ノードを搭載したVPSをもらいました。超高速、ノード数...

sharktech: 月額 509 ドル、10Gbps 帯域幅、無制限トラフィック、2*e5-2670/32g メモリ/2T ハードディスク/5IP/60g 防御

Sharktech は、16 年間運営されているアメリカのコンピューター ルームの老舗ブランドです。...

Oracle NetSuite は、Baichuan の「統合管理」の仁徳経絡をどのように開拓するのでしょうか?

インターネットやビッグデータなどの技術の発展により、家具業界は活況を呈しています。ますます多くの消費...

プロフェッショナリズムと努力には効果的なコミュニケーションが必要です。SEO は努力によって達成されます。

ある友人がQQで、会社のウェブサイトのSEO計画について話し合ったとき、彼のリーダーは明らかにSEO...

V.PS: 東京のソフトバンク VPS、20% 割引、月額 4.76 ユーロ、1G メモリ/2 コア/20g SSD/1T トラフィック/1Gbps 帯域幅

V.PSは現在、日本の東京データセンターのVPSで20%割引のプロモーションを実施しています。日本の...