クラウドコンピューティング
Cloud Computing ・ くらうどこんぴゅーてぃんぐ
計算資源を所有せず、必要なときに必要な分だけネットワーク越しに借りて、使った分を払う利用形態。
✦ 30秒で試す — 航海サーバ調達の一番の難題は、来年の需要を当てることだったこの1年、支払いの合計が少なく済むのは?予想してみる概要
クラウドコンピューティングは、サーバ・ストレージ・ネットワークといった計算資源を自分で所有せず、必要なときに必要な分だけネットワーク越しに借りる利用形態です。電気を発電所から買うように、計算能力を「サービス」として使います。名前の「雲(クラウド)」は、ネットワーク図でインターネットの向こう側を雲の絵で描いた慣習から来ていて、「実体がどこにあるかを意識しなくてよい資源」という意味合いを持っています。
代表的な提供者は AWS(Amazon Web Services)、Microsoft Azure、Google Cloud の3社です。管理画面や API を呼べば数分でサーバが手に入り、使った分だけ課金され、要らなくなればすぐ手放せます。今の Web サービスの大半はこの上で動いており、インフラを語る語彙のほとんどはクラウドを前提にしています。
「借りる」ことの意味は、単に他人のマシンを使うことではありません。米国立標準技術研究所(NIST)は2011年の定義(SP 800-145)で、クラウドの本質的な性質を5つ挙げています。人手を介さず自分で必要なときに調達できること、ネットワーク越しにどこからでも使えること、事業者の大きな資源の池を多くの利用者で分け合うこと、需要に合わせてすばやく伸び縮みできること、そして使った量が計測されて課金されることです。この5つがそろって、はじめて「クラウド」と呼べます。
なぜ生まれたか
クラウド以前、サービスを立ち上げるには自前でサーバを買い、データセンターに据え付ける「オンプレミス」しか選択肢がありませんでした。発注から稼働まで数週間から数か月、初期投資は数百万円規模になります。さらに厄介なのが容量計画です。サーバは何年も使う前提で先に買うので、来年の需要を今のうちに当てなければなりません。ピークに合わせて買えば平常時は遊休資産になり、平常時に合わせれば繁忙期に落ちる。需要が読めない新しいサービスにとって、インフラは大きな賭けでした。
転機は2006年です。Amazon が、自社の巨大な EC サイトを運用するために磨いてきたインフラを外部に切り売りし始め、3月にストレージの S3 を、8月に仮想サーバの EC2 を公開しました。「時間単位でサーバを借りる」ことが現実になり、初期投資が消え、失敗のコストが激減して、アイデアを数日で試せるようになりました。その後、コードを置くだけで動かせる Google App Engine(2008年)や Microsoft Azure(2010年)が続きます。クラウドは技術であると同時に、IT の費用の形を「資産の購入(CapEx: 設備投資)」から「利用料の支払い(OpEx: 運営費)」へ変えた、ビジネスモデルの発明でもありました。
詳細
支える技術 — 仮想化とマルチテナント
「数分でサーバが手に入る」体験の裏にあるのは仮想マシンの技術です。クラウド事業者はデータセンターに膨大な物理サーバを並べ、その上で顧客ごとの仮想マシンを切り出して貸し出します。多くの顧客が同じ物理マシンに同居しても互いに干渉できない隔離性(マルチテナント)と、ソフトウェアの操作だけで資源を割り当てられる速さが、仮想化によって同時に成り立っています。近年はより軽いコンテナや、実行の単位だけを借りるサーバレスへと、貸し出しの粒度が細かくなり続けています。
事業者は世界の各地に「リージョン」(地理的な拠点)を持ち、1つのリージョンの中を電源やネットワークが独立した複数の「アベイラビリティゾーン」(データセンターの群)に分けています。同じシステムを複数のゾーンにまたがって置けば、1つのデータセンターが停電しても止まらない構成を、自前でデータセンターを2つ建てることなく作れます。
IaaS / PaaS / SaaS — どこまで自分で管理するか
クラウドのサービスは「どの層から下を事業者に任せるか」で分類されます。IaaS(Infrastructure as a Service)は仮想マシンやネットワークといった素材を借り、OS から上は自分で管理する形態です(EC2 など)。PaaS(Platform as a Service)はアプリケーションのコードを置くだけで、実行環境の面倒を事業者がみる形態です(Heroku や App Engine、Cloud Run など)。SaaS(Software as a Service)は完成したソフトウェアをそのまま使う形態です(Gmail や Slack など)。下の層を借りるほど自由度が高く運用の負担も重く、上の層を借りるほど楽になる代わりに制約が増えます。このトレードオフの選択が、クラウドの設計の出発点になります。
この図の線引きは、そのまま「事故が起きたときに誰の責任か」の線引きでもあります。これを責任共有モデルと呼びます。事業者はデータセンターの物理的な守りや仮想化の基盤を守りますが、その上の設定・アクセス権・データの守りは利用者の責任です。IaaS で借りた仮想マシンの OS にセキュリティ更新を当てるのは利用者ですし、SaaS であっても「誰にどの権限を与えるか」は利用者が決めます。公開の設定を誤ったストレージからの情報漏えいがクラウドの事故の定番なのは、この線の上側で起きるからです。
容量計画の賭けが消えた
クラウドのいちばん本質的な強みは、資源の増減が API の呼び出しになったことです。負荷に応じてサーバの台数を自動で増減するオートスケーリングにより、スケーリングは「事前の賭け」から「事後の追従」に変わりました。オンプレミスでは、来年の需要を予測して、その予測に合わせた台数を先に買います。予測が外れれば、余った分は遊休資産に、足りない分は取りこぼした需要になります。クラウドでは台数を先に決めず、実際の需要を見ながら増やしたり減らしたりできます。
下の部品で、まずオンプレミスとして容量の線をドラッグで決め、1年を流してみてください。点線の予測に合わせても、本当の需要はずれていきます。次にクラウドに切り替えると、容量が需要を追いかけ、下の累計の支払いの形が「最初にまとめて」から「使った分だけ少しずつ」に変わります。
来年1年分のサーバを、いま買って据え付けます(オンプレ)。点線は予測です。金の容量の線を上下にドラッグして台数を決め、「1年を流す」を押してください。
ただし、クラウドが常に安いわけではありません。使った分だけ払う従量課金の単価は、同じ性能のサーバを長く持つより割高に設定されています。需要が平らで読みやすいなら、オンプレミスや、クラウドでも1〜3年の利用を約束して割り引いてもらう予約型の契約(リザーブドインスタンスや Savings Plans)のほうが安くつきます。また、オートスケーリングにも遅れがあり、新しいサーバが起動して使えるようになるまでの数分間に急な山が来ると、その分は取りこぼします。平常時の土台は予約で安く確保し、変動する分だけを従量課金で追いかけるのが、多くの現場の落とし所です。
クラウドが変えた設計と運用
インフラが API で操作できるからこそ、構成をコードで記述する IaC が成り立ち、CI/CD のパイプラインからインフラごとデプロイする運用が可能になりました。世界中のリージョンにデータセンターがあるので、CDN と組み合わせて世界に向けたサービスを出すハードルも大きく下がりました。事業者が運用まで引き受けるマネージドサービス(RDBMS やメッセージキュー、監視の基盤など)を組み合わせれば、少人数のチームでも、かつての大企業並みのインフラを扱えます。事業者は稼働率を SLA として約束し、下回れば利用料の一部を返します。
落とし穴と設計上の論点
従量課金は諸刃の剣です。使った分だけ払う気軽さは、消し忘れたリソースや設計の誤りによる想定外の請求に直結します。コストを継続的に見える化して最適化する取り組み(FinOps)は、クラウド運用の重要な技能になりました。特定の事業者の独自サービスに深く依存するほど移行が難しくなる「ベンダーロックイン」も古典的な論点で、便利なマネージドサービスをどこまで使うかは、移行のしやすさとの綱引きになります。
権限の管理も、クラウドならではの重みを持ちます。管理画面や API の鍵ひとつで、データセンター丸ごとに相当する資源を作ることも消すこともできるので、IAM(誰がどの資源に何をしてよいか)の設定で最小権限を守ることが、そのまま守りの中心になります。オンプレミスと組み合わせるハイブリッドクラウド、複数の事業者を併用するマルチクラウドなど、「全部クラウド」以外の現実解も含めて、所有と利用のバランスを設計するための語彙として押さえておきたい概念です。
試問
画面は来年52週ぶんのサーバの需要(点線は予測)です。自前で持つ「オンプレ」では、金の線を上下にドラッグして先に買う台数を決め、「1年を流す」で本当の需要を流します。容量を超えた分は取りこぼし(赤)、使われなかった分は遊休(灰)です。「未来を引き直す」を押すと、予想外のヒット・ほぼ予測どおり・伸び悩みの3つの年が順に出ます。
来年1年分のサーバを、いま買って据え付けます(オンプレ)。点線は予測です。金の容量の線を上下にドラッグして台数を決め、「1年を流す」を押してください。
