Keep in mind, this is just my personal opinion.
QUOTE (Venti @ May 25 2008, 07:45 PM)

I fail to understand how having dedicated servers for specific tasks is complicating issues? Every web company I have ever worked for uses this type of setup. The only difference is they use a private rack so the latency isn't an issue (I had no idea the latency would be this poor or I wouldn't have done it). Infact, the new virtual rack product is for this exact type of setup... Having dedicared servers for specific tasks (mail servers, web servers, db servers, application servers) is more flexible/scalable long term.
So your justification for using this particular setup is, everyone else is doing it?
(assuming you use a control panel) Your control panel which previously took care of all account creation/termination now only does half the job. You will also now have to use nis or some form of authentication to allow your accounts to be consistent across both servers. You will also run into latency issues(which you have already brought up). What you describe as flexability, to some, may be complication.
If you do not use a control panel, then it should be no more complicated than simply setting up NIS, or some kind of authentication method.
QUOTE (Venti @ May 25 2008, 07:45 PM)

It also has the benefit of using specific hardware for each task (ex. faster disk for a db server, more cpu but not a lot of disk speed for an application server, etc..).
MySQL is quite customizable. You can easily make a disk IO intensive query run using more RAM, and alleviate quite a bit of IO. It will always be a trade off for resources between CPU, Disk IO, and RAM. Specializing each box would be no different than having 2 boxes equally using their resources.
QUOTE (Venti @ May 25 2008, 07:45 PM)

If I were to go this route you suggest, I would need to then replicate the databases and sync the files which would then encounter the same latency issues (admittedly less often). However, I do agree duplication should be done to prevent the sites from going down completely.
Why would you need database replication? I simply meant splitting your customers up entirely. half the users/webservers/db's on one server. Then the rest of the users/webservers/db's on the other. This alleviates the latency problem, eliminates the need for virtual rack, and as long as you are not overselling the boxes, should be perfectly fine resource-wise.
It would even allow you to create backups on each of the servers.