クラウドとは結局のところ他人のコンピュータを借りること
開発者のあいだで冗談のように語られる言葉があります。「There is no cloud, it’s just someone else’s computer.」日本語にすると「クラウドなんてものは存在しない。ただの他人のコンピュータだ」という意味です。ステッカーにして貼り歩く人も多い一言です。
最初に聞くと皮肉のように思えますが、実はこれほど正確にクラウドの本質を要約した表現もありません。名前が「雲」なのでどこか神秘的で巨大な技術のように聞こえますが、中身は意外とシンプルです。今日はこの冗談を出発点にして、クラウドとはいったい何なのか、なぜみんなコンピュータを買わずに借りて使うのかを、専門外の人にもわかる目線で解きほぐしていきます。
クラウドはインターネットの向こうにある他人のコンピュータです #
みなさんが今使っているノートパソコンやスマートフォンは、手に取れる自分のコンピュータです。会社であれば、オフィスの一角のサーバールームで会社所有のサーバーが動いていることもあるでしょう。クラウドはこれと正反対です。自分の机の上でもなく、会社のサーバールームでもなく、インターネットの向こうのどこかにある巨大なデータセンターのコンピュータを借りて使うことです。
データセンターとは、数千台、数万台のコンピュータが列をなして動いている大きな建物です。クラウド事業者はこれらのコンピュータをインターネットにつないでおき、必要な人に細かく分けて貸し出します。私たちはそのうちの一片を借りて自分のサービスを載せ、インターネットを通して遠隔で利用します。
肝心なのは二つです。一つ目は、必要なときに借りること。二つ目は、使った分だけ払うことです。これを従量課金 (pay-as-you-go) と呼びます。電気や水道の料金のように、使用量に応じて請求される方式です。コンピュータをまるごと買って一生抱え込むのではなく、ホテルの部屋のように泊まっているあいだだけ借りてお金を払うと考えると近いです。
なぜ買わずに借りるのでしょうか #
それなら、いっそサーバーを一台買えばいいのではないか、という疑問が自然に浮かびます。借りる側が勝ったのには、はっきりした理由があります。
サーバーを自分で買うと、まず初期費用が負担です。機材代だけで済むわけでもありません。置く場所、電源、冷房、ネットワーク回線が必要で、故障したら自分で直さなければなりません。明け方にディスクが壊れたら、誰かが駆けつけなければならないということです。そのうえ、最初にどれくらい大きなサーバーを買えばいいのかを予測することも難しいです。大きく買いすぎればほとんど遊んでしまい、小さく買いすぎればユーザーが押し寄せた瞬間に止まってしまいます。
クラウドはこの悩みをほとんど取り除いてくれます。サーバーが必要なら数分で立ち上げることができ、トラフィックが集中すれば素早く増やし、落ち着けば減らしたり止めたりできます。このように需要に応じて資源を増やしたり減らしたりする性質を弾力性、その限界が広いことを拡張性と呼びます。ショッピングモールが大規模なセールのあいだだけサーバーをたくさん増やし、セールが終われば元どおりに減らすといった運用が可能になるのです。
私たちはすでに毎日クラウドを使っています #
クラウドというと開発者や会社だけの話のようですが、実は一般のユーザーも毎日使っています。
スマートフォンで撮った写真が、Google フォトや iCloud に自動でアップロードされます。これらの写真は自分のスマホの中ではなく、Google や Apple のデータセンターに保存されます。Netflix で映画を見るときも、その映像ファイルは自分の端末にはありません。Netflix が借りて使っているデータセンターから、インターネットを通って流れてきます。会社の書類を Google ドライブにアップロードして同僚と一緒に編集するのも同じです。
共通点が見えてきます。私たちは自分の端末に何かを保存して処理する代わりに、他人のデータセンターに預けてインターネットで取り出して使っています。だからスマホをなくしても写真は残っていますし、どの端末からアクセスしても同じ書類を見ることができます。すでにクラウドの便利さの上で暮らしていたわけです。
AWS、Azure、Google Cloud #
他人にコンピュータを貸し出すこの事業を、最も大きな規模で手がけている会社が三つあります。Amazon の AWS (Amazon Web Services)、Microsoft の Azure、そして Google の Google Cloud です。よく三大クラウド事業者と呼ばれます。
この市場を最初に本格的に開いたのが AWS です。Amazon は 2006 年に、コンピューティングとストレージを貸し出すサービスを打ち出してクラウド時代を開き、今も市場を牽引する代表格です。だからクラウドを初めて学ぶなら、AWS から覚える場合が多いです。続いて Azure と Google Cloud が素早く追いつき、三社で市場を分け合っています。
貸し出される資源の種類も多彩です。最も基本的なのはコンピューティング (サーバーを借りること) とストレージ (保存領域を借りること) で、そこにデータベース、ネットワーク、人工知能ツールまで、数百種類のサービスがメニュー表のように用意されています。
このメニューを借りて使う方式は、大きく三段階に分かれます。IaaS はサーバーやストレージのような生のインフラだけを借りて、残りは自分で整える方式です。PaaS はコードをアップロードすれば実行環境まで自動で面倒を見てくれる方式です。SaaS は Google ドライブや Netflix のように、完成したソフトウェアをそのまま使う方式です。借りる範囲が広がるほど気にかけることが減ると理解すれば十分です。
借りることにも裏側はあります #
ここまで見るとクラウドは万能のようですが、他人のコンピュータを借りるという言葉には影もついてきます。
まず、コストが漏れやすいです。使った分だけ払うという言葉は、つまりうっかり消し忘れて起動したままのサーバーにも料金がかかり続けるということです。小さな設定ミス一つで、予想より大きな請求書を受け取ることも珍しくありません。次は依存性です。中核となるシステムを一つの事業者に深く載せておくと、あとで別のところへ移すのが厄介ですし、その事業者に障害が起きれば自分のサービスも一緒に止まります。最後は、セキュリティ責任の分担です。データセンターの物理的なセキュリティは事業者が責任を負いますが、その上に載せたデータや設定のセキュリティは借りた側の役目です。借りたからといって責任まで全部渡したわけではない、という点を覚えておく必要があります。
ですからクラウドは「使えば必ず良いもの」ではなく、「長所と短所を知ったうえで選んで使う道具」に近いです。この均衡感覚があってこそ、コストもセキュリティも揺らぎません。
まとめ #
今日は、クラウドが結局のところインターネットの向こうにあるデータセンターのコンピュータを借りて使うことだという点を見てきました。必要なときに借りて使った分だけ払う従量課金、需要に応じて増やしたり減らしたりする弾力性、AWS と Azure と Google Cloud という三大事業者、IaaS から SaaS までの形、そしてコストと依存性とセキュリティという裏側まで、一度に押さえました。「ただの他人のコンピュータだ」という冗談が、なぜ正確な定義なのか、もう感覚がつかめたはずです。
ここからさらに一歩踏み込んで、自分でサーバーを借りて扱ってみたいなら、市場を開いた代表格の AWS から始めることをおすすめします。アカウントやリージョンといった基本概念から実際の運用まで順を追って整理した AWS 基礎講座 で、続けてお会いしましょう。