First of all, my apologies if this is not the right forum to write to.

Hi everyone. At my job, we are currently starting to develop software. There are also other people not related to development who need to store information such as purchase records and scanned documents. Initially, we thought about a pair of redundant servers in order to protect information and increase service up-time.

Currently, we are hosting a customized version of bugzilla for attending work orders. This implies that we have the Apache and MySQL services running all the time. Additionally, this service instance is being moderatly accesed by people in North and South America via high-speed intranet links so server load at a given time is not a critical factor.

We would like to put this little bugzilla instance on high availability by using a cluster. We would also like to setup a versioning repository for development projects. I initially suggested SubVersion, but I'm open to any other recommended content versioning system.

Finally, some order management folks would like to store information in an SQL server database instance. I still don't have much details on this so, put bluntly, I guess they still haven't figured out from their minds what they need :P

The key point that my manager is looking for is high-availability, fault-tolerance and redundancy.

I've got mainly these questions:

- What kind of server hardware do I need to set up such system? I believe I can get enough budget authorized for a moderately high Total Cost of Acquisition, so money shouldn't be a problem provided that my specs don't go overkill. Is it ok to go for server boxes, blade servers, NAS storage, etc? Which manufacturers offer good prices/support plans for this type of hardware and applications? Currently, my company tends to buy hardware from Dell or HP if it is of help.

- What kind of tweaks are needed to make the services (databases and repositories) aware of, and expose fault-tolerant functionality via redundant hardware? For example, I read that MySQL needs some kind of clustering extension in order to provide redundancy and HA.

- Most importantly, is there any way in which I could explain all of this in "manager speak", if you know what I mean? 😛 hehehe

I'm grateful for any help/references/tips you guys could provide on this.


This is not such a simple setup you are planning. It depends greatly on how much storage space is required, list of uses for the server, and applications that will be running on it?

Blade servers are out of the question for this type of setup. Since you already deal with HP and Dell, stick with them. Dell is usually slightly cheaper, HP servers are also decently priced. You can get around 20% from their listed prices if you have a direct contact at HP, and I'm sure Dell has a same deal.

 You will  need two servers, one as the primary the other as a backup hot swap. The applications should be saving everything to the database, in which case you can use replication to keep the backup server in sync. That's about all I can tell from your post. What type of specs for size, CPU, memory, and storage I can't answer with the information you provided. For that, you'd need to know the number of users for each application, if there is rack space available, how will usage increase in the future (headroom required), how much data will be saved, etc.

What about the network setup?  

You really need to get someone (consultant, or someone with experience in this at your company) to go through all the requirements and plan this out, otherwise it will require a lot of research on your part. If you have a specific question I'll be glad to help.