クラウドを選択するのは最適解か
この記事は2023/03/24に作成されました。
Web上で何らかのサービスを展開する場合、サーバーが必要となるのは昔も今もあまり変わりません。
以前はサーバーとなるとレンタルサーバーなどを使ったり、ハウジングサービスを利用するというのが一般的な手段でしたが、現在ではクラウドを第一に選択するというケースが多いかと思います。
しかしこのクラウドを選択するというのが必ずしも正しいとは限らないケースも多いです。
今回はAWS、GoogleCloudPlatform、Azureなどのパブリッククラウドサービスを念頭におきつつ、メリット、デメリットを上げていき、最適なサーバー構成を考えます。
■クラウドのメリット

クラウドの利点は、直ぐに必要な台数のサーバーが手に入る、という点でしょう。他のサービスですと、料金の支払が終わってから、利用開始するまでにタイムラグがそれなりに生じます。
クラウドであれば、アカウントに対して必要なサーバーさえ選択すれば、即時利用可能となります。これは他のサービスに比べて圧倒的な速度メリットです。
このメリットを活かし、負荷が上がるときだけサーバーを増やすオートスケールなどの仕組みも利用できるようになっています。負荷が下がればサーバー台数を自動的に減らすように設定できるため、最適なサーバー台数を維持しやすくなっています。
またクラウド独自のマネージドサービスが多く提供されているのも特徴かもしれません。例えば、DBサーバーなどは自分で構築した場合は、バックアップや運用の保守などを自ら行う必要がありますが、クラウドで提供されているDBサーバーを使えば、面倒な点は全てクラウド会社が行ってくれます。
他にもWebシステムなどで良く使う仕組み、例えば認証や統計データ解析なども提供されているため、複雑な部分を作ること無く、クラウドのサービスに任せて、作りたいものを作りたい部分だけ作成して、システムを構築することが可能です。
クラウドですと、複数のサーバーを組み合わせて一つの仕組みを作ることができるため、社内向けに作成していたシステムもあまり変更なく、クラウドで稼働させることができるケースも多いです。
■クラウドのデメリット

クラウドの場合、料金が従量課金である点がネックでしょう。使った分だけ支払うというのは一見コストパフォーマンスに優れているように思えますが、サーバーの稼働時間分料金の他に、ネットワークの使用料金などさまざまなコストが追加されていくため、想像以上の費用が結果として掛かってしまうケースもあります。また、設定を誤った結果、サービスを多量に利用する結果となり、高い金額を請求されてしまうケースも散見されます。クラウドの場合、料金の計算が複雑であること、掛かった費用がリアルタイムで確認できない点などから、問題が生じていることに気付きづらい点もデメリットになるでしょう。また、クラウドベンダーはほぼ海外勢が多いため、支払を米ドルベースで行う必要があり、円安が進むと、相対的に費用が高くつく点もあります。
オートスケールなどの仕組みを用いることで、最適なサーバー台数で運用が可能ではあるのですが、ある程度どのようなスペックのサーバーを初期に用意して、オートスケールではどのくらいの敷居値で増やしていくのかなど、サーバーのスペック自体を考慮する必要があり、この組み合わせも膨大に用意されているため、選択がしづらい点があります。
また、常時サーバーを定数的にクラウドで動作させていたところから、自社で運用する形態に変更した方が遙かに安価に運用できるようになった、という事例も公開されています。
『We stand to save $7m over five years from our cloud exit』,DAVID HEINEMEIER HANSSON,https://world.hey.com/dhh/we-stand-to-save-7m-over-five-years-from-our-cloud-exit-53996caa,2023/03/24閲覧
こちらも費用面に関わってきますが、クラウドの場合、最初に選択したクラウドベンダーが提供するSDKなどを利用してシステムを作成し、クラウドのサービスを利用するケースが多くなります。クラウドのサービスを最大限に利用しようとすればするほどSDKへの依存度が高くなり、仮にクラウドベンダーを別のクラウドベンダーに移そうとしたときに、SDK部分を取り除き変更が必要となるため、移行コストが膨大な金額になる可能性もあります。あるベンダーに依存しているため、移行ができない状況をベンダーロックインと呼びますが、クラウドでも利便性が高いと、サービスを使えば使うほどベンダー依存が高まってしまう点があります。このときにクラウドベンダーに問題が無ければ、これは大きな問題にはなりませんが、ベンダーが利用料を上げるなどし、コストメリットが無くなってきた場合や、何らかの都合でシステムを移管する必要が生じたときに問題となります。
『ベンダーロックインとは?脱却する方法を事例を用いて専門家が解説』,田中剛,https://smbiz.asahi.com/article/14743814,2023/03/24閲覧
■利用ケースに対して最適な選択を

直ぐにユーザーが増えて、サーバーの増強が必要となってくることが最初から予想できるケースであれば、クラウドを選択するのも良いでしょう。また、オンプレのシステムを移行する場合は、クラウドで構成しないと賄えない可能性もあり、この場合もクラウドが選択されるでしょう。
しかし、通常のWebサイトやECサイトなどでは、ある程度初期のアクセス数は予想ができるケースが多く、クラウドではスペックオーバーとなるケースが多いです。またお客様が増えてきたとしても予めシステムで想定しておけば、クラウドでのサーバー増設に比べて時間は掛かりますがサーバーを増やすこともでき、対応できるアクセス数を増やすことも可能です。
レンタルサーバー会社が提供しているVPSなどを利用すると、自分でサーバーソフトウェアの設定や運用は必要になりますが、月額固定になっていることが多く、費用面でも計算がしやすくなっています。複数台を組み合わせて運用すれば、ある程度の規模のシステムでも対応可能であり、サーバーソフトウェアなどの設定は自らが行うため、別のサーバー会社に移行する、またはクラウドに移行する場合のコストも抑えることができます。
弊社ではさまざまなお客様のご依頼に応じてシステムを作成していますが、クラウドご希望の場合でもVPSをご提案したり、場合によってはレンタルサーバーをご提案するケースもあります。この場合も弊社でサーバーの設定・保守・運用まで面倒を見ており、難しい扱いをしていただくこともありません。
規模的にクラウドの方が良い、という場合は、クラウドをご提案いたしますが、その場合もAWS、GoogleCloudPlatform、Azureなどから最適なものをご提案させていただいております。
サーバーを選ばれる際には、クラウドありきではなく、さまざまなソリューションから複合的にご選択いただくと、長期的にも良い結果を生み出すと思っております。
CTO/sekiguchi