← ニュースに戻る

なぜ「より大きなサーバー」に移行しても、サイトのダウンを防ぐことはできないのか

サイトのクラッシュを防ぐ0

多くの人が、有料のオンライン待合室を利用するか、ホスティング会社に追加料金を支払ってより大容量のサーバーを契約するか、という二者択一を迫られていると考えて、CrowdHandlerを利用し始めます。

なぜそれがたいてい「二者択一の誤り」なのかを説明したかったのです。

「トラフィックの増加が見込まれるサイトはサーバーをアップグレードすべきだ」という考え方は、よく耳にするものです。そして、訪問者数が着実に、少しずつ増加しているウェブサイトにとっては、それが正しい答えとなるかもしれません。

しかし、当社の顧客がしばしば経験するような、時折ながら大幅なトラフィックの急増に見舞われるサイトの場合、「待機室」型の製品を利用する代わりに、より大容量のサーバーを契約してしまうと、結果として費用がかさみ、悔やまれる結果になる可能性があります。

なぜ「大きい」ことが必ずしも「良い」とは限らないのか

わかりますよ。セール開始と同時にサイトを公開したら、サイトがダウンしてしまったんですね。多くの訪問者が来ることは予想していましたが、当日、その数に驚いてしまったのかもしれません。あるいは、サイトが期待通りに処理できなかっただけかもしれません。確かに、それは本当に厄介なことです。でも、実はよくあることなんです。ここで話しているようなトラフィックの急増を正確に予測するのは、信じられないほど難しいのです。

そこで、皆で相談した。おそらくマーケティングマネージャーが、ウェブホスティング業者に相談するよう提案したのだろう。現在、サーバー代として月額500ドルを支払っているのだから、月額1000ドルを支払えば、2倍の容量のサーバーが手に入るはずだ。そうすれば、2倍のトラフィックにも対応できるはずだ、と。

おそらく、ご利用のホスティング会社からはすでにいくつかのスペックが提示されているでしょう。彼らが提案しているプランには、8ギガの何かや48個のCPU、その他にも、現在お使いのものよりも魅力的に聞こえるさまざまな数値やスペックが含まれています。

しかし、もし心の中で「どこか引っかかる」という疑念があるなら、おそらくその通りでしょう。実のところ、不定期にトラフィックが急増するウェブサイトの場合、そう単純な話ではないのです。

スパイクのある場所には、専用の製品が必要です

まず第一に、ホスティング費用を2倍に増やしたところで、本当にこの問題の規模に対応できるのでしょうか?

長期間にわたってトラフィックがほとんどない状態が続いた後、時折(たとえば毎週金曜日の朝など)、一斉に多くのユーザーがアクセスしてくる場合、その数時間のトラフィックは2倍ではなく、20倍、50倍、あるいは100倍にも達する可能性があります。ホスティング費用を2倍にしたところで、その需要をまかなうには到底不十分でしょう。毎週のセールに対応するためだけでも、その100倍の費用が必要になるかもしれません。

支出の面から見ると、それは投資対効果としてあまり良いものとは言えないでしょう。

しかし、仮に資金に制限がなく、通常のトラフィックの何倍もの負荷にも耐えられる、大幅に強化されたインフラに投資できるとしましょう。その場合の総投資額は、「単にサーバーを大きくする」こと以上のものをカバーする必要があります。

というのも、ウェブサイトのインフラについて言えば、状況に応じてスケールアップやスケールダウンできるような単一の機器は存在しないからです。 たとえハードウェアのスケールアップを行ったとしても、高負荷のウェブサイトに対応できるよう、その上で動作する個々のソフトウェア――データベース、ウェブサーバー、できればキャッシュ層、あるいはCDN(コンテンツ配信ネットワーク)――に対して、専門家による設定が必要になる可能性が高いでしょう。これらのソフトウェアは互いに連携しており、それぞれが異なる役割を担っているため、さまざまなボトルネックやボトルネックとなる箇所が生じます。 これらすべてを慎重に調整、設定、管理する必要があります。ウェブホスティングプロバイダーが代わりにこれを行ってくれることはありません。したがって、ホスティング費用に多額の投資をしたとしても、設定が完璧であることを確実にするために、専門家に多大な時間を費やしてもらうための費用も別途必要になるでしょう。

