5

现在是预算时间,公司不愿以更换同事机器的成本为代价,该机器应该得到它,需要它,并且应该得到它。

我们的团队是一个小型 ISV/SAAS,作为一个更大的媒体集团的一个部门而存在。我们不是成本中心,我们赚钱,即使是今年。我们归一家中型媒体集团所有,其商业模式截然不同,似乎只受降低成本的驱动。

我们的软件堆栈是 Windows Server 2008 上的 Visual Studio 2008、SQL 2008(因此可以在每个开发人员的机器上托管和调试多个根网站)。我们的目标硬件是 3GHz 四核工作站、4GB RAM 和 RAID 1 镜像硬盘,这样我们就可以避免因丢失开发人员硬盘而导致生产力损失。

公司希望给我们提供几个功能强大但被淘汰的旧服务器,然后每个开发人员都将在该服务器上拥有一个虚拟工作站。坐在我们桌面上的计算机将是每台 400-500 美元的哑终端。

我试图保持中立,但我怀疑很难辨别我的偏见。我希望看到真正的开发人员对此的反应,我认为这是获得它的最佳地点。

请包括支持或反对的论据,如果您已经看到这种尝试以及它的效果如何(或不怎么样),请提供证据。

4

10 回答 10

10

这听起来像是一个善意的想法,但是:

根据我的经验,您需要多核、大量内存和快速磁盘才能在当今的现代 IDE 中高效工作。我认为这种情况不会发生在任何经济的虚拟环境中。单独的盒子还是更好的。

这也是控制的问题。在虚拟环境中我可以想象各种限制。例如,您仍然可以安装自己的工具吗?

最终,它被误导了。如果这个想法大大增加了构建时间,那么硬件上的任何节省都将很快被生产力损失所抵消。相反,为开发人员花在体面的个人机器上的钱将在减少构建时间的情况下迅速收回成本。

优质的单台机器是一项投资,而不是成本。

于 2009-11-03T17:17:55.227 回答
7

开发是受磁盘限制的,即您花费时间等待构建,这是一个大多数时间受磁盘限制的过程。如果你们都共享一台机器,构建时间会变得更糟。

于 2009-11-03T17:18:58.913 回答
5

除了所有给定的(性能、磁盘空间等):

只要我仍然有多显示器支持,我就可以接受。

没有它,这是不行的。

于 2009-11-03T17:17:29.213 回答
3

基本无法理解开发人员盒子大部分时间实际上在做什么:

在通过处理器和磁盘构建其咀嚼时 - 特别是磁盘。在测试时,您谈论的是运行一个或多个 Visual Studio 实例(一旦您通过了两件事开始变得有趣)、数据库服务器、网站/服务以及所有其他东西(打开很多选项卡的浏览器、笔记本软件,天堂只知道还有什么)都分布在多个显示器(至少两个)上。大量的内核,大量的内存请!

我可以很高兴地接受虚拟化的一个论点——一个好的开发盒应该能够托管多个并发的虚拟机,以便隔离上述一些虚拟机并提供“干净”的测试环境。请注意,这是 ONE 开发人员托管多个 VM 的专用框,用于该开发人员的利益……

于 2009-11-03T17:32:13.520 回答
1

我们的团队在远程服务器(没有 GUI 的东西,普通的旧vim)上开发了很长一段时间没有问题。当然,它需要相当强大的服务器,如果每个人都开始同时编译,有时它会开始有点慢。

但作为奖励,您可以在哪里进行开发(我们都有笔记本电脑),无论是在办公室、家里还是阳光明媚的海滩(最后一个可能夸大其词),您都非常灵活。

但是,是的,当然,这对于图形繁重的应用程序可能并不适用。

于 2009-11-03T17:27:47.343 回答
1

听起来您的团队没有以有据可查的格式提供您考虑过的解决方案,否则公司不会将决定推到您的喉咙里。如果您有一个记录在案的开发流程,公司可能想与您讨论更改流程,但是一旦您说“这种更改会破坏我们的流程,我们将不得不重新调整我们的开发工作流程”,他们就会看到痛苦返工过程中的 $$ 很可能会退缩。也就是说,一旦您的流程被记录下来,您就应该在内部毫不留情地试图使其更有效率和成本效益,并对公司的建议持开放态度。

于 2009-11-03T17:37:04.673 回答
0

我假设您已经拥有用于 SVN/TRAC、持续集成服务器、产品演示、测试等的机器,并且您的团队可以对这些服务器进行的唯一可能用途是用于个人 VM。

于 2009-11-03T17:20:21.663 回答
0

我做了很多事情,让我的处理器保持 100% 的性能。编译当然可以实现这一点。现在想象一下必须与其他 10 个开发人员共享该处理器。生产力的损失将变得非常明显。如果您有一台多核 PC,这不会那么痛苦。获得一个 Intel i7,当 8 个人登录时您可能甚至都不会注意到它。大多数程序(包括我的编译器)无论如何都不能使用超过 1 个处理器。

也就是说,这是降低成本的可行解决方案。我曾经在一家公司工作,后来改用这些哑终端。它工作正常。我的大学有 HP UNIX 机器,它们是哑终端。他们登录到一个服务器,该服务器将处理器所有权分配给许多登录的人。人们会做的是登录到服务器并检查登录的人数。如果有太多,他们会搜索下一个一,因为构建时间明显变慢。我永远不会登录到容易记住的服务器名称。=)

它确实有效,但由于构建时间较长,特别是在多人同时构建时,它也会降低生产力。由于生产力是一件很难量化的事情,因此您可能很难反驳您的观点。

于 2009-11-03T17:22:53.767 回答
0

如果您需要对动画、视频或图像编辑进行任何操作,图形加速也可能是一个问题。您无法通过 RDP 会话真正测试视频播放,因为帧速率和/或颜色深度不够高。

于 2009-11-03T17:25:00.063 回答
0

无论性能如何,在我的公司,我们正在将笔记本电脑作为开发人员机器。主要优点是开发人员可以将他们的计算机带到会议、会议等。当您帮助他解决问题时,能够坐在同事旁边,并且拥有自己的开发环境,这非常有价值。

于 2009-11-03T17:32:58.457 回答