雲を駆け抜けろ

第1回クラウドを再入門、クラウドとは何か?

「クラウド」という言葉は色々な所で、目にするようになりましたが、実際に「クラウド」(おそらく、このコラムをお読みになっいている)ITエンジニアの方々にどのような影響ができるのか、いまいちわかりにくいと思います。

というわけで、本コラムでは「クラウドとは何か?」⁠クラウドの最新動向」といったクラウドの一般的な解説をした後、⁠そのクラウドがITエンジニアのキャリアにどのように影響していくのか」といった事や「どのようにすればクラウドの知識をつけられるか?」といった事を書いていきたいと思います。それでは、まずは「クラウド」という言葉を実態を見ていきましょう。

人によって意味が違う「クラウド」

ここ2.3年で「クラウド」という言葉を多く聞くようになりました。IT関連のニュースサイトでは「クラウド」専門のニュースサイトなども登場しており、本屋さんには「クラウド」をテーマにした書籍も数多く出版されています。

しかし、これだけ「クラウド」についての情報が出回っているのにも関わらず「クラウド」という言葉については、人によって大きく違います。ある人は「クラウド」をメールやグループウェアなどのコミュニケーションツールのように言いますし、また別の人は「クラウド」を色々なデータを保存するストレージのように言います。さらにある人は「クラウド」を利用して、数百台のサーバを用意したという人もいます。

「クラウド」を分類する

これらはどれも間違いではありません。しかし、これだけ言葉の意味が幅広いと、自分は「クラウド」を使ったメールサービスの話をしていたのに、相手は開発環境の話のつもりで聞いていたといったような、同じ言葉なのに違う意味で話してしまう場合も考えられます。

また、これだけ「クラウド」の意味が幅広くなると、言葉の定義を統一するのも難しくなります。実際「クラウド」という言葉は、数多くの団体・組織によって定義づけられています。しかし、これらのクラウドの定義も、意味が幅広く色々と解釈されるので、実際の仕事上の会話で利用するのは難しいと思われます。

では、どのようにすれば「クラウド」がわかりやすくなるのでしょうか? 私は「クラウド」を利用方法によって分類すれば良いと思っております。分類方法にも色々とありますが、一般的には「IaaS」⁠PaaS」⁠SaaS」といった方法が一般的です。ほかにも細かい分類方法はありますが、大きくこの3つの分類を覚えておけば「クラウド」がわかりやすくなります。これから「クラウド」を使う人はまずこの3つを押えていきましょう。

 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を無料で試すためのアカウントを取得しましょう。

さらに詳しい技術情報はこちらから。

おすすめ記事

記事・ニュース一覧