今さら聞けない「クラウドって何?」に答えます。

  • by
にほんブログ村 株ブログ 米国株へ

結局、クラウドって何?

クラウドという言葉は、わかるようで何だかよくわかりません。

「Gmailはクラウドで、iPhoneのバックアップで使うiCloudもクラウドでしょ」

「あれ、インターネット経由でコンピュータを使うAWSもクラウドなの?」

「クラウドって一体何だ。」

そんなクラウドの森に迷い込んでしまう最大の原因が、「クラウド」という言葉が示す意味が広すぎることがあります。インターネットを使って提供するサービスが全てクラウドだからです。

対象が大きすぎで把握できない場合、有効なのは分解することです。この記事ではクラウドを3つの分類にわけて説明し、より一段階踏み込んでクラウドが何かを掴みたいと思います。

クラウドは大きく分けて3つのタイプ

クラウドとは、インターネット経由でコンピュータを借りて使ったり、Gmailなどのサービスを使ったりすることです。しかし、その言葉が示す範囲が広すぎるので、大きく分けて3つに分類されてきました。

言葉は聞いたことがあるかもしれません。SaaS(サーズ)、PaaS(パース)、IaaS(イアース)です。

  • SaaS:【ユーザ向けサービス】インターネット上で利用可能なサービス
  • PaaS:【開発者向けサービス】プログラムを動かす環境をネット経由で借りるサービス(※後で詳細を解説)
  • IaaS:【開発者向けサービス】空っぽのコンピュータをネット経由で借りて使うサービス

このうち、SaaSは一般ユーザにも手にされるのでわかりやすいです。GmailやiCouldなどインターネットに繋がっていれば利用可能なサービスのことです。

またIaaSについても、ネット経由でアマゾンやMicrosoftから空っぽのマシンを借りて使うサービスなので、イメージしやすいと思います。この空っぽのマシンに設定を加えて、自分で書いたプログラムを動かしてサービスを作っていくイメージです。

問題はその中間に位置するPaaSです。これは一体何でしょうか。

PaaSはスケートリンク場

スケートをするのには、スケートシューズとスケートリンクが必要です。スケートしたいなと思ってスケートシューズを用意しても、滑れる環境がないと一向にスケートができません。

それと同じ様にサービスを作るにも、プログラマがプログラムを書いただけでは何も起こりません。プログラムといってもその実態は「テキストファイルやメモ帳に文字を打ち込んで保存したただのファイル」なので、プログラムを動かすための環境が必要になります。

それって、IaaSで空っぽのコンピュータを借りて作るんでしょと思われるかも知れませんが、IaaSはスケートで例えると単なる「土地」に過ぎません。氷も張ってなければ、スケート場の建物も、空調設備もありません。

なので、空っぽのIaaSの土地を借りてきても、その上に建物をたて、氷を張り、空調設備を完備したり、休憩できるように自販機を設置したりと大工事をしてようやくオープンし、それをずっと維持管理しなければならないのです。

面倒くさいですよね。スケートがしたいだけなのに、わざわざ土地を買ってスケートリンク場を作る人は、ただの富豪かその息子くらいです。一般の人は、既に出来上がっているスケートリンク場にいって、入場料を払って滑ります。

PaaSはまさに、この既に出来上がっていて他人が管理しているスケートリンク場を借りるサービスです。PaaSを使えば、プログラムを作る環境を用意する必要もなければ、維持管理をする手間も不要になります。ただ、使わせてもらう場所代を払えば良いのです。

AzureやAWSはPaaSとIaaSを提供

最後に、近年注目を集めているMicrosoftのクラウドサービスのAzureや、アマゾンのクラウドサービスのAWSについて触れておきたいと思います。

AzureもAWSも開発者向けにサービスなので、基本的にPaaSとIaaSの両方を提供しています。

そして、最近のサービスはインターネットを使わないサービスはほとんどなくなってきたので、SaaSという言葉の存在感が薄れつつあります。なので、最近はクラウドと言った時には単にAzureやAWSなどのIaaS+PaaSを指すことも多くなってきました。

このブログではその流れを踏んで、断りなくクラウドと言った場合にはIaaS+PaaSを指しています。

さて、長々書きましたが、クラウドの3つの分類を本記事を踏まえて書き直すと以下のようになります。

  • SaaS:【ユーザ向け】インターネット上で利用可能なサービス(例:GmailやiCould)
  • PaaS:【開発者向け】プログラム(スケート靴)を動かす環境(スケートリンク)をネット経由で借りるサービス(例:AWSやAzure)
  • IaaS:【開発者向け】空っぽのコンピュータ(土地)をネット経由で借りるサービス。(例:AWSやAzure)

これで、「インターネットを使ったサービスは全部クラウド」の理解から、一段踏み込んだものに変わっていたら、嬉しく思います。