「クラウド」という言葉は色々な所で,目にするようになりましたが,実際に「クラウド」が(おそらく,このコラムをお読みになっいている)ITエンジニアの方々にどのような影響ができるのか,いまいちわかりにくいと思います。
というわけで,本コラムでは「クラウドとは何か?」「クラウドの最新動向」といったクラウドの一般的な解説をした後,「そのクラウドがITエンジニアのキャリアにどのように影響していくのか」といった事や「どのようにすればクラウドの知識をつけられるか?」といった事を書いていきたいと思います。それでは,まずは「クラウド」という言葉を実態を見ていきましょう。
人によって意味が違う「クラウド」
ここ2.3年で「クラウド」という言葉を多く聞くようになりました。IT関連のニュースサイトでは「クラウド」専門のニュースサイトなども登場しており,本屋さんには「クラウド」をテーマにした書籍も数多く出版されています。
しかし,これだけ「クラウド」についての情報が出回っているのにも関わらず「クラウド」という言葉については,人によって大きく違います。ある人は「クラウド」をメールやグループウェアなどのコミュニケーションツールのように言いますし,また別の人は「クラウド」を色々なデータを保存するストレージのように言います。さらにある人は「クラウド」を利用して,数百台のサーバを用意したという人もいます。
「クラウド」を分類する
これらはどれも間違いではありません。しかし,これだけ言葉の意味が幅広いと,自分は「クラウド」を使ったメールサービスの話をしていたのに,相手は開発環境の話のつもりで聞いていたといったような,同じ言葉なのに違う意味で話してしまう場合も考えられます。
また,これだけ「クラウド」の意味が幅広くなると,言葉の定義を統一するのも難しくなります。実際「クラウド」という言葉は,数多くの団体・組織によって定義づけられています。しかし,これらのクラウドの定義も,意味が幅広く色々と解釈されるので,実際の仕事上の会話で利用するのは難しいと思われます。
では,どのようにすれば「クラウド」がわかりやすくなるのでしょうか? 私は「クラウド」を利用方法によって分類すれば良いと思っております。分類方法にも色々とありますが,一般的には「IaaS」「PaaS」「SaaS」といった方法が一般的です。ほかにも細かい分類方法はありますが,大きくこの3つの分類を覚えておけば「クラウド」がわかりやすくなります。これから「クラウド」を使う人はまずこの3つを押えていきましょう。
図 IaaS,PaaS,SaaS
![図 IaaS,PaaS,SaaS 図 IaaS,PaaS,SaaS]()
パッケージソフトをブラウザで提供するSaaS
SaaS(Software as a Service)は,ソフトウェアをサービスとして提供する形態のことです。今まで,メールやグループウェア,ワープロや表計算などのオフィスソフトなどのソフトウェアはパッケージとして購入して,パソコンやサーバにインストールする必要がありました。
しかし,SaaSはインターネットを通じて提供され,パッケージを購入したりパソコンやサーバにインストールする必要なく,ソフトウェアを利用できます。SaaSは主にブラウザから操作するアプリケーションなどに多く採用されています,これは,Ajaxなどの技術の進歩により,ブラウザでもパソコンにインストールしたデスクトップアプリケーションと同等の動きをするようになったためです。これによって,ブラウザ経由で提供されていたアプリケーションが現実的に使えるようになってきたと言えるでしょう。
またSaaSのメリットとしてデータをそれぞれのパソコンに入れておくのではなく,インターネット側で保存されるのも大きなメリットです。たとえば,従来のメールソフトの場合は,メールソフトをインストールしているパソコンでしか受信できませんでしたが,SaaSで提供されているメールサービスであれば,どのパソコンからでもメールを利用できます。
また,データがインターネット側にあれば,複数のデバイスから利用することが可能です。たとえば,iPhoneのようなスマートフォンやiPadのようなタブレット型のデバイスなど複数のデバイスからデータを見ることができます。
このようなSaaSで提供されているサービスで代表的なものとしてGoogleが出している「Google ドキュメント」などのサービスがあります。「Google ドキュメント」は,ブラウザからMicrosoft Officeのようなオフィスソフトが利用できるものです。現在のところワープロソフトのような「文章」や,表計算ソフト機能が使える「スプレッドシート」,プレゼンテーションソフトのような「プレゼンテーション」などが使えます。
Googleドキュメントは機能的に見れば,まだまだMicrosoftが提供しているMicrosoft Officeにはかないません。しかし,「Google ドキュメント」は,Microsoftが提供しているOfficeにない大きなメリットがあります。それは自分以外の人間とのコラボレーションができる点です。
Googleドキュメントで作成された文章はGoogleのサーバ群に保存され,インターネット経由でアクセスできます。そのため,複数の人間で1つの文章ファイルを作成・編集が可能です。従来のOfficeで作成されたファイルを複数人で共有する場合は,どれが最新版であるかわからなくなってしまう場合もありますし,複数人が同時に1つのファイルにアクセスすることができませんでしたが,Googleドキュメントの場合は,複数人が同時に1つのファイルを利用できます。
開発環境の提供するPaaS
PaaS(Platform as a Service)はインターネット上でプラットフォームを提供するものです。このPaaSはSaaSのようにエンドユーザにオンライン上でサービスを提供するのではなく,自社のプラットフォームを外部に解放し,その上にサービスを開発するものになっています。開発者は,あるシステム設計に沿った方法でアプリケーションを開発できるので,早くシステム開発ができます。ただ逆に言えば,プラットフォームをサービス提供側が用意しているので,こちらは自由にサービス開発を行うのが難しいという点もあります。
たとえば,Googleが提供している「Google App Engine(GAE)」は,利用できる言語はPython,GO,Javaに限定されますが,サーバの設定やインフラの設定はすべてGoogleにまかせることができ,開発者はサービスの開発に集中できます。
仮想サーバを提供するIaaS
最後にご紹介するのがIaaS(Infrastructure as a Service)です。PaaSは,開発プラットフォームを提供してきましたが,IaaSはサービス開発者がサービスの公開に必要な,仮想サーバやネットワークを提供します。
PaaSの場合は,特定の言語やプラットフォームなどの開発はできますが,OSを自分で選択することなどはできません。それに対して,IaaSはネットワーク越しに仮想サーバを好きな数だけ起動させ,その起動したサーバにインストールできるOSも自分で選択できます。用意されるサーバはリアルな物理サーバではなく仮想的に用意されるサーバです。サーバが仮想的に用意されるので,数分で何台も立ち上げることができます。自分が公開したWebサービスに人気が出た場合は,急いでサーバの数を増やす必要があります。今まで,自分でサーバ管理をしていたり,ホスティング事業者を使っていた場合,サーバを増やすには,数日から数週間程度の時間が必要でしたが,IaaSで提供される仮想サーバはクリック1つですぐにサーバを起動できます。
まとめ
以上,クラウドの代表的な分類「SaaS」「PaaS」「IaaS」について見てきました。一言で「クラウド」と言っても,色々な形態があることがわかったと思います。「クラウド」について色々な人と話をしたり「クラウド」についての記事を読む時は,そこで言われている「クラウド」が「SaaS」のことを言っているのか「PaaS」のことを言っているのか「IaaS」のことを言っているのか確認をすると「クラウド」についてわかりやすくなると思います。
次回は今回見てきた「SaaS」「PaaS」「IaaS」のうち,エンジニアに関係が深い「PaaS」と「IaaS」を取り上げます。
まずは,Windows Azure Platformを無料で試すためのアカウントを取得しましょう。
さらに詳しい技術情報はこちらから。