We are running a a web application on our test system (CentOS) like this - one Web-server (apache), two tomcat instances running the same web application, one PostgreSQL database - each on four virtual servers. The application is [meant to be] used by thousands of users and also requires some storages of sensitive user data. We are planning to move this into a production system and seeking some advice on choosing the right hardware for this functionality. I'm pretty much open to any suggestions (VM or dedicated or mixed) that cost effective and suits the best in this environment. I think I'm looking for is instant failover. Can any one suggest me a spec and any extra equipment(s) may required to run these services?
Couple of things in my mind: For the DB server, I'm thinking a dedicated server - RAID 1 mirrored for the system disk and RAID10 for the DB (local storage). Or should we go for some shared storage with FC? Fastest disks for the tomcat (that's the bottleneck - isn't it?), Round-Robin DNS for Web Server failover and dedicated GbE per box for I/O bandwidth to the net. But I'm pretty much interested to see how others design their system (CPU, RAM, extra H/w, process etc.) keeping this requirements in mind. Any input welcomed and very much appreciated. Thanks in advance. cheers!!