ハードウェア基礎 #8 クラウド — 所有から賃借へ、オンプレミスから IaaS / PaaS / SaaS まで
#7 で、仮想化が 1 台を複数台に分けてクラウドの土台になったと述べました。これからその上の絵、クラウド自体を整理します。クラウドを「他人のコンピュータ」と一言で言うこともありますが、このシリーズの観点ではより正確な表現があります。これまで見たハードウェアを 所有から賃借へ 変えたものです。誰がどこで所有するのか、そしてどこまで借りるのかに分けて見ます。
ハードウェア基礎 シリーズでの今回の位置です。
- #1 コンピュータを動かす 4 つのリソース — CPU / メモリ / ストレージ / ネットワーク
- #2 CPU — コア / スレッド / クロック / キャッシュ、そして vCPU の正体
- #3 メモリ — RAM と階層構造、スワップが始まると起きること
- #4 ストレージ ① デバイス — HDD / SSD / NVMe と IOPS / スループット / レイテンシ
- #5 ストレージ ② 構成と接続 — RAID と DAS / NAS / SAN
- #6 ネットワーク — 帯域幅とレイテンシ、NIC からデータセンターまで
- #7 仮想化とコンテナ — 物理サーバー 1 台が複数台になる仕組み
- #8 クラウド — 所有から賃借へ、オンプレミスから IaaS / PaaS / SaaS まで ← 今回
- #9 クラウドインスタンスのスペックの読み方 — ワークロードに合わせて選ぶ
クラウドとは何か — 所有から賃借へ #
昔はサービスを運用するにはハードウェアを買う必要がありました。サーバーを発注し、配送を受けて設置し、電源とネットワークと冷却を用意し、故障に備えました。リソースはあらかじめ余裕を持って買っておく必要があり、余る分だけお金が縛られました。
クラウドはこのハードウェアを 借りて使うもの に変えます。必要な瞬間に作り、使った分だけ払い、必要なくなれば消します。#7 の仮想化のおかげで、物理サーバーをまるごと借りずに必要な大きさだけ切って使えます。非開発者の目線での概念は IT 常識 #3 でも扱いましたが、今回はその概念をハードウェアの所有・賃借の観点から 1 段深く入ります。
誰が、どこで所有するのか #
ハードウェアを所有して置く方式は 1 行で分かれません。3 段階で見るとクラウドの位置がはっきりします。
| 方式 | ハードウェア所有 | 置く場所 | 運用負担 |
|---|---|---|---|
| オンプレミス | 自分が所有 | 自分の建物・サーバールーム | 電源・冷却・ハードウェアまで全部自分 |
| コロケーション | 自分が所有 | 他人のデータセンターを賃借 | ハードウェアは自分、建物・電源は事業者 |
| クラウド | 事業者が所有 | 事業者のデータセンター | ハードウェアの運用は事業者 |
オンプレミスはすべてを自分で持つので統制が強い代わりに負担が大きいです。コロケーションは建物と電源だけ借りてハードウェアは自分で置きます。クラウドはハードウェア自体を借りるので、ユーザーはその上に何を乗せるかにだけ集中します。
抽象化の層 — IaaS / PaaS / SaaS #
クラウドを借りるときの核心の問いは「ハードウェアがどこまで見えるか」です。借りる層が高くなるほど #1 の 4 つのリソースは次第に隠れ、ユーザーが管理する範囲も減ります。
- IaaS (Infrastructure as a Service) — 仮想サーバー、ストレージ、ネットワークを借ります。#9 のインスタンスの種類を自分で選び、OS から乗せます。EC2 がここです。4 つのリソースがスペック表としてそのまま見えます。
- PaaS (Platform as a Service) — アプリケーションを乗せる実行環境を借ります。OS とハードウェアは事業者が管理し、ユーザーはコードだけ乗せます。ハードウェアはほとんど見えません。
- SaaS (Software as a Service) — 完成したソフトウェアを借りて使います。ユーザーは機能だけ使い、その下のすべての層は隠れます。Gmail や Slack がここです。
IaaS PaaS SaaS
アプリ 自分 自分 事業者
ランタイム 自分 事業者 事業者
OS 自分 事業者 事業者
ハードウェア 事業者 事業者 事業者
(4 つのリソース) (スペック表として見える) (隠れる)上に行くほど楽ですが統制力は減り、下に行くほど自由ですが自分で管理することが増えます。このシリーズが扱ったハードウェアの知識がもっとも直接使われるのは、4 つのリソースがスペック表として現れる IaaS です。
デプロイモデル — パブリック / プライベート / ハイブリッド #
クラウドは誰が使うかでも分かれます。
| モデル | 意味 | 使う場面 |
|---|---|---|
| パブリック | 事業者のリソースを複数の顧客で分けて使う | ほとんどの一般サービス |
| プライベート | 1 つの組織が専用で使うクラウド | 規制・セキュリティが厳しい環境 |
| ハイブリッド | オンプレミスとパブリックを併用 | 機微なデータは中に、残りはクラウド |
| マルチクラウド | 複数の事業者を併用 | 特定の事業者への依存を避ける |
規制でデータを外部に置けない領域はプライベートやハイブリッドへ行きます。AWS 基礎 #1 で見たデータ主権の規制がこの選択とつながります。
クラウドが常に安いわけではない #
クラウドの利点は、あらかじめ買っておかず使った分だけ払う点です。開始コストがほぼなく、急なトラフィックにも素早く増やせます。
ただしリソースが常に使い切られるワークロードを長く動かすなら、借りる値が買う値より高くなり得ます。さらに #6 で見た egress コストのように、目につきにくい課金も積もります。クラウドは「常に安い」ではなく「必要な分だけ払って素早く変えられる」が本質です。
よく出会う落とし穴 #
「クラウドは無条件で安い」 #
常に使い切るワークロードは自分で買う方が安いことがあります。トラフィックがばらつくか素早い拡張が必要な場合に、クラウドのコスト構造が有利です。
「クラウドならハードウェアは知らなくてもいい」 #
IaaS を使う限りインスタンスの種類を自分で選ぶ必要があり、それはすなわち 4 つのリソースを選ぶことです。ハードウェアを知らなければ過剰・過少プロビジョニングにつながります。
「PaaS・SaaS なら統制権もそのまま」 #
上の層を借りるほど細かい統制は事業者に移ります。利便性と統制力は引き換えの関係です。
「egress は気にしなくてもいい」 #
クラウドの外へ出るトラフィックは課金され、事業者を移るときにデータを抜き出すコストも小さくありません。マルチクラウドと依存回避を語るときに必ず出てくる部分です。
まとめ #
今回つかんだ絵です。
- クラウドはハードウェアを 所有から賃借へ 変えたものです。#7 の仮想化がその土台です。
- 所有・場所で見ると オンプレミス → コロケーション → クラウド の順に運用負担が減ります。
- IaaS・PaaS・SaaS はハードウェアがどこまで見えるかで分かれます。4 つのリソースがもっとも直接現れるのは IaaS です。
- デプロイモデルは パブリック・プライベート・ハイブリッド・マルチクラウド に分かれ、規制と依存回避が選択を分けます。
- クラウドは常に安いのではなく 必要な分だけ払って素早く変えられる モデルです。
次回 — インスタンスのスペックの読み方 #
クラウドを IaaS で使えば結局インスタンスの種類を選ばなければなりません。それがこのシリーズが積み上げてきた 4 つのリソースの知識が一か所で使われる場面です。最後の記事 #9 クラウドインスタンスのスペックの読み方 — ワークロードに合わせて選ぶ では、c5.xlarge のような名前を分解し、vCPU・メモリ・ストレージ・ネットワークでスペック表を読んで、ワークロードに合った種類を選ぶ順序を整理します。