
as a Serviceってところだけは共通してるから覚えてます。おてらです。
IaaSとかSaaSとかPaaSとかいっぱいありすぎて何が何だか!しかも最近また増えた?という感じなのでちょっとまとめてみます。
まずはGoogle先生に聞いてみた
○aaSという言葉が多いので、じゃあ実際どれくらいあるの?と思ってググって見たところ、WikipediaにEverything as a serviceという記事がありました。
この時点で聞いたことがあるもの以外にもかなり多くの○○ as a Serviceが存在していることに驚きました。
というかかなりコアなものまでas a Service化していたので、クラウドサービスとしてよく聞くものをピックアップします。
IaaS
Infrastructure as a Serviceの略。
IaaSはネットワーク、仮想マシン、OSを提供するサービスです。
特徴的なのは、仮想マシンがインターネットに繋がってはいますが、ソフトウェアなどは何もインストールされていないOSだけの状態で提供されているということです。
つまりユーザが自由に必要なソフトウェアをインストールしたりOSの設定を変更することが可能です。
また、CPUやメモリのサイズを変更することも可能なので必要に応じて環境を柔軟に変えることの出来る自由度の高いサービスです。
ただし、自由度が高いが故にその運用もユーザ自身に委ねられますのでしっかりと運用できる人員が必要になってきます。
AWSのEC2、IDCフロンティアのIDCFクラウド、さくらインターネットのさくらのクラウドなどがIaaSの代表的なサービスと言えます。
PaaS
Platform as a Serviceの略。
PaaSはアプリケーションを開発・実行するためのプラットフォームを提供するサービスです。
IaaSと大きく違うのは、OSやミドルウェア、データベースなどは事業者側の管理領域となり、ユーザはアプリケーションの開発や実行だけに注力することが出来ます。
Force.com、Google App Engine、HerokuなどがPaaSの代表的なサービスと言えます。
SaaS
Software as a Serviceの略。これは恐らく最も有名なのではないでしょうか。
今までパッケージとして提供されていた製品を、インターネットを経由しクラウド上でサービスとして提供、利用する形態を指します。
これまではパッケージ製品を購入してそれをパソコンにインストールするなどして利用していました。この場合、パソコンが壊れたりすると当然使えなくなってしまったり、再度利用できるようにするためにライセンスを再発行してもう一度インストールしたりと色々と手間がかかりますが、SaaSだと自分たちのハードウェアに依存しないため、そういった手間が一切なくなります。
Google AppsやサイボウズのグループウェアなどがSaaSの代表的なサービスと言えます。
IaaS、PaaS、SaaSの違いについてはAWSでも詳しくまとめられているので上記であまりイメージが湧かなかった方は下記のAWSのページも参照してみてください。
クラウドコンピューティングのタイプ(外部リンク)
最近よく聞くようになったもの
個人的に最近よく聞くようになったなと感じたものを挙げます。
BaaS / MBaaS
(Mobile) Backend as a Serviceの略。
バックエンドとはデータベースなど、フロントからの入力データを受け取って処理したり、データを保持したりするための機能を指しますが、近年ではモバイル向けの機能も含むことが多いようです。
例えばユーザのスマートフォンに対してPush通知を行う機能だったり、ユーザアカウントを認証してログインする機能などがあります。
BaaSではこれらの機能を利用できるため、手軽にPush通知や会員サイトなどを作ることが出来ます。
Milkcocoa、AWS Mibile Hub、ニフティクラウド mobile backendなどが代表的なサービスと言えます。
FaaS
Function as a Serviceの略。
FaaSは特定のコードを何らかのトリガーを元に実行させるサーバレスのサービスを指します。
サーバレスですので自前で環境を用意する必要がありません。実行するスクリプトがあれば利用できるので、今までスクリプトを実行するためだけに用意していたサーバの費用などがまるっと浮くことになる場合もあるでしょう。
また、スクリプトを実行するというシンプルなサービスなので、様々な外部のサービスやシステムとの連携が容易な点も非常に魅力的なサービスです
今後サーバレスアーキテクチャはますます進化していくと思われますので、AWS Lambda以外にもたくさんのサービスがリリースされることでしょう。
AWS Lambda、Azure Functionsなどが代表的なサービスと言えます。
まとめ
IaaSやPaas、SaaSに関してはいまだにカバーする領域などの議論がなされていたりするように、クラウドサービスにおける様々な定義はまだ曖昧な部分が少なくありません。
1つ1つの用語について100%理解はできなくても、どんなことが出来るサービス・もの・ことなのかという概念的な要素だけでもしっかりと理解することが大事じゃないかなと思います。
コメント