クラウドネイティブストレージに密結合コンテナとマイクロサービスが必要な3つの理由

クラウドネイティブストレージに密結合コンテナとマイクロサービスが必要な3つの理由

多くの調査結果から、現在のクラウドベースの開発とサービスの展開においてコンテナ技術の使用が大幅に増加していることがわかります。

[[265542]]

たとえば、Cloud Native Computing Foundation (CNCF) の顧客調査によると、調査対象の顧客の 73% がコンテナ アプリケーションを本番環境で実行しており、残りの 27% は将来的にコンテナを使用する予定です。

調査データやメディア報道の急増(Kubernetes は誇張されすぎていると主張する人もいますが)を超えて、コンテナがインフラストラクチャ仮想化の次の波であることは間違いありません。これは、コンテナ化には、アプリケーションの移植性、簡単なデプロイメント構成、優れたスケーラビリティ、インフラストラクチャの柔軟性、生産性の向上、継続的な統合、リソースのより効率的な利用など、多くの明らかな利点があるためです。

同時に、アプリケーションのシステム アーキテクチャも、数十年前のサービス指向アーキテクチャ (SOA) からマイクロサービス アーキテクチャへと進化してきました。マイクロサービス アーキテクチャでは、アプリケーションは明確に定義されたインターフェースを使用して通信するサービス コンポーネントとして構築されます。各マイクロサービス コンポーネントは独立してデプロイおよびスケーラブルです。マイクロサービス ベースのアプリケーションの設計では、分散調整、分散トランザクション制御、インフラストラクチャの自動化、障害除去、および弾力的なスケーリングが考慮されます。

コンテナ化によって、さまざまなマイクロサービス コンポーネント間に明確で自然な境界が提供されるため、マイクロサービス アーキテクチャがコンテナと密接に関連しているのは偶然ではありません。さらに、コンテナ テクノロジを使用する場合、アプリケーションがマイクロサービス アーキテクチャである必要はありません。モノリシック アプリケーションもコンテナ化することができ、その場合、コンテナは実行可能アプリケーション全体または単一のインスタンスを表します。

モノリシックなコンテナ化されたアプリケーションの欠点の 1 つは、アプリケーションのコンポーネントが完全に結合されているため、小さな変更でもコンテナ全体を再構築して再デプロイする必要があることです。多くの場合、モノリシック モデルでは長期にわたって良好なモジュール性を維持することが困難です。アプリケーションの一部を拡張する必要がある場合、アプリケーション全体を一緒に拡張する必要があり、運用の観点からは非効率的です。

言い換えれば、よく知られていることですが、多くの企業や開発者は、マイクロサービス アーキテクチャも採用しなければ、コンテナへの移行のメリットを十分に享受することは不可能であることに気づいています。コンテナベースのマイクロサービス アプリケーション システムを採用することでもたらされる相互強化のメリットは非常に重要かつ不可欠です。理想的には、この近代化の取り組みをサポートするツールはどれも類似しており、包括的である傾向があります。

1. ストレージとデータ管理

静的アプリケーションは、コンテナベースのアプリケーションの主な推進力であり、通常はコンテナを使用しない動的バックエンド アプリケーションのフロントエンドとして機能するマイクロサービス コンポーネントで構成されます。コンテナベースのインフラストラクチャを実装するには、静的アプリケーションと動的アプリケーションの両方をコンテナに移行する必要があります。これを実現するには、コンテナ化をより効果的に実装するために、コンテナ環境におけるストレージとデータ管理の課題を考慮する必要があります。

現在、コンテナ化された本番環境で動的なアプリケーションを保存および管理する方法の構築段階にあります。多くは、クラウド/コンテナ環境の一部ではないものの成熟しており、クラッシュリカバリ、データ復元、フォーマット(ミラーリングではなく)、ストレージ階層化などの豊富なデータ管理機能を備えた、外部のサイロ化されたストレージデバイスに依存しています。

コンテナ化のメリットを最大限に実現するには、ストレージ インフラストラクチャをコンテナ化されたアプリケーションと同じ環境で実行する必要があります。これにより、管理が大幅に簡素化され、コストが削減され、リソースの使用率が向上します。この点に到達するには、新たなアプローチが必要です。

