「クラウド」とは何か、今一度考えてまとめてみた
すっかり一般化した「クラウド」とか「クラウドコンピューティング」っていう言葉。
去年ぐらいから、技術系のニュースやブログで頻繁に登場してます。
そして、同じぐらい聞かれるのが
「そもそもクラウドって、ASPやSaaSと、どう違うのよ」
という質問です。
自分なりに「クラウドってつまり、こういうことだよね」っていうのをまとめてみました。
クラウドとASPの違い
Wikipediaによると、クラウドコンピューティングは
「ネットワーク、特にインターネットをベースとしたコンピュータの利用形態である。ユーザーはコンピュータ処理をネットワーク経由で、サービスとして利用する。」
と書かれております。この範囲では、昔からいう「ASPサービス」や「SaaS」と変わりません。
図で言うとこんな感じですね。
昔は「シンクライアント」なんてキーワードもありました。
さて、Wikipediaにはこうも書かれています。
「通常はオープン標準に準拠したソフトウェアや、ユーザー数や処理量の増減に対応できる仮想化技術が使用されるが、Googleなどはスケーラビリティ確保のために自社独自開発されたグリッドコンピューティング技術などを多用している。」
この
「グリッドコンピューティングの上で動くASPサービス」が、現在の「クラウド」と言われているようです。
グリッドコンピューティングとは
では、グリッドコンピューティングとは何でしょうか。
その前に、一般的なウェブサーバーを例に考えてみたいと思います。
現在、ホスティングサービス業者が提供するウェブサーバーの利用形態は、大きく「共用サーバー」と「専用サーバー」に分けられます。
共用サーバーは、1台のサーバーを複数人で分け合っているイメージです。賃貸マンションのイメージです。
それに対して、専用サーバーは、「1台のサーバーを丸ごと使えるサービス」です。イメージ的には一軒家を丸ごと借りきって住んでいる感じです。
ペーパーボーイさんが提供する「ロリポップ」や「ヘテムル」、さくらインターネットさんの個人向けサービスは、共用サーバーですね。
一方、さくらインターネットさんでも「マネージドサーバー」と呼ばれるサービスは、専用サーバーになります。
(実はVPSなど、物理サーバーとは別な形態があり、そこにも共用・擬似専用・専用、のような種別があるのですが、ここでは話を単純にするために「共用」「専用」と大雑把に分けます)
専用サーバーは、一般的に、共用サーバーより設定の自由度や、サーバー負荷に対する耐性の面でメリットがあります。
ただし、いくら専用サーバーと言っても、瞬間的にアクセスが増大した場合、たえきれなくなるケースがあります。
Yahoo!のトップニュースに乗ったり、2ちゃんねるでさらされて祭になったりすると、短時間の間に集中的なアクセス増加に見舞われて、ウェブページの表示処理が間に合わなくなります。
企業のウェブサイトや個人のブログなどの場合は、こういう事態になることはあまり無いのですが、話題を呼んでいる商品・サービスのキャンペーンサイト、沢山のユーザーに使ってもらう前提のポータルサービスサイト、ニュースサイトなどの場合は、このアクセス増加を無視しては運用できません。
特にビジネスとしてウェブサイト・ウェブサービスを運営している場合には、アクセス負荷の増大によるサーバーダウンは、ビジネスチャンスをみすみす逃すことになるため、事前の負荷対策が欠かせなくなります。
こういった場合、通常考えられる対策が、複数サーバーによるウェブサイトの運用=サーバーの冗長化です。
アクセスが集中したときに、自動的に複数サーバーに表示処理を分散させてしまう方法です。
サーバーは台数が多ければ多いほど、アクセス耐性が上がります。僕が今まで絡んだ案件では、ウェブサーバーで10数台の並列処理、アプリサーバーで4台ぐらいっていうウェブサイトが有りました。
さて、こう書くと複数台サーバーにすれば問題解決、のように思えるのですが、ここで無視できないのがサーバーコストです。当たり前ですが、サーバーが増えれば増えるほど、物理的なコストも運用保守にかかるコストも増大します。
しかも、アクセスが少ないときは、サーバーが「遊んでいる」状態なので、その間は完全にムダなコストになっています。
この、サーバー設備の遊休時間は、大型のウェブサイトになればなるほど無視できなくなります。
これを解消するために開始されたサービスが、グリッドコンピューティングサーバーです。
グリッドーサーバーでは、仮想サーバーが複数台集まって、ひとつのサーバー体としてサービスが提供されます。ユーザーは、そのうちの一部を、時間単位・もしくは台数(に近い概念)の単位で借ります。
そして、アクセス負荷が高くなった場合、同一グリッド内で負荷分散します。
こうすることで、急なアクセス増大にも耐えることができ、予めムダなサーバー資産も持たずに済むことになります。
使用した超過分のサーバー利用料金は、従量課金で請求されます。
グリッド・コンピューティングは、アクセス負荷に応じて利用料金が変わる、という意味では非常にメリットが高いのですが、「契約次第では、がんがん従量課金が増える」というデメリットも有ります。常にアクセス負荷が高い状態になってしまった場合、想定外のサーバー使用料金が発生します。
最近、Twitterで偶然、「クラウド破産」っていう言葉を見つけました。
これは上記の、「グリッド・コンピューティングの従量課金」にはまった例なのでしょうね。
グリッドだから「100%落ちない、大丈夫」なわけじゃない
今までの説明で言うと、なんとなく「グリッドってアクセス負荷が高くなっても落ちないんだね、安心だね」というイメージが有りますが、実際のところはそうでもないようです。
現実的には、グリッドコンピューティングでもサーバーが落ちる、ということはありえます。
実は、4-5年ほど前に、ある高アクセスのサイトを運用する業務で、グリッドサーバーを利用したことが有ります。確かにアクセス耐性は高かったのですが、何回かサーバーダウンに遭遇しました。僕が遭遇したのは以下のようなエラーでした。
・ホスティング会社のオペミス、設定ミス
・グリッドコンピューティングの制御ソフト自体のバグ
ヒューマンエラーなどは避けようのないもので、
「やっぱりウェブサーバーで100%安心っていうのは無いんだなあ」
と、緊急呼び出しを受けながらしみじみ思った記憶があります。
最も、当時はまだグリッドコンピューティングの事例自体が少なく、サービスとしても出始めたばかりだったので、現在はもっと枯れていることでしょう。エラー率は遥かに低下しているのではないか、と思います。
というわけで、クラウドとは
というわけで、一般的に言われている「クラウド」は、昔からあったASPという概念プラス、
「サーバー技術の進化によるコストダウン化、設備投資の適正化」
と合わせて「クラウド」なんだろうな、と考えた次第です。
逆に言うと、「クラウド」の恩恵は、個人利用のホームページや企業のウェブサイトにはあまりなくて、
「適正な設備投資により、ウェブサービスが安く提供できる」
とか
「キャンペーンサイトや大規模サイトの設備適正化」
などにあるといえるでしょう。
個人にとってのクラウドの恩恵は、便利なウェブサービスを安く手に入れられること。
企業にとっては、大型な設備投資を抑えられること。
と結論づけてみました。
(ここまで、自分の限られた範囲の知識で書いたので、「ここ間違ってるよ」とか、「これはこう書くべきじゃない?」などのご指摘、歓迎です。何かお気づきの点が有りましたらお知らせ下さい。)

コメントする