如何为软件开发公司select服务器硬件?

我们需要为一家小型软件开发公司(总共10-15个开发人员和15-20个networking用户)select一些服务器硬件

我们有一些常见的任务,如Internet访问(防火墙),电子邮件(垃圾邮件filter),本地NNTP服务器,本地FTP服务器。 我们还需要一个文件服务器,SMB服务器。 我想这些应该生活在一个单独的服务器(服务器?)。

另外我们还有一些发展需要:

  • 持续集成(CruiseControl目前运行5-10个项目,每个项目编译需要长达10分钟的时间来编译,打包Java代码并运行unit testing) – 我相信CPU是最耗时的任务;
  • 问题跟踪,时间跟踪,wiki等 – 几个Web应用程序(主要是在Tomcat下运行的Java,每个应用程序通常需要一些由MySQL或PostgreSQL托pipe的数据库)
  • 版本控制 – less数SVN存储库和传统项目的一个CVS。

什么硬件应该足够用于这些目的? 是否有任何方法来确定(计算所需的CPU /内存)。

先谢谢你。

PS我们已经问过这个问题,我们的国内服务器供应商之一,他们提供了两个服务器(2 x至强5405 + 8GB内存的所有networking的东西和2 x至强5430 + 32GB内存+ 12 x硬盘SAS 146 GB的所有开发东西运行在VM上)。 总价约为13K美元,这对我们来说相当昂贵。

我的build议是从运行VMware ESX的单个服务器(如果预算紧张的话,ESXi)开始。 投入一个四网卡 – 这会给你更多的networking接口用于你的networking路由器/ nat虚拟机。 真的不需要从两台服务器开始 – 只需要购买一台服务器并密切关注其使用情况。 如果在将来的某个时间点击一个服务器的CPU / RAM /磁盘限制,则购买另一台服务器,安装ESX并将VM迁移到该服务器。

就硬件规格而言,上面概述的“开发服务器”看起来不错。 如果成本是一个问题,启动瓦特/ 16G内存 – 你可以随时升级,如果需要的话。

因为你是一个开发公司,对于很多的防火墙/过滤/等function,我会倾向于使用硬件设备盒。 你可能会失去一个完整的服务器可能给你的一些灵活性,但是就pipe理开销而言(我猜你没有准备好承担),这是足够小的代价。

对于文件服务器,我与开发人员的经验是,你需要大量的存储。 即使只有10-15人,你也将保留多个应用程序的副本,安装多个版本的开发工具和套件,数据库套件等文件,所以绝对不要吝啬。 您甚至可能希望将您的PC备份或映像到networking,这是更多的空间。

究竟需要多less钱取决于你使用的工具,所以你需要计算。 我的一般经验法则就是把这个数字加倍,给你一些未来的空间。

我不明白为什么像你这样的公司需要自己的内部托pipe的电子邮件。 再次,这是pipe理开销,你不需要,可能不适合,所以find一个很好的外部提供者 – 最好是一个你可以很容易上电话,并在事情出错时大叫(这可以更重要比任何数量的不错的function)。

不要忘了备份的预算!

看到这些规格后,我会问的第一个问题是您为这些服务器预算多less? 电力/冷却成本如何? 为了在购买硬件方面做出明智的决定,您需要考虑的不仅仅是要运行的应用程序。

不要为VM机箱购买至强5400。 至强5500将以相同的价格提供更好的VM支持。

磁盘IO将成为虚拟机在服务器内部驱动器上运行的瓶颈。 您应该查看DAS或iSCSI SAN以添加更多的IO。 这听起来像外部存储已经超出了你的预算。

听起来很像我自己的部门。 我们有大约30位开发人员在Linux / Apache / Tomcat / MySQL + Samba + SVN上混合使用PHP / Java,而我们的一对HP DL360则是矫枉过正的。 我会为你的路由器/防火墙/电子邮件构build一个准系统工具包,价格大概在500美元左右,并且保留一台旧电脑作为备份,然后花费一个像惠普DL380这样更好的盒子作为开发环境。

由于没有专门的IT人员和有限的预算,您是开发云服务(如Amazon EC2 for dev和Google Apps for the business side)的合适客户。 您将不必担心,而且您的费用将随您的需求扩展,因此您可以避免大量的前期投资。 当然,这是假设你是固定成本线(我记得几年前,在树林里的平常事情是支付MB,不知道现在是如何)。

如果因为某种原因(连接性,安全性,老板太老式),这对你不起作用,你只需要在你的后房里做同样的事情。 得到一对高性能服务器(顺便说一下,摆脱那些引用你5400系列的人,Nehalems好多了,这不是很有趣,而你需要很多的内存是便宜的, $ 20 / GB左右),放下一堆虚拟机(使用任何虚拟化技术都离你最近的心脏),玩得开心。 最好的办法是每个应用程序有一个虚拟机 – 更容易pipe理。 为了节省时间,请使用Jumpbox作为您的内部应用程序。 对于防火墙和路由器的需求,还有Vyatta。 但是,你仍然应该期望价格在1万美元附近 – 除非你愿意从废料中制造东西,否则没有办法更便宜。