何らかの業務システムを構築しようとした時に SIer に構成案を求めると、小~中規模利用で明らかに単体サーバで十分用が足りるはずなのに AP サーバと DB サーバの2台構成で提案されるという事例がよく見られます。
このような2台構成というのは SIer が作る基本構成案のセオリーとなっているようですが、
【質問1】この構成を提案される理由として、合理的な根拠にはどのようなものがあるでしょうか?
また、一般的に AP サーバは専ら CPU、DB サーバは専らメモリとディスクに高負荷をかける傾向があり、専ら使用するリソースの性格が異なるので、個々の機器の性能を上げずに無闇に2台に分割しても性能面での大幅な向上は期待できないように思われます。
つまり、
【質問2】能力1のサーバを2台用意するよりも、能力2のサーバを1台用意した方が総合的に高いパフォーマンスが期待できるのではということですが、これについても反論その他ご意見ありましたらいただけると幸いです。
以下、【質問1】についての私の想定問答集です。
■DB サーバが高負荷だから (または AP サーバが高負荷だから)
→ 明らかに単体サーバで用が足りる規模のシステムを前提としているので、それは当てはまりません
■将来負荷が上がったときにスケールアウトし易いから
→ それは一理ありそうですが、利用するアプリは容易にスケールアウトできるような大規模利用を想定したものではありません。スケールアウトではなくスケールアップするなら単体サーバを丸ごと交換、またはその時に初めて DB 外出しにすれば済むのでは
■もし AP サーバに侵入された場合、DB サーバもまとめて乗っ取られるから
→ 同一サーバだろうと別サーバだろうと、AP サーバに侵入された時点で DB に SQL 投げ放題になるので実質的に変わらないのでは
■DBMS が CPU ライセンスなので、AP と DB を分けた方がライセンス費用を節減できる
→ 1台に集約することで CPU が2個以上になってしまう場合は確かにそれはありそうですが、CPU が2個以上も必要となるような大規模利用を想定したものではない前提とします
これ以外に何か理由が考えられる場合や、その他コメントありましたらお寄せください。