日常的によく使われるものの、はっきりした定義が良く分からないIT用語の代表格であるクラウド。ネットワークを経由してデータを蓄積したり、サービスの提供を受けたり、アプリケーションを実行しりすることを指すというのは何となく分かるのですが、サーバやネットワークを仮想化して集約することが条件と考える人もいたりして良く分かりません。(前にも同じようなことを書いてますね。(NIST)という組織が定義した5つの特徴を持たせることが大事だと考えているようです。これら5つの特徴を持っているサービスがクラウドということですね。(1)オンデマンド・セルフサービス「ユーザは、各サービスの提供者と直接やりとりすることなく、必要に応じ、自動的に、サーバーの稼働時間やネットワークストレージのようなコンピューティング能力を一方的に設定できる。」amazonのAWSはこれを如実に実現してますね。(2)幅広いネットワークアクセス「コンピューティング能力は、ネットワークを通じて利用可能で、標準的な仕組みで接続可能であり、そのことにより、様々なシンおよびシッククライアントプラットフォーム(例えばモバイルフォン、タブレット、ラップトップコンピュータ、ワークステーション)からの利用を可能とする。要するにPC以外のスマートフォンやタブレットでも使えるように構築しなさいということですね。「サービスの提供者のコンピューティングリソースは集積され、複数のユーザにマルチテナントモデルを利用して提供される。様々な物理的・仮想的リソースは、ユーザの需要に応じてダイナミックに割り当てられたり再割り当てされたりする。物理的な所在場所に制約されないという考え方で、ユーザは一般的に、提供されるリソースの正確な所在地を知ったりコントロールしたりできない。リソースの例としては、ストレージ、処理能力、メモリ、およびネットワーク帯域が挙げられる。」パブリッククラウドのことを念頭においてますね。使う側はどこにサーバがあって、どのハードディスクがあてがわれている、ということは意識しないわけです。「コンピューティング能力は、伸縮自在に、場合によっては自動で割当ておよび提供が可能で、需要に応じて即座にスケールアウト/スケールインできる。ユーザにとっては、多くの場合、割当てのために利用可能な能力は無尽蔵で、いつでもどんな量でも調達可能のように見える。」1番に似ていますが、4番の方は、サービスを使い始めてからもっとリソースが必要になった時に、新しく契約してリソースの多いサービスに乗り換えるわけではなく、同一のサービスを使い続けたままリソースを必要なだけ追加できるようにしなさいよということです。特殊な日にだけ利用者が集中するようなシステムであれば、その日だけ多くのリソースを使い、翌日には元に戻すことによって、利用コストを抑えることができます。自社でサーバを用意する場合には利用者が多い日をベースに必要なCPUやメモリなどを購入しなければいけませんから、大きなコストが必要となってしまいます。ユーザアカウント数)に適した管理レベルでリソースの利用をコントロールし最適化する。リソースの利用状況はモニタされ、コントロールされ、報告される。それにより、サービスの利用結果がユーザにもサービス提供者にも明示できる。従量課金制のクラウドサービスでは絶対必要ですね。これらをクリアしているのクラウドサービスを使うことで利用者は、少ない資金からWebを利用した事業を開始できるというメリットがあります。リソースが最小限でよければ無料でも使えるサービスが多いので、とりあえずやってみるというサービス開発が可能となりますね。