クラウドコンピューティング(概要)

クラウドコンピューティング(英語の「クラウドコンピューティング」、「クラウドデータ処理」という用語も使用)は、ソフトウェアおよび/またはハードウェアがサービスとしてユーザーに提供されるデータ処理技術です。



クラウドは、仮想環境とソフトウェアが展開されるリモートサーバーです。 ユーザーはハードウェアに直接アクセスできません。通常、インターネットはサーバーへのアクセスに使用されます。 クラウドコンピューティングでは、いくつかのタイプのサービスが区別されます。便宜上、「サービスとして」、つまり「サービスとして」または「サービスとして」の略語が指定に使用されています。



SaaS (サービスとしてのソフトウェア、サービスとしてのソフトウェア)は、プロバイダーがWebアプリケーションを開発および管理し、ユーザーがインターネット経由でWebアプリケーションにアクセスできるようにするソフトウェア配信モデルです。



PaaS (サービスとしてのプラットフォーム、サービスとしてのプラットフォーム)は、アプリケーションとしてのアプリケーションの開発、テスト、展開、およびサポートのための統合プラットフォームの提供です。 クラウドには、特定のプログラム、基本サービス、およびライブラリのセットがあり、これらに基づいてアプリケーションの開発が提案されています。 さらに、PaaSは、データベースや通信システムなどの複雑なシステムの個々の部分も意味します。



IaaS (サービスとしてのインフラストラクチャ、サービスとしてのインフラストラクチャ)は、通常、仮想化に基づいて組み合わされたハードウェアリソースをサービスとして提供することです。 IaaSは、ハードウェア(サーバー、データストレージシステム、クライアントシステム、ネットワーク機器)、オペレーティングシステムとシステムソフトウェア(仮想化、自動化、基本的なリソース管理ツール)、およびハードウェアとソフトウェアを管理するためのミドルウェアの3つの主要コンポーネントで構成されます。



CaaS (サービスとしての通信、サービスとしての通信)-通信サービスはサービスとして提供されると理解されています。 通常、IPテレフォニー、メール、インスタントコミュニケーション(チャット、IM)です。



WaaS (サービスとしての職場、サービスとしての職場)は、サービスとしての職場、インフラストラクチャの特殊なケース、サービスとしての職場の提供です。



クラウドコンピューティングアーキテクチャ



クラウドは、仮想化システムによって相互接続された1つ以上のサーバー上に構築されます。 また、仮想化技術により、ハードウェアの容量を、サービスとしてハードウェアを使用するユーザーの現在のニーズに対応する部分に分割できます。 その結果、ユーザーはハードウェアリソースの取得、管理、および償却から、タスクを完了するために必要なサーバー時間、ディスク領域、およびネットワーク帯域幅の購入に移行します。



個別のソフトウェアとハ​​ードウェアの仮想化。 現在、ソフトウェアの仮想化は、長い間プロセッサメーカーが仮想化のサポートを適切に実装できなかったため、ハードウェアよりも優先されています。 新しいテクノロジをプロセッサに導入するプロセスでは、アーキテクチャの大幅な変更、追加の命令の導入、およびプロセッサの動作モードが必要でした。 ソフトウェアプラットフォームは速度と仮想マシン管理ツールの提供に関して大きな進歩を遂げたという事実にもかかわらず、ハードウェア仮想化技術にはソフトウェアに勝る否定できない利点があります。



クラウドシステムへのアプローチは、クライアントに提供される低レベルの制御の程度が異なります。



IaaS-「サービスとしてのインフラストラクチャ」モデルでは、クラスター化されたサーバーに基づいて仮想化環境が提供されます。 実際、ユーザーにはプロバイダーのシステムで実行される仮想マシンが提供されます。仮想マシンには、最初にOSをインストールし、次に必要なソフトウェアを構成する機会があります。 提供されたハードウェアリソースは、柔軟かつほぼ瞬時に上下に変更できます。 これらの仮想サーバーのいくつかをサービスとして使用することもできます。 したがって、それらの間に独自のローカルネットワークを作成できます。 ユーザーには、仮想化レイヤーよりも低いレベルへのアクセスは許可されません(最も一般的に使用されるのはXenまたはVmwareです)。



PaaS-「サービスとしてのプラットフォーム」モデルは、最大限の柔軟性と拡張性を備えていますが、これにより、仮想マシンやリソースだけでなく、ライブラリ全体とAPIが提供されます。 ユーザーには、独自のアプリケーションを実行する機会が与えられ、多くの場合、プログラミング言語と追加ライブラリの選択が大幅に制限されます。 しかし、そのようなアプリケーションは、リクエストに応じてリソースを柔軟に受け取ることができます。 このモデルでは、ユーザーはハードウェアだけでなく、オペレーティングシステムと仮想化環境にもアクセスできません。 ユーザーが操作するのは、サービスが提供するAPIとライブラリーの呼び出しだけです。



依存関係があります。プログラムが機能する言語とAPIが単純であるほど、拡張が容易かつ柔軟になります。 したがって、少なくとも標準形式では、クラウドシステムでWeb開発者になじみのあるリソースを見つけることは非常に困難です。たとえば、従来のSQLリレーショナルDBMSは、スケーラブルなシステムに非常に適していません(OracleやDB2などのまれな例外を除きます)。 代わりに、独自の開発とサードパーティのオープンソースソリューションを使用します。 最も人気のあるソリューションの1つは、Google BigTableに基づいたデータストレージとシステムのキーバリュー、およびそのオープンな対応物です。 これは通常のキャッシュと非常に似ています-アプリケーションはデータをストレージに書き込み、キー、デジタル文字列、または単純な文字列に関連付けてから、キーを指定して取得または削除します。 より高度なシステムは、データ構造全体、リスト、キューを実装し、さらに並べ替えとフィルターを使用してSQLに近い選択を可能にします。 多くの場合、ファイルシステムへのアクセスも変更されます。これは、通常のストレージの類似性に置き換えられ、大量のデータを処理するためのmap / reduceシステムによって補完されます。



SaaS-「アプリケーションとしてのアプリケーション」モデルでは、ユーザーは特定のアプリケーションにのみアクセスできます。 ユーザーは、APIまたはアプリケーションのプログラムコードにアクセスできません。 彼が利用できるのは、通常、ブラウザウィンドウとドキュメント用のファイルストレージにあるソフトウェア環境だけです。 そのようなサービスの鮮明な例は、オフィスドキュメントを操作するためのGoogleドキュメント、画像を操作するためのAdobe Airと呼ばれます。



クラウドコンピューティングの主な利点:



クラウドコンピューティングの欠点。




All Articles