ここでは、入念な負荷テストや、場合によってはウェブサイトのコアコードの書き換えについても検討する必要があります。多くのお客様と同様に、WordPressのような標準的なコンテンツ管理システムやフレームワークをご利用の場合、そもそもコア製品に大幅な変更を加えることはできません。

また、トラフィックの急増がどのような形になるかを正確に予測するのは非常に困難です。テストや推測に多大な時間と費用を費やすことはできますが、セールが実際に開始されるまでは、何が起こるのか誰にもわからないのです。

AWSを使えばいいんじゃないですか?

多くの人からそう言われます。まあ、確かにそれは可能ですが、そのコストはさらに倍増する可能性があります。 AWS上で真にスケーラブルなウェブサイトを構築したいのであれば、単にクレジットカード情報を渡すだけでは不十分です。すべてを設定してもらうには、AWSの専門家が必要です。たとえAWSにプレミアムサポートの料金を支払っていたとしても、AWS側は貴社の組織内にアプリケーションやインフラの専門家がいて、その専門家と直接やり取りできることを期待しています。しかし、貴社のチームには、そのような専門家がいない可能性もあります。

計算してみてください

CrowdHandlerで手がけているようなシンプルなウェブサイトにおいて、スケーリングが決して容易ではないことが、お分かりいただけたのではないでしょうか。

しかし、最新のサーバーレスなAWSやKubernetesのセットアップに精通しているクライアントであっても、無制限のスケーリングを実現できないという数学的な理由が存在する可能性があります。

NFTであれ劇場の座席であれ、代替不可能なもの――つまり、数学的に数量が制限されているもの――を販売する場合、本質的に数学的なボトルネックが存在します。 特定の日付において、34H席を2回以上販売することはできないため、その商品を複数のサーバーに複製することでスケールアウトすることはできません。(御社の技術担当者は非常に優秀で、適切なデータベース製品を使えば解決できると考えているかもしれませんが、信じてください。結局のところ、数学の壁を乗り越えることはできないのです)。

つまり、多くの点において、ホスティングのスペックはそもそも無関係である可能性があります。なぜなら、重要なのはマシンがどれほど高速に計算を行えるかではなく、多数の並列ユーザーに対応するためにサーバーファームがどれだけの並列計算を処理できるか、そしてそもそもそれらの計算が真に並列で実行可能かどうかという点にあるからです。

専門知識

では、要点をまとめましょう。もし、より大規模なサーバーと待合室のどちらを選ぶかという二者択一を迫られていると感じているなら――たとえそのサーバーが、AWS上の専門的に管理されたクラスターであり、どんな需要にも対応できる、一見無限にスケーラブルな「魔法のサーバー」であったとしても――それはおそらく誤った二者択一なのです。

CrowdHandlerのようなオンライン待合室があれば、今後何が起こるかを正確に把握する必要はありません。たとえトラフィックの流入量が当初の予想を下回ったとしても、対応可能なペースでトラフィックを処理することが可能です。さらに良いことに、これにより、ソーシャルメディア上でその場しのぎの対応に追われることなく、実際のボトルネックがどこにあるかを特定し、次回に向けて改善するための余裕と時間を確保できるのです。

また、専門知識の外部導入を検討されているのであれば、CrowdHandlerのようなオンライン待合室ソリューションを利用するのが最も費用対効果の高い方法です。CrowdHandlerは、まさに皆様のウェブサイトや販売プラットフォームが抱える特有の課題を深く理解しているスケーラビリティの専門家チームによって開発され、スケーラビリティに関する当社の知見のすべてが注ぎ込まれているからです。