クラウドは、仮想環境とソフトウェアが展開されるリモートサーバーです。 ユーザーはハードウェアに直接アクセスできません。通常、インターネットはサーバーへのアクセスに使用されます。 クラウドコンピューティングでは、いくつかのタイプのサービスが区別されます。便宜上、「サービスとして」、つまり「サービスとして」または「サービスとして」の略語が指定に使用されています。
SaaS (サービスとしてのソフトウェア、サービスとしてのソフトウェア)は、プロバイダーがWebアプリケーションを開発および管理し、ユーザーがインターネット経由でWebアプリケーションにアクセスできるようにするソフトウェア配信モデルです。
PaaS (サービスとしてのプラットフォーム、サービスとしてのプラットフォーム)は、アプリケーションとしてのアプリケーションの開発、テスト、展開、およびサポートのための統合プラットフォームの提供です。 クラウドには、特定のプログラム、基本サービス、およびライブラリのセットがあり、これらに基づいてアプリケーションの開発が提案されています。 さらに、PaaSは、データベースや通信システムなどの複雑なシステムの個々の部分も意味します。
IaaS (サービスとしてのインフラストラクチャ、サービスとしてのインフラストラクチャ)は、通常、仮想化に基づいて組み合わされたハードウェアリソースをサービスとして提供することです。 IaaSは、ハードウェア(サーバー、データストレージシステム、クライアントシステム、ネットワーク機器)、オペレーティングシステムとシステムソフトウェア(仮想化、自動化、基本的なリソース管理ツール)、およびハードウェアとソフトウェアを管理するためのミドルウェアの3つの主要コンポーネントで構成されます。
CaaS (サービスとしての通信、サービスとしての通信)-通信サービスはサービスとして提供されると理解されています。 通常、IPテレフォニー、メール、インスタントコミュニケーション(チャット、IM)です。
WaaS (サービスとしての職場、サービスとしての職場)は、サービスとしての職場、インフラストラクチャの特殊なケース、サービスとしての職場の提供です。
クラウドコンピューティングアーキテクチャ
クラウドは、仮想化システムによって相互接続された1つ以上のサーバー上に構築されます。 また、仮想化技術により、ハードウェアの容量を、サービスとしてハードウェアを使用するユーザーの現在のニーズに対応する部分に分割できます。 その結果、ユーザーはハードウェアリソースの取得、管理、および償却から、タスクを完了するために必要なサーバー時間、ディスク領域、およびネットワーク帯域幅の購入に移行します。
個別のソフトウェアとハードウェアの仮想化。 現在、ソフトウェアの仮想化は、長い間プロセッサメーカーが仮想化のサポートを適切に実装できなかったため、ハードウェアよりも優先されています。 新しいテクノロジをプロセッサに導入するプロセスでは、アーキテクチャの大幅な変更、追加の命令の導入、およびプロセッサの動作モードが必要でした。 ソフトウェアプラットフォームは速度と仮想マシン管理ツールの提供に関して大きな進歩を遂げたという事実にもかかわらず、ハードウェア仮想化技術にはソフトウェアに勝る否定できない利点があります。
- ハードウェア管理インターフェイスと仮想ゲストシステムのサポートを提供することにより、仮想化プラットフォームの開発を簡素化します。 開発の複雑さと時間の減少により、これは新しい仮想化プラットフォームと管理ツールの出現と開発に貢献します。
- 仮想化プラットフォームのパフォーマンスを向上させる機能。 仮想ゲストシステムの管理は、ソフトウェアの中間層(ハイパーバイザー)を直接使用して実行されるため、将来的にはハードウェア技術に基づいて仮想化プラットフォームのパフォーマンスを向上させることが期待されています。
- ハードウェアレベルで切り替えることができる複数の仮想プラットフォームを個別に起動する機能。 いくつかの仮想マシンは、それぞれ独自のハードウェアリソースのスペースで独立して動作できます。これにより、ホストプラットフォームを維持するためのパフォーマンスの損失がなくなり、完全な分離により仮想マシンのセキュリティが向上します。
- ゲストプラットフォームをホストプラットフォームアーキテクチャから切り離し、仮想化プラットフォームを実装します。 ハードウェア仮想化技術を使用すると、32ビットのホストシステムから64ビットのゲストシステムを実行し、32ビットの仮想化環境を実行できます。
クラウドシステムへのアプローチは、クライアントに提供される低レベルの制御の程度が異なります。
IaaS-「サービスとしてのインフラストラクチャ」モデルでは、クラスター化されたサーバーに基づいて仮想化環境が提供されます。 実際、ユーザーにはプロバイダーのシステムで実行される仮想マシンが提供されます。仮想マシンには、最初にOSをインストールし、次に必要なソフトウェアを構成する機会があります。 提供されたハードウェアリソースは、柔軟かつほぼ瞬時に上下に変更できます。 これらの仮想サーバーのいくつかをサービスとして使用することもできます。 したがって、それらの間に独自のローカルネットワークを作成できます。 ユーザーには、仮想化レイヤーよりも低いレベルへのアクセスは許可されません(最も一般的に使用されるのはXenまたはVmwareです)。
PaaS-「サービスとしてのプラットフォーム」モデルは、最大限の柔軟性と拡張性を備えていますが、これにより、仮想マシンやリソースだけでなく、ライブラリ全体とAPIが提供されます。 ユーザーには、独自のアプリケーションを実行する機会が与えられ、多くの場合、プログラミング言語と追加ライブラリの選択が大幅に制限されます。 しかし、そのようなアプリケーションは、リクエストに応じてリソースを柔軟に受け取ることができます。 このモデルでは、ユーザーはハードウェアだけでなく、オペレーティングシステムと仮想化環境にもアクセスできません。 ユーザーが操作するのは、サービスが提供するAPIとライブラリーの呼び出しだけです。
依存関係があります。プログラムが機能する言語とAPIが単純であるほど、拡張が容易かつ柔軟になります。 したがって、少なくとも標準形式では、クラウドシステムでWeb開発者になじみのあるリソースを見つけることは非常に困難です。たとえば、従来のSQLリレーショナルDBMSは、スケーラブルなシステムに非常に適していません(OracleやDB2などのまれな例外を除きます)。 代わりに、独自の開発とサードパーティのオープンソースソリューションを使用します。 最も人気のあるソリューションの1つは、Google BigTableに基づいたデータストレージとシステムのキーバリュー、およびそのオープンな対応物です。 これは通常のキャッシュと非常に似ています-アプリケーションはデータをストレージに書き込み、キー、デジタル文字列、または単純な文字列に関連付けてから、キーを指定して取得または削除します。 より高度なシステムは、データ構造全体、リスト、キューを実装し、さらに並べ替えとフィルターを使用してSQLに近い選択を可能にします。 多くの場合、ファイルシステムへのアクセスも変更されます。これは、通常のストレージの類似性に置き換えられ、大量のデータを処理するためのmap / reduceシステムによって補完されます。
SaaS-「アプリケーションとしてのアプリケーション」モデルでは、ユーザーは特定のアプリケーションにのみアクセスできます。 ユーザーは、APIまたはアプリケーションのプログラムコードにアクセスできません。 彼が利用できるのは、通常、ブラウザウィンドウとドキュメント用のファイルストレージにあるソフトウェア環境だけです。 そのようなサービスの鮮明な例は、オフィスドキュメントを操作するためのGoogleドキュメント、画像を操作するためのAdobe Airと呼ばれます。
クラウドコンピューティングの主な利点:
- ユーザーが支払うのは、サービスが必要になったときだけで、使用した分だけ正確に支払います。 この柔軟な価格体系により、コストを大幅に削減できます。
- ソフトウェアおよび機器の取得、サポート、および近代化のためのコストの不足。
- スケーラビリティ、フォールトトレランス、仮想化、セキュリティ-アプリケーションがサービスを提供するユーザーの数に応じて、必要なリソースの自動割り当てと解放。 提供されたリソースのサービスはプロバイダーにかかっています。 提供されるすべてのソフトウェアリソースの更新は、クラウド側で、より定期的かつタイムリーに行われます。
- ドキュメントまたはプログラムを作成し、開発チーム内で共有する機能により、アプリケーション開発の生産性が大幅に向上します。 タイムライン、タスク、責任範囲、役割(設計者、開発者、テスター、アクセス権に基づくQC)を定義、変更、追跡する機能。
- クラウドコンピューティングへのリモートアクセス-実際、インターネットアクセスが可能な地球上のどこからでもクラウドコンピューティングを操作できます。 クラウドで作業するには、通常、特別なソフトウェアは必要なく、ブラウザだけが必要です。
クラウドコンピューティングの欠点。
- クラウドは、より弱い法的保護を提供します-クラウド内のデータは、法執行機関やその他の構造体が何らかの措置を講じた場合に保護されません。 調査を行う州当局または弁護士は、捜査令状なしにそのようなデータを受け取ることがあります。
- ユーザーはハードウェアを所有していません-プロバイダーを監査し、独自のテストを実施したい企業は、ハードウェアが自分のものではないことを覚えておく必要があります。 脆弱性のスキャンまたは徹底的なテストには、クラウドサービスプロバイダーからの明示的な許可が必要です。 それ以外の場合、クライアントがプロバイダーのシステムへの不正アクセスを試みているという事実と同等になります。
- 厳格な作業ルールとユーザートレーニングが必要です。 インターネットに接続されたあらゆるポイントからのサービスに対する絶え間ない準備は、自宅の従業員がさらされているフィッシング攻撃が、彼らが働く会社を脅かす可能性があることを意味します。