软件开发公司如何选择服务器硬件?

软件开发公司如何选择服务器硬件?

我们需要为一家小型软件开发公司(总共10-15名开发人员和15-20名网络用户)选择一些服务器硬件。

我们有一些常见任务,如互联网访问(防火墙)、电子邮件(SPAM 过滤器)、本地 NNTP 服务器、本地 FTP 服务器。我们还需要文件服务器、SMB 服务器。我猜这些应该放在单独的服务器(服务器?)上。

此外我们还有一些开发需求:

  • 持续集成(CruiseControl 当前正在运行 5-10 个项目,每个项目构建都需要长达 10 分钟的时间来编译、打包 Java 代码和运行单元测试)——我认为这是最耗费 CPU 的任务;
  • 问题跟踪、时间跟踪、wiki 等 - 几个 Web 应用程序(大多数是在 Tomcat 下运行的 Java,每个应用程序通常都需要由 MySQL 或 PostgreSQL 托管的一些数据库)
  • 版本控制-几个 SVN 存储库和一个用于遗留项目的 CVS。

什么样的硬件足以满足这些目的?是否有任何方法可以确定(计算所需的 CPU/内存)。

先感谢您。

PS 我们向国内的一家服务器供应商询问了这个问题,他们提供了两台服务器(2 x Xeon 5405 + 8GB RAM 用于所有网络设备,2 x Xeon 5430 + 32GB RAM + 12 x HDD SAS 146 GB 用于在 VM 上运行的所有开发设备)。总价约为 13,000 美元,这对我们来说相当昂贵。

答案1

我的建议是从运行 VMware ESX(或 ESXi,如果您的预算紧张)的单台服务器开始。添加四网卡 - 这将为您提供更多可用于网络路由器/nat VM 的网络接口。实际上没有必要从两台服务器开始 - 只需购买一台并密切关注其利用率。如果将来某个时候,您达到了一台服务器的 CPU/RAM/磁盘限制,请购买另一台,安装 ESX,并将 VM 迁移到该服务器。

就硬件规格而言,上面列出的“开发服务器”看起来不错。如果成本是个问题,那么从 16G RAM 开始 - 如果需要,您可以随时升级。

答案2

由于您是一家开发公司,对于许多防火墙/过滤/等功能,我更倾向于使用硬件设备盒。您可能会失去完整服务器可能给您带来的一些灵活性,但就管理开销而言(我猜您还没有准备好承担),这是值得付出的代价。

对于文件服务器,我与开发人员打交道的经验是,你需要很多存储空间。即使只有 10-15 人,您也会保留多个应用程序副本,安装多个版本的开发工具和套件、数据库套件等的文件,因此绝对不要在这方面吝啬。您甚至可能希望每晚将您的 PC 备份或映像到网络,这样空间就更大了。

具体需要多少取决于你使用的工具,所以你需要计算一下。我的经验法则是把这个数字翻倍,为未来留出一些空间。

我不明白为什么像你们这样的公司需要自己内部托管电子邮件。同样,这是管理开销,你不需要,而且很可能没有准备好,所以找一个好的外部提供商 - 最好是一个当出现问题时你可以轻松打电话并大声喊叫的提供商(这可能比任何好的功能都重要得多)。

不要忘记也为备份做好预算!

答案3

看到这些规格后,我首先要问的问题是,你为这些服务器预算了多少钱?电力/冷却成本如何?为了在购买硬件时做出明智的决定,你需要考虑的不仅仅是你想在它们上运行的应用程序。

答案4

听起来很像我自己的部门。我们有大约 30 名开发人员在 Linux/Apache/Tomcat/MySQL + Samba + SVN 上混合使用 PHP/Java,而我们的一对 HP DL360 则显得有点过头了。我会为您的路由器/防火墙/电子邮件构建一个准系统套件,价格约为 500 美元,并保留一台旧 PC 作为备份,然后花上一个更好的盒子,例如 HP DL380,用于开发环境。

相关内容