可能重复:
VM 上有 15 到 20 名开发人员
希望为我的开发团队升级开发箱。我已经与 CTO 进行了交谈,他可能会给我两个选择:要么购买功能强大的箱体(比如说 core i7、8GB RAM)——每个箱体最多花费 1000-1200 美元,要么我可以花大约 15000 美元为我的团队投资一台 VMWare 服务器。
我的团队由 7 名开发人员组成(很快将变成 8 名),我们最终希望能够更灵活地创建开发环境,而无需依赖 IT 部门为我们构建新设备。显然,VMWare 还有许多其他好处,例如增强了我们创建自己的测试环境的能力等。
如果我采用 VM 例程,我将把 15K 全部转储到硬件中,然后只运行 VMWare ESXi 免费虚拟机管理程序 - 因为我相信这将很好地满足我团队的需求。但是,价值 15k 的服务器硬件被分成 8 种方式,其性能是否与适合所有人的酷热核心 i7 PC 相媲美(或接近?)?也许即使 VM 速度稍慢 - 所有其他优点都使 VM 成为整体上更好的选择?
有兴趣听听那些不得不做出这个选择的人们的意见。
答案1
我认为,我会选择高功率工作站。如果您希望让开发人员满意,则需要在 VM 环境中拥有极其优化的存储。在我的环境中,每个开发人员都在运行多个 SQL 实例,这会使磁盘在 VM 环境中一直非常繁忙。
如果您希望通过更大的灵活性和可扩展性使开发任务更容易,那么更好的做法是实现某种存储库,例如 Team Foundation 或任何适用于您的商店的存储库。
答案2
在我看来,这并不是一个“非此即彼”的情况。
您的开发人员需要尽可能快的机器。它可以提高他们的效率,更快地完成工作,并防止他们在等待计算机完成任务时分心。
您的开发人员还需要一个环境来测试他们的应用程序。安装、卸载,如果它在特定设置下工作。如果它是一个客户端-服务器应用程序,那么他们需要几个系统来测试应用程序,他们每个人都需要环境,以便能够自己寻找错误,而不是为了访问测试平台而互相争斗。
因此,答案取决于您现在拥有什么。如果您只有桌子、椅子和程序员,那么您需要工作站,因为人们必须在某个地方工作。如果您拥有不错的硬件并考虑升级,那么请为第 8 位开发人员准备一个工作站,并为他们提供自己的游乐场^H 测试环境。能够以他们喜欢的任何配置创建和拆卸机器将非常有用。他们也会喜欢恢复快照。另一方面,如果您的机器运行缓慢,但有一个还算不错的 IT 部门为您的员工创建测试环境,那么请为他们准备更快的物理机器。
就速度而言,工作站会更快。您说的是 32 个以上的真实核心和 64 GB 的 RAM,专门用于开发环境。CPU 使用率将取决于您的开发周期速度(他们编译/执行其他 CPU 密集型任务的频率),但您希望为他们提供至少 48 GB 的 RAM,以便 VMware 进行内存重复数据删除(如果他们的环境运行相同的操作系统,最好是相同的开发工具)。但他们仍然需要在他们的办公桌上放置一些东西来连接到虚拟基础架构。
在存储方面,如果您没有可以连接到 VM 基础架构的东西,那么入门级双控制器 FC 系统将花费您 15,000 美元的大部分资金。在这种情况下,构建虚拟化开发环境对我来说似乎不可行。
答案3
我认为,选择用于本地“沙箱”的优质 PC 还是通用测试机,取决于您的团队的工作方式。在我们的环境中,我们有中央测试服务器,所有开发人员共享这些服务器,因为他们可以共享许多通用组件。我们主要在 Windows 上进行开发,因此我们在虚拟机上有几个域控制器,几个他们主要共享的通用 SQL 服务器,然后是每个人正在从事的任何项目的额外虚拟机。好处是,这个测试实验室确实提供了他们都共享的通用服务级别,不必在自己的机器上单独构建,但他们仍然有很大的灵活性,可以为任何事情拥有自己的虚拟机。
15,000 美元对于开发服务器来说不算什么,但这确实取决于他们正在从事的工作类型。他们是否仅将其用于配置类型测试,以确保他们的代码能够与它集成的任何系统兼容?低功耗虚拟机当然可以处理这个问题。但如果他们想进行任何类型的负载测试,那就不适合你的预算了。
我们刚好花了大约 15,000 美元购买了一个用于测试的盒子。它是一台 Dell PowerEdge T710,配有 16 个内置驱动器、64GB RAM 和两个 6 核处理器。您可以在该盒子上轻松获得 35 个低功耗虚拟机。
显然,以您的预算,您不会购买一些外部存储阵列,当然也不会购买光纤通道,但一台带有一堆大磁盘的简单机器就可以了。