最近クラウドについて調べている事が多い。
興味のあるクラウドというと
- Amazon EC2
- Google App Engine
- Azure
- SalesForce
があり、とりあえず、出来る限り情報を集めてみたりしている。
多くの場所で沢山情報が既にあるが、クラウドについて基本的な事を書いておく。
集めた書籍
クラウド
既にご存知の方が多いと思うが、クラウドを調べてみると以下のようになっている。
クラウドコンピューティング(英:cloud computing)とは、ネットワーク、特にインターネットをベースとしたコンピュータの利用形態である。ユーザーはコンピュータ処理をネットワーク経由で、サービスとして利用する。
Wikipediaクラウドコンピューティング より
つまりネットワークの発達によって、コンピュータリソースをサービスとして利用できるようになる。コンピュータ利用形態の変革であると考えられる。
サービスのレイヤ
いろいろな見方が出来るが以下のように分けられている例がある。
なお、登場人物として
- エンドユーザ
興味がある問題を解決するためにコンピュータアプリケーションを道具として利用する人 - 開発者
エンドユーザ向けにコンピュータアプリケーションを提供する人 - コンピュータリソース提供者
ハードウェア/ソフトウェアをクラウド上でサービスとして提供する人
とした時、「青色」がコンピュータリソース提供者。「オレンジ」が開発者。一番上のアプリケーションを利用する人が、エンドユーザとなる。
この時、「開発者」に注目したい。
クラウドの利点
- エンドユーザはコンピュータリソースを保有せず、利用料金を払い利用できる
- 必要となった時点で、コンピュータリソースを増加させたり、不要になれば減少させたりできる
などがある。また、「スケールアウト」という言葉もあてはまり、アクセス数が必要となった時点でコンピュータリソースを追加出来る事が、クラウドの重要なポイントとなっている。
開発者の担当分野
オレンジ色の担当となる開発者に着目すると
IaaS/HaaS
Amazon EC2 等は、OSの設定から全て開発者の担当となり、エンドユーザに提供するアプリケーションを組み立てていく。
このとき「スケールアウト」も、開発者の担当となる。
基本的に、ハードウェアリソースを必要に応じて手軽に増減できる専用レンタルサーバのように感じる事が出来る。
開発者は全ての事を担当する必要があり、幅広い知識が必要となると感じる
PaaS
Google App Engine / Windows Azure / Force.com(エンタープライズ向けのクラウド・コンピューティング・プラットフォーム) 等はプラットフォームをサービスとして提供してくれる。開発者は、エンドユーザに提供するアプリケーションを上記プラットフォーム上に構築する。
このとき「スケールアウト」に伴う多くはプラットフォームが面倒みてくれる事が多い。
SaaS
SalesForce.com のような、アプリケーションをエンドユーザに提供するため、開発者は基本的に介在しない。
まとめ
クラウドはスケールアウトすることと、コンピュータリソースをサービスとしてしまう点が興味深い。
なぜこの記事を書いたかというと、別の記事を書きたかったので、基本として押さえておくために書いた。



コメントする