2. ストレージアーキテクチャの再構築

ストレージ システムでは、データ (データ プレーン) とメタデータ (コントロール プレーン) のフローを独立してスケーリングできるように、データ プレーンとコントロール プレーンを分離することが長い間求められてきました。さらに、分離プレーンにより、データ パス アクティビティに干渉することなく、階層化、データ移行、スナップショットなどのコントロール プレーン駆動型データ管理操作が可能になります。

現在まで、ストレージではコントロール プレーンとデータ プレーンの効果的な分離はまだ実現されていません。煩雑な標準、追加の増分機能、暗号化されていないデータ フローは、克服する必要がある障害です。しかし、コンテナとマイクロサービスの登場により、ストレージスペースはそれらを捨てて最初からやり直す機会を得ました。

マイクロサービスの探求

マイクロサービス アーキテクチャの原則は、コンテナ ネイティブ ストレージ システムの設計に自然に適用できます。たとえば、制御パスとデータ パスの分離は、「高い凝集性、低い結合性」というマイクロサービス設計の原則に沿っています。

マイクロサービス ベースの設計はどのようなものになるでしょうか?それはどんな利益をもたらすでしょうか?

コントロール プレーンとデータ プレーンを分離することにより、マイクロサービス ベースのコンテナ ネイティブ ストレージ ソリューションには、マイクロサービス ベースのアプリケーションと同様に、高度にスケーラブルな分散アプローチで、独立して、また共同でサービス (IO およびデータ管理) を提供する、別個のコントロール エンティティ (メタデータ) とデータ サービスが備わります。マイクロサービスを使用してストレージ システムを実装すると、コントロール プレーンとデータ プレーンの分離が可能になるだけでなく、その分離が強制されると言えます。

容量計画とパフォーマンス拡張:マイクロサービス ベースのコンテナ ローカル ストレージ システムは、データと制御パスを効果的に分離できます。容量、帯域幅、IOPS など、複数の次元でスケーラビリティを提供し、必要に応じて容量とパフォーマンスを柔軟に拡張できるようになります。この柔軟性によりアプリケーション間でリソースを効率的に共有できるようになるため、リソースを縮小することの影響を過小評価してはなりません。

回復力:マイクロサービスは障害発生後に自動的に再起動できるため、このタイプの設計により、アプリケーションの変更に対する回復力が向上します。

データ管理:多くのデータ管理操作は、データ プレーンに影響を与えることなく、メタデータ マイクロサービスのみで実行できます。データを操作する必要があるその他の状況では、メタデータとデータ操作を切り離して、パフォーマンスの問題を最小限に抑え、効率を向上させることができます。

ストレージ デバイスのサポート:マイクロサービスは独立しており、明確に定義されたプロトコルを使用して通信するため、システムは複数の種類のデータ プレーン マイクロサービスを実装し、複数のデバイス タイプを駆動できます。

階層化:メタデータ マイクロサービスは、これらのデバイス タイプ間の階層化操作を制御することでさらなる機能を提供でき、コスト構造と *** データ構造をより適切に実装できます。

データ移行:データとメタデータ ストレージが個別のマイクロサービスによって個別に管理されると、複数のメタデータ エントリが共通のデータ ブロックを参照する可能性があります。次に、ファイルや論理ボリュームなどのオブジェクトを、異なるデバイス タイプや地理的な場所にまたがって共通のデータ プールを参照する軽量のメタデータ固有のオブジェクトに仮想化できます。ハイブリッドまたはマルチクラウドの迅速な導入により、有益なデータ移行機能が実現します。

ストレージ プロトコルとアプリケーション サポート:アプリケーション フロントエンドをマイクロサービスとして考えると、さまざまな方法で実装でき、さまざまなストレージ アクセス プロトコルやアプリケーション固有のアクセスもサポートされるため、柔軟性が向上します。

マイクロサービス ベースのコンテナ ネイティブ ストレージ システムは、アプリケーションとコンテナに必要な柔軟性、スケーラビリティ、移植性を提供できますが、考慮すべき他の問題もあります。たとえば、高い同時実行性を必要とする分散システムでは、強力な一貫性を維持することは非常に困難であり、多くのアプリケーションでは、最終的な一貫性は選択肢になりません。これは重大な課題ではありますが、解決不可能なわけではなく、マイクロサービス ベースのアーキテクチャの追求を妨げるものではありません。

