質問: 昨今のクラウドサービスでは取り敢えず開発してデプロイして負荷が高くなったらサーバーを上位のものにしたり負荷分散したりしますよね? これって取り敢えずやってみて負荷が多くなったらスペックを上げようという行き当たりばったりな方法に思えるのですが、そうではなくこのくらいのアクセスでこのくらいの負荷がかかるのでこのくらいのスペックのサーバーが必要だという様な事を言語選定の段階、設計段階から理論的に予測する方法は無いのでしょうか? それができないと設計段階で負荷が高そうだからC等の速い言語を選定するみたいなことが出来ませんよね? 世の中の開発会社はどのようにしてるんですか?ただの経験則ですか?
回答: 予測するために、実際のアクセスを想定した負荷試験を行えば良いと思います。 その結果でアクセスに耐えうる構成を見出しプロダクションリリースすれば、想定内であれば問題は発生しにくいです。 運用では想定外の事象も多く発生しますが、まずはこの程度で良いと思います。 クラウドはオンプレと違いスペックが不足していたら気軽にスケールできますし、 過剰リソースを無理に割り当てなくてもいいのではないでしょうか。