何気ない記録

なんとなく自分の意見を書き記すときにつかいます。つまり不定期更新です。

まず普通のVPSでは不可能

個人でWEB開発を15年くらいやってる者ですが

サイトの特性による。例えばアプリのバックエンドであれば最大ユーザー数なんてどうでもよくて同時リクエストへのレスポンスタイムでしか判断できない。独自サーバーで常に高レスポンス出せる腕あるなら素晴らしいが

 

タイトルで全てを語ってしまっていますが、同時接続数が一定数以上の場合、まずVPS上に構築されたサーバーでそれこそクラウドサービス並みの品質で処理をするというのは相当難しい。

 

この難しさは2つの問題がある。

 

1つは、そもそも個人が持つ技術的知識と、それを用いて構築された環境が、本当に性能的に耐えうるのか、それも持続的に、という問題。

ぶっちゃけ最低限フロントとバックエンドに2層は必要で、且つ、認証状態の管理やそれに付帯する情報の管理、そしてアプリケーションの主たるデータの管理等があるわけだが、それを通信インフラ上の問題も含め対応が必要になる。

私は国内のVPSクラウドサーバ上では中規模以上のサービスを個人又は自分のチームで立ち上げ運営した経験があるが、そもそも一番の課題はインフラの継続性であり、例えばVPSであってもメンテナンスはあるし、障害も発生する。

それらと合わせて中間層のアプリケーション、つまりAPIを構成するものについてのメンテナンス(セキュリティ対応、性能劣化対応)を初め、それらはサーバ自身のメンテナンスにもおよび、それらを全て行うというのは個人で行うのはなかなか大変。

それと同時に、メインとなるアプリ(例えばスマホアプリやフロントエンドに構築されたパッケージ群等)を成長させる必要があるわけで、これを「余裕です」と言えるのはごくごく一部の選ばれた人間だけだと思う。

私が知る限り、この手の事を一人で行っていると豪語する人は、大抵、セキュリティ対応も定期メンテナンスもしていない場合ばかりで、本当の運用は行っていないかと。

 

2つめはそもそもの提供ベンダーとの関係上性能限界があるという事。

クラウド基盤(例えばさくらのクラウド等)を借りるのであれば、コストはかかるが帯域含め必要なものを購入したり、また、プライベートネットワークを構築するなどで共有帯域への影響を避ける事ができる。

 

これは同時に、高負荷時のサービス停止の回避ができるという事。

記事では1日100万アクセスあるエロサイトとあるが、100万アクセスだとピークのありようによってはVPSの利用ではサービス基盤側からの警告や停止処分が行われる。

そもそもVPSクラウド基盤とは異なり、原則共有帯域を共同利用しているため、高負荷への耐性も低い。

また、それ以上に厄介なのが、帯域の安定性で、突然著しくレスポンスが悪化するというのは普通に発生する。

サイトの品質はアクセス数には関係がないので、1人しか来ないサイトであっても品質を維持するのであれば定期的にサイトのレスポンスを計測し、遅延が発生していないかの確認が必要になる。

例えば、エロサイトであっても画像配信のみ外部というケースはあるわけだが、この場合、画像配信側の帯域制限により、コンテンツの一部が表示されないなどというのは初歩的なミスでよくある話で、そういった事も含め、管理が必要となる。

国内でエロ可能なVPSというのは数える程しかなく、その中で帯域保障を行っているというサービスはほぼ業界の人間なら、あれとあれかな、といえる程度にしかない。

私は仕事柄、国内・国外問わず、様々なVPSクラウド基盤について情報を集め、その利用制限であったり、実際に使った人の声を集め整理しているわけだが、まずピークタイムでも全く制限を受けず持続的に利用できるVPSというものは存在しない。

一番のワーストケースは告知なくサービスがサスペンデッドされるというケースで、良い場合でも一定の閾値を示されたうえで、平均値がその閾値を下回らないのであれば停止するという警告となる。

で、これはサーバ台数を増やして対応できるケースもあるが、構成によっては水平分散では対応できないという事もあり、この場合はVPSの利用ではなく、クラウドへの変更が必要となり、月額のコストで言えば数倍に跳ね上がる。

 

こういったときの為に、個人開発でも、組織開発でもいくつかのサーバ構成とそれに対応するアプリケーション構成のシミュレーションを行い、万が一の場合や、サーバーの水平・垂直分散時のコストケースについて整理するわけだが、結局のところこのシミュレーションを行えば行う程、一定の規模以下の場合、人的負担も金銭的負担も機能レベルのサービスを借りるほうがよいというケースは少なくない。

 

当然、何を構築するのか、どのような機能を提供するのか、どのような品質を維持するのか等、様々な条件によるが、ブログサイト程度であっても安価なVPSで余裕という話はかなり限定的な話で、恐らくそれは、運用面で相当な犠牲(セキュリティ管理はしない、運用監視・管理・メンテナンスは限定的又は放棄する等)を払っているから成立している事であり、それを「真っ当な運用」という定義の中に持ち込むのはどうかと思うが。

 

それは「とりあえず動いていますが」というものであって、それ以上でもそれ以下でもない。