we need to choose some server hardware for a small software development company (10-15 developers and 15-20 network users in total).
We have some common tasks like Internet access (firewall), e-mail (SPAM filter), local NNTP server, local FTP server. We also need a file server, SMB server. I guess these should live on a separate server (servers?).
Besides we have some development needs:
- continuous integration (CruiseControl currently running 5-10 projects, each project build needs up to 10 minutes to compile, package Java code and run unit tests) - I believe the most CPU consuming task;
- issue tracking, time tracking, wiki etc - several web applications (mostly Java running under Tomcat, each of them usually require some DB hosted by MySQL or PostgreSQL)
- version control - few SVN repositories and one CVS for legacy projects.
What hardware should be enough for these purposes? Are there any approaches to determine (calculate required CPU/memory).
Thank you in advance.
P.S. We've asked this question one of our domestic server vendors, they offered two servers (2 x Xeon 5405 + 8GB RAM for all network stuff and 2 x Xeon 5430 + 32GB RAM + 12 x HDD SAS 146 GB for all development stuff running on VM). The total price is about $13K, which is quite expensive for us.