現在、3つのLAMPアプリケーションと、静的コンテンツのみのホームページ20サイト程を仮想化したサーバに構築したいと思っております。
下記の案1のように、アプリケーション毎にDBを構築し、サーバを分けるのと、案2のように、アプリケーション毎のプログラムとデータベースサーバを分けて構築するのとでは、どちらがベターなのでしょうか。
ちなみに、同じ構成のサーバをもう1台構築し、冗長化を致します。
よろしくお願いします。
【案1】
サーバ1:LAMPアプリケーションA(DBあり)
サーバ2:LAMPアプリケーションB(DBあり)
サーバ3:LAMPアプリケーションC(DBあり)
サーバ4:HPスペース
【案2】
サーバ1:アプリケーションA
サーバ2:アプリケーションB
サーバ3:アプリケーションC
サーバ4:データベースサーバ
サーバ5:HPスペース
仮想化したサーバに構築したいと思っております。
一台に全部詰め込むの?
いまいちその仮想化の目的が分からない。
単に仮想化すると言うだけなら1つのVM上にすべてのアプリケーションとデータベースを突っ込んだ方が効率はよい。
VMの数が増えればその分それぞれのOSの為にメモリとCPUを使うことになるし、
ウェブサーバーやDBサーバーのプロセスが増える分同様にサーバー資源が必要になる。
アプリケーション毎に顧客セグメントが違ってセキュリティ上分けたいなどの理由があれば案1を
選択する理由もあるが、それ以外だとサーバーを分ける意味自体が見当たらない。
本当にサーバーを分ける必要があるのか、あるのならどういう要求があるのかを考えてから提示して貰った方が良いと思う。
リソース効率は悪くなりますが、各アプリごとに業者が違うのであれば、やはり案1が良いと思います。
何かあった際に、DBを共有していると影響を受ける可能性があったり、
問題を切り分ける際も、全て他アプリと独立していた方が実施しやすく、業者さんも嫌がらないかと思います。
ご回答ありがとうございます。
参考になります。ありがとうございました。
1さん、2さん同様、案1に賛成一票です。
保守業者さんが違う場合、LAMPアプリのVer.UpなどでMySQLもVer.Upする必要がある場合なども影響範囲を小さくできますし、
なによりDBを他社同士で一蓮托生にしてしまうのはリスクが大きいと思います。
ご回答ありがとうございます。
参考にさせて戴きます!
ご回答ありがとうございます。
アプリケーション毎に、保守業者が違いますので、VMを分けようと考えております。
そうしますと、案1が良さそうですね。