IV.結論

マイクロサービスとコンテナはすでに現在のビジネスに大きな価値をもたらしており、クラウドネイティブで開発されるアプリケーションが増えるにつれて、これらのアプリケーションをサポートするインフラストラクチャも進化していきます。マイクロサービス ベースのコンテナ ネイティブ ストレージ アプローチの柔軟性とスケーラビリティにより、インフラストラクチャの制約を取り除きながら、最新のアプリケーションのニーズを満たすソリューションを作成できます。コンテナによってもたらされるアプリケーションの近代化の可能性を真に実現するには、マイクロサービス アプローチを採用し、ストレージ ソリューションの制限を取り除く必要があります。

<<:  K8S の混乱から熟練へ: この記事を読めば、クラスター ノードがオフラインになることはなくなります。

>>:  レノボ、エンタープライズクラスのハイブリッドクラウド製品ファミリーを発表

推薦する

lisahostはどうですか?ロサンゼルス デュアル ISP/住宅 IP + トリプル AS9929 ライン VPS レビュー

lisahostは最近、ロサンゼルスのデュアルISP/住宅IPシリーズのVPSを追加しました。これは...

初心者SEO担当者がウェブサイト構造の最適化について語る

SEO 実践者なら誰でも、ウェブサイトのオンサイト最適化はページ最適化とウェブサイト構造最適化に分か...

百度から処罰を受けたウェブサイトの反省

確かに、Baidu は Google や 360 Search よりはるかに遅いと言わざるを得ません...

オリジナル記事のエッセンスを集めて、私たちの思考の「転換点」を刺激する

歴史を通じて、もうブログを書きたくないと言うウェブマスターが常に存在してきました。最初は日々の生活を...

2020 年のクラウド コンピューティング開発動向の展望: エッジ コンピューティング、自動化、業界固有のクラウドの年

2019 年はクラウド コンピューティングにとって素晴らしい年でした。その中で、ハイブリッド・マルチ...

Baidu Spaceを使ってネットワークプロモーションを行う方法

みなさんこんにちは。私はHongtu Internetです。 「Baidu Spaceをオンラインプ...

Windows オペレーティング システム サーバーに SSL セキュリティ証明書をインストールする方法

2018年最もホットなプロジェクト:テレマーケティングロボットがあなたの参加を待っています大手検索エ...

クラウドコンピューティングコンテナの導入に関する推奨事項

クラウド コンピューティング市場を支配しているクラウド コンテナ テクノロジーは、従来のハイパーバイ...

より一般的なパブリッククラウドやハイブリッドクラウドに比べて、プライベートクラウドの利点は何ですか?

プライベート クラウドには、ハイブリッド クラウドを構築したり、パブリック クラウドのみに依存したり...

ウェブサイトのランキング最適化の最初のレッスン: Baidu はどのようにして即時の包含を実現するのでしょうか?

ショートビデオ、セルフメディア、インフルエンサーのためのワンストップサービスウェブサイトの SEO ...

Rhino Cloud Networkが勝利:ランキングを着実に向上させ、企業がフルネットワークマーケティングを習得できるよう支援

2018年最もホットなプロジェクト:テレマーケティングロボットがあなたの参加を待っていますRhino...

hostkvm: 香港 VPS (メガデータセンター)、月額 6.8 ドル、2G メモリ/1 コア/40g SSD/500G トラフィック、300M 最適化/1Gbps 国際帯域幅

hostkvm は、複数の ISP/POP に接続され、香港および海外の顧客を対象とした新しい香港 ...

四川省は1,000以上の未登録ウェブサイトを一掃し、42,000以上の登録記録を抹消した。

記者が四川省の関係部門から得た情報によると、国家インターネット情報局、工業情報化部など9つの省庁がイ...

OpenWRT ルーターの設定のヒント

最近、中国でGoogleが全くアクセスできない状態が続いているため、VPN経由でインターネットにアク...