クラウド コンピューティングと分散コンピューティングの違いについて知りたかったのです。クラウド コンピューティングに関する記事を読んで、クラウド コンピューティングと分散コンピューティングの間にどこか関係があるような気がしたので、テクノロジーの違いについてお聞きしたいと思いました。
また、誰かがクラウド コンピューティングに役立つリソースを教えてくれれば、非常にありがたいです。
ありがとう
クラウド コンピューティングと分散コンピューティングの違いについて知りたかったのです。クラウド コンピューティングに関する記事を読んで、クラウド コンピューティングと分散コンピューティングの間にどこか関係があるような気がしたので、テクノロジーの違いについてお聞きしたいと思いました。
また、誰かがクラウド コンピューティングに役立つリソースを教えてくれれば、非常にありがたいです。
ありがとう
私の考えでは、クラウド コンピューティングを定義するものは、クラウドベースのサービスとソフトウェアの基盤となるコンピューティング リソース (ストレージ、プロセッサ、RAM、ロード バランサーなど) が、ソフトウェア/サービスの消費者から完全に抽象化されていることです。これは、クラウド ベースのリソースのベンダーが、コンピューティング環境のパフォーマンス/信頼性/スケーラビリティに責任を負うことを意味します。
アプリケーション開発者の観点からは、成長の要求を満たすためにハードウェアを調達、維持、調整、監視、およびスケーリングすることは困難であり、費用もかかるため、これは非常に有利です。
小規模な ISV の場合、クラウド コンピューティングは、設備投資なしでソフトウェアのプロトタイプ作成、テスト、展開を行う機能を提供します。
大規模なアプリケーションの場合、一般に無制限のスケーラビリティと、IT/アプリケーション ホスティングの責任のアウトソーシングに相当する利点と、新しいサーバー/ストレージ/あらゆるものへの即時アクセスがオンデマンドで得られます。多くの場合、クラウド プロバイダーは冗長性、信頼性、さらにはセキュリティのレベルを提供しますが、最大規模の社内 IT ショップ以外は、すべてのコストをかけて実現することはできません。
アプリケーション開発者にとっての主な欠点は、制御不能になることです。ハードウェアがクラウド環境で外部的にホストされているだけでなく、抽象化されているため、アプリケーションがハードウェアを直接制御する必要がある場合、うまくいきません。また、クラウド プロバイダーを信頼する必要があります。それらはすべて 99.9% の繰り返し稼働時間と SLA を提供しますが、それらの統計が実際に実現されているとは思えません。しかし、あなたは自問する必要があります、私はもっとうまくできるでしょうか?多くの場合、答えはノーです。しかし、制御が失われるのはハードウェアの制御だけではありません。クラウドベースのシステムとの統合は、明らかな理由から、オンプレミスまたはセルフマネージド ソフトウェアよりも難しい場合があります。しかし、新しいテクノロジーと堅牢な API によって、LAN/WAN の外部でアプリケーションを実行する際に生じる多くの統合の問題が解消されるにつれて、この障害は解消されつつあるように私には思えます。
もう 1 つの欠点は、パフォーマンスです。ローカル LAN でアプリケーションを実行すると、おそらくクラウドから実行するよりも、ローカル ユーザーにいくらか素早いエクスペリエンスが提供されます。ただし、オーディエンスが分散している場合、その利点はアプリケーションのオーディエンスのサブセットにのみ適用される可能性があります。
分散コンピューティングは、すでに数回述べたように、2 つ以上のコンピューター間で編成されたコンピューティングです。クラウド コンピューティングは、定義上、分散コンピューティングですが、特殊な形式です。
これは、 David Chappell による素敵なホワイトペーパーです。これは Microsoft が後援する論文であるため、Microsoft のクラウド プラットフォーム (Azure) に関して提示されていますが、基本的な原則はかなり普遍的であり、David Chappell は常に非常に読みやすいものです。
まず、当社は 100% クラウドベースの環境で重要な金融サービスを提供しています。
クラウド コンピューティングは、実際にはそれほど明確に定義されているわけではありません (流行語と同様に、誰もが最新の流行語で既存の製品をブランド化したいと考えています)。
私が考えるクラウド コンピューティングの鍵は、コンピューティング リソース (CPU、メモリなど) を資本ではなく商品のように見なすことができるということです。
どういう意味ですか?
従来、組織にコンピューティング能力を追加したい場合は、外に出てさらにコンピューターを購入し、セットアップして維持する必要がありました。クラウド コンピューティング (Eric J. の定義) を使用すると、必要なときに追加のコンピューティング パワーを取得し、不要なときにそれを解放できます。消費税計算サービスを提供しています。クリスマスに向けて、他の時期よりもはるかに多くのコンピューティング パワーが必要になります。私たちのクラウド環境では、数秒でリソースを追加し、必要がなくなったらすぐに解放できます。私たちの大口顧客の 1 人は、1 時間のメガセールを行うことがあります。その時間だけ追加の処理能力を追加し、完了したら解放することができます。
そのクラウド コンピューティング インフラストラクチャ上で提供するソリューションが、Software-as-a-Service (SaaS) です。私の見解では、GMail のようなものは SaaS であり、クラウド コンピューティングではありません。
では、これらすべてを分散コンピューティングと比較するとどうなるでしょうか?
分散コンピューティングとは、問題を分割して、多数のコンピューターを同時に処理できるようにすることを意味します。バークレー大学のBOINCプロジェクトは、この優れた例です (サインアップを検討してください)。彼らは、ボランティアが提供するすべてのコンピューターに科学研究プロジェクトを配布します。
BOINC やその他の分散プロジェクトに関係するコンピューターは、人々のラップトップ、デスクトップ、サーバーなどです。それらは、私のオフィス、ISP からリースされた仮想サーバー、または「クラウド」の一部である仮想サーバーにインストールできます。コンピュータがどこから来たかは、まったく問題ではありません。分散コンピューティング ソフトウェアをコンピューターにインストールできれば、それは分散ソリューションの一部になる可能性があります。
分散コンピューティングでは、大きな問題を小さなスライスに分割し、ネットワークに接続された複数のコンピューターでスライスを処理します。
クラウド コンピューティングは通常、インターネットを介してサービスを提供することを指します。そのサービスは、Web 経由でアクセスされるビジネス ソフトウェアから、オフサイトのストレージやコンピューティング リソースまで、ほとんど何でもかまいません。
編集: 下のポスターが指摘しているように、これは通常、これらのサービスのマーケティング用語です。
分散コンピューティングは、複数のコンピューターがタスクの解決/計算に参加する場所です。フォールディング@ホームのように。
クラウド コンピューティングとは、データ (ドキュメント、写真など) をインターネット サービス上に置くことです。GMail と Google Docs は一種のクラウド コンピューティングを形成していると思います。
クラウド コンピューティングという用語は、ほとんどすべてを表すマーケティング用語になっていることに注意してください。コーダーにとって、この用語は、名前と値のペアを格納および取得する分散型の方法を指します。注目すべき例には、BigTable ( Google App Engine内からアクセスする可能性が最も高い) やEC2などがあります。