クラウドコンピューティングとクライアントサーバーアーキテクチャの違いを知りたい。つまり、クラウドコンピューティングは、私にいくつかのサービスを提供するWebサイトとどのように違うのですか。そして、クラウドコンピューティングの観点からの弾力性の意味は何ですか。
クラウドは、人によって意味が異なる、使い古された用語の1つです。ただし、弾力性について言及したので、それが意味するのは、要件に応じてリソースをスケーリングする機能です。
しばらくの間、1つのVMと64MBのRAM Webサイトを提供していると仮定します。それを使用している人はごくわずかです。その後、突然、使用量の急増(スラッシュドット効果による)とその1つVMおよび64MBのRAM)は明らかにそれをカットしません。
この時点で、これを処理するためのさまざまな戦略があります。
1つの可能性は、VM内のRAMを動的に増やすことです。一部のサービスはこれを行うためにバースト可能なRAM構成を提供します。別の可能性は、新しいものを動的に生成することです。既存のVMのクローンであり、それらの負荷を分散するVM。これはelasticコンピューティングの形式です。
この弾力性を持つことの利点は、リソースの消費です。通常64MBが必要な場合は、4GBのVM)でRAMを実行する必要はありません。リソースは次のように再割り当てできます。必要に応じて、新しいマシンを生成してシャットダウンできます。
いくつかの点で、ほとんど違いはありません。クラウドコンピューティングは、クライアント/サーバーアーキテクチャのサブセットであると私は考えています。唯一の違いは、サーバー側の場所と方法です。サーバーがデータセンターにあるかAmazonの「クラウド」にあるかは関係ありませんが、それでもクライアント/サーバーアーキテクチャです。
クラウドが浮かんでいると考えてください...そうです、サービスはクラウドコンピューティングでも浮かんでいます。必要なときに使用して、作業が終了した後にリリースできます。このユーザーは、サービスを使用するために利用可能な追加のリソースを必要としません。 、すべてのリソースはクラウドによって提供されました。この使用法の主な利点は、どこからでも、どのデバイスでも、物事を成し遂げることができます。
クライアントサーバーは全体像であり、クラウドコンピューティングはクライアントサーバーアーキテクチャの派生物であるとも言えます。
ええと、AmazonS3のアーキテクチャもその実装もまだ公開されていません。そのため、任意のサイズのプライベートクラウドを作成する機能を開発するための拡張には使用できません。
クラウドストレージアーキテクチャのトピックに関するいくつかの論文があります。あなたはそれらが役に立つと思うかもしれません。ここに論文があります: CACSS:汎用クラウドストレージサービスに向けて
さまざまなテクノロジーを組み合わせて、単一の優れたパフォーマンス、拡張性、信頼性の高いクラウドストレージシステムを提供する方法についても詳しく説明します。この調査は、経験の浅いクラウドプロバイダーの知識源として機能し、独自のクラウドストレージサービスを迅速にセットアップする機能を提供します。
疑似技術的な観点からクラウドを定義しようとすると、次のようになります。
「大部分が統合された仮想コンピューティングおよびストレージ手法を使用して、オンデマンドサービス、リソースプーリング、および高速プロビジョニング(弾性)を提供する、コンピューティング能力、ネットワーキング、およびストレージ機能を提供する非常にスケーラブルなコンピューティングシステム。」
そのようなシステムがクラスターとクライアントサーバーサービスの両方を組み込んでいることは明らかです(実際には、深刻なシステムはそうしなければなりません)。ただし、上記の定義は、「クラウド」が非常に大きなものであることを意味するものではないことにも注意してください。実際には、(2台の)仮想マシンを備えた単一のサーバーはクラウドです。それはスケーラブルです-あなたはシステムとVMの広告を追加することができます。リソースをプールし、オンデマンド機能を備えています。残り、クラスタリング、並列化などは完全にオプションであり、機能を拡張します。