雲を駆け抜けろ

第6回クラウドのデメリットとは

クラウドは万能ではない

前回まではクラウドの特徴とメリットを説明してきました。前回まではあえてクラウドのメリットを中心に説明してきましたので、まるでクラウドは万能のソリューションのように思えたかもしれません。

また今までの説明を聞いた方のなかには、何千台もスケールアウトをするようなシステムや無限にスケールアップするサーバ、さらに絶対に落ちないサーバなど「クラウド」に過度の期待をしている方もいるのかもしれません。

しかし、残念ながらクラウドは決して「万能のソリューション」ではありません。今回はクラウドのデメリットを説明していきたいと思います。

「仮想化」といっても実体はある

クラウドは仮想サーバを利用しているという説明がよくされるので、そこからイメージを膨らませて無限にスケールアップ、スケールアウトができるように思われる方もいます。しかし、残念ながらクラウドでも限界はあります。

今まで説明した通り、一般的なクラウドの環境では1台のサーバを分割して仮想サーバを提供しています。そのため、格納されている物理サーバの性能を分割して仮想サーバができているのですから、格納されているサーバ以上の性能は出ませんし、もし物理サーバが壊れてしまえば、そこに格納されている仮想サーバは動かなくなります。

これらのことは以前から自分で物理サーバを利用している人にとっては、あたりまえのことだとは思います。しかし、クラウドの事を説明するメディア記事やクラウドのセールスマンの話を真に受けてしまい、クラウドの性能や安定性に過度の期待をしてしまう人も少なからず出ているようです。クラウドと言って決して特別なものではなく、実際は物理サーバであるということを覚えておいたほうが良いでしょう。

クラウドは本当は安くない

クラウドのメリットでよく語られるのは「価格が安い」という事です。確かに、今まで説明した通り、クラウド(とくにIaaS)は利用時間に応じた課金体系になっているところが多く、初期費用もありません。このため一見すると「クラウド」の利用料金は安く見えます。

しかし、先ほど説明した通りクラウドといっても、基本的に物理サーバを分割しただけです。同じサーバを「クラウド」という名前に変えただけで、突然「初期費用がなくなり安くなる」ということは、普通に考えておかしいと思われるでしょう。

なぜ、結局は同じ物理サーバなのに「クラウド」と名前をつけると安くなるのか? 色々な会社のIaaSの料金プランを見れば、この疑問は解決すると思います。たとえば、IaaS事業者の中には同じプランでも月額と時間課金の両方のプランを用意しているところがあります。2つのプランでは、実は料金が異なっており、従量課金制度の料金で1ヵ月使った場合は月額料金で利用した場合よりも割高になるケースがあります。また、別のIaaS事業者では、長期間の契約を行うことで割引にするプランを出していますが、事前に料金を払うこと、つまり事実上の初期料金と最低利用期間の設定することで割引を受けられるプランが存在します。

このように「クラウド」といっても、事実上の「初期費用」「最低利用期間」を設定することで、価格を下げているところもあります。このことは「クラウド」で初期費用や最低利用期間がないプランの場合は、逆に「割高な料金」を払っている場合も出てくるでしょう。スポットでサーバの数を上下したい場合はクラウドの利用は適していると思いますが、あらかじめサーバがどのぐらい利用できるかわかっている場合は、わざわざクラウドを利用することはないでしょう。

仮想化ゆえのオーバヘッド

クラウドの場合、以前の連載でもお伝えしたとおり仮想化技術を利用しています。この仮想化技術は、1つのサーバリソースを分割したりするのは非常に優れた技術ですが、サーバの仮想化を行うとオーバヘッド(本来の目的以外でCPUパワーなどのリソースが消費されること)が起き、同じサーバのスペックでも単に仮想化しただけでもスペックダウンとなってしまいます。

最近は、PCI-Expressに装着する高速なSSDが流行しており、それを装着したサーバが販売されていたり、専用サーバのホスティングサービスとして販売されています。この「PCI-Expressに装着する高速なSSD」を仮想化された環境で利用した場合、性能が劣化いたします。せっかく高速なストレージを導入したのに、仮想化することで性能が落ちてしまうのであれば、わざわざ仮想化を行うことはしないでしょう。

この連載でもクラウドの特徴である「スケールアウト」のことを説明してきました。サーバの台数を増やすことで、システム全体の処理能力を上げる方法です。クラウドのメリットを説明する時によくメリットとして言われるスケールアウト、確かにサーバを増やせば性能が上がりますが、当然増やした分のサーバの料金は増えますし、なにより膨大に増えたサーバの管理に手間取ることが予想されます。また、サーバの用途によっては、サーバを100台に増やしたからといって性能が100倍になるとは限りません、そのようなスケールアウトを行うよりもPCI-Expressに装着する高速なSSDを物理サーバで採用したほうがコストパフォーマンスが良い場合も多くなってくると思います。

そのクラウドにロックインされても大丈夫か?

自分が利用しているIaaSやPaaSの便利さに慣れてしまうと、そのプラットフォーム以外で開発をすることが無くなってくると思います。しかし、PaaSの場合は特にそのプラットフォーム独自のルールを設定しているところもあります。料金が適切でシステムも安定している場合もそれでも問題がありませんが、もしなんらかの理由によってプラットフォームを変更しなければならなくなった場合に大きな負担となります。

以前、代表的なPaaSベンダが料金設定を急に変更した時がありました。この料金変更によって、いくつかのベンダは別のPaaSやIaaSに移動しましたが、このPaaSには独自のルールがあり移行を断念した人達もいました。また、移動した人達も、そのPaaS用に覚えた事が無駄になってしまったことでしょう。

このようにPaaSの場合、便利に使っているうちは良いですが、そのPaaSの代替案がない場合、他のサービスに逃げる事ができません。料金や利用しているPaaSが時代遅れのものになってしまう可能性もあるので、注意が必要です。

それではIaaSの場合では、このような問題は起らないのでしょうか? それが決してそうではありません。たとえば、最近のIaaSの場合はPaaS的な機能を含んでいるものも多く、そのようなPaaS的な機能に「ロックイン」されてしまうと、自分が利用しているプラットフォームに何らかの不都合があっても他のプラットフォームに逃げることができません。IaaSであっても「便利な独自機能」がある場合は注意が必要です。

クラウドと物理サーバのベストミックスを

このようにクラウドの特徴を見てみると、クラウドにもデメリットがあることがわかります。時代遅れと思われている物理サーバにもメリットがあることがわかると思います。

実際にシステムを構築する場合は、インターネットに接続しているフロント側のサーバはクラウドで構築し、データベースなどのサーバは物理サーバを利用するなど、うまく使い分けをしていく必要がでてくるでしょう。

流行っているからといった理由やクラウドに夢を見すぎてしまい、そのままクラウドを利用してしまうと大きな失敗をしてしまう可能性があります。クラウドはメリットとデメリットを見極めた上で、物理サーバと合せて利用するのが良いでしょう。

 クラウドと物理サーバの併用を
図 クラウドと物理サーバの併用を

おすすめ記事

記事・ニュース一覧