お世話になっております!新入社員の道守みちるです!
打ち合わせで「そこはSaaSでいきましょう」「いや、PaaSのほうが」という会話が飛び交っていて、わたしは真顔でうなずいていました。うなずきながら、頭の中では「サース、パース、イアース……お経かな?」と思っていました。ごめんなさい。
あとで調べてみたら、この3つは思っていたのと少し違いました。別々の商品の名前だと思っていたのですが、そうではなかったんです。
SaaS・PaaS・IaaSは何が違って、小さな会社はどれを選べばいいんでしょうか。
この記事で扱うのは、だいたいこの3つです。📝
- 3つの違いは何を基準に引かれているのか(結論から言うと「境界線の位置」でした)
- そもそも「クラウド」と呼ぶための条件も決まっていた、という話
- 小さな会社が選ぶときに、何を見ればいいのか
3つは「別の商品」ではなく、「境界線の位置」の違いでした🤔
この3つの言葉、実は出どころがはっきりしています。アメリカのNIST(米国国立標準技術研究所)という機関が出した「SP 800-145」という7ページの文書で、クラウドコンピューティングの定義として整理されているものでした。
読んでみて分かったのは、3つとも同じ形で説明されている、ということです。どこまでを事業者が持っていて、どこからを利用者が自分で管理するのか。その線をどこに引くかで、名前が変わる。それだけでした。
【Point】SaaS・PaaS・IaaSは、製品の種類ではなく「自分で面倒を見る範囲」の呼び分けです。
定義に沿って、3つを並べてみます
SaaS(サース)― 出来上がったソフトを使う
定義では、事業者のアプリケーションをそのまま使う形、とされています。ウェブブラウザなどから使えて、利用者は下にあるネットワーク・サーバー・OS・保存領域はもちろん、アプリの個々の機能まで管理も制御もしない。例外として、自分のユーザー向けの限られた設定だけは触れることがある、と書かれています。
身近な例で言えば、ブラウザで使うメールサービスのような形です。触れるのは設定画面のスイッチくらい、というイメージですね。
PaaS(パース)― 土台は借りて、載せるものは自分で作る
事業者が用意したプログラミング言語やライブラリ、道具を使って、自分で作った(あるいは調達した)アプリを、その基盤の上に配置する形です。ネットワークやサーバー、OS、保存領域は管理しないけれど、置いたアプリと、その動かし方の設定はある程度自分で持つ、とされています。
IaaS(イアース)― 材料を借りて、あとは自分で組む
処理能力・保存領域・ネットワークといった基礎的な資源を借りて、そのうえでOSを含む任意のソフトウェアを自分で動かせる形です。基盤そのものは管理しないけれど、OS・保存領域・置いたアプリは自分で持つ。ネットワーク機器の一部(ホストのファイアウォールなど)にも限定的に手が届くことがある、と書かれていました。
| 呼び方 | 自分で管理するもの | 事業者に任せるもの |
|---|---|---|
| SaaS | 自分向けの限られた設定くらい | アプリ、OS、サーバー、ネットワーク、保存領域 |
| PaaS | 載せたアプリと、その動作環境の設定 | OS、サーバー、ネットワーク、保存領域 |
| IaaS | OS、保存領域、載せたアプリ(ネットワークの一部も) | その下の物理的な基盤 |
そもそも「クラウド」と呼ぶ条件も、決まっていました
ついでに知って驚いたのですが、同じ文書には「これを満たしていればクラウド」と言える5つの特徴も挙がっていました。自分の言葉に直すと、こんな感じです。
- 頼まずに自分で増やせる(担当者とやりとりせずに、必要なぶんを自分で確保できる)
- ネットワーク越しに、いろんな端末から使える
- 資源が共用されている(複数の利用者で分け合っていて、置き場所の正確な位置は普通わからない)
- 必要に応じて素早く伸び縮みする
- 使った量が計測される(使用量を測って、見えるようにできる)
「うちのサーバーを外のデータセンターに置いたらクラウドですか?」という疑問を前から持っていたのですが、この5つに照らすと、置き場所を変えただけでは足りないようです。クラウドかどうかは、場所ではなく振る舞いの話でした。借りるか建てるかという別の切り口については、クラウドとオンプレミスの記事のほうに書いています。
小さな会社は、どれを選べばいいのか
ここから先は、定義の話ではなく、わたしが考えたことです。
表を眺めていて思ったのは、下に行くほど自由になるかわりに、自分で面倒を見る仕事が増えるということでした。OSを自分で持つということは、OSの更新も、止まったときの復旧も、自分の側の仕事になるということです。
【最重要】「自由度が高い=いい」ではなく、「その自由を使いこなす人が社内にいるか」で決まる話だと思いました。
社内に専任の担当がいない会社であれば、まずSaaSで足りるかを考える、という順番が現実的なんじゃないかと思っています。足りないと分かってから下の層を検討する。小さく始める話とも、たぶん地続きです。
選ぶときに、聞いておきたいこと
言葉の意味が分かっても、実際に選ぶのは難しいままです。それでも、これは聞いておきたいなと思ったことを3つだけ。
- OSやミドルウェアの更新は、どちらの仕事になりますか(管理の境界線がそのまま責任の境界線になります)
- 入れたデータは、あとで取り出せますか(やめるときのことを、始める前に聞いておきたい)
- 止まったとき、誰がどう動きますか
3つめは、どの層を選んでも聞くことになりそうです。
結局のところ
【結論】3つの違いは覚えられます。でも「うちはどれか」は、定義からは出てきませんでした。
定義が教えてくれるのは、境界線がどこに引かれるか、までです。その線の向こう側を引き受けられる人が自社にいるかどうかは、会社ごとの話で、わたしには判断できません。
ただ、打ち合わせで「SaaSでいきましょう」と言われたときに、「つまり、うちはどこまで面倒を見ることになりますか?」と聞き返せるようにはなりました。今のところ、わたしにとっての収穫はそこです。
参考にした資料
- NIST Special Publication 800-145「The NIST Definition of Cloud Computing」https://csrc.nist.gov/pubs/sp/800/145/final
- 同 本文(PDF)https://nvlpubs.nist.gov/nistpubs/Legacy/SP/nistspecialpublication800-145.pdf

