是否可以虚拟化开发人员机器?

时间:2009-11-03 17:13:48

标签: virtual-machine corporate developer-machine

这是预算编制的时间,而公司正在以更换同事的机器为代价,需要它,并且值得拥有它。

我们的小组是一个小型ISV / SAAS,作为较大媒体组的一个部门而存在。我们不是成本中心,我们赚钱,即使是今年。我们拥有一家中型媒体集团,其业务模式差异很大,而且似乎只能通过降低成本来实现。

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

企业希望为我们提供一些功能强大,但是可以手动使用的退役服务器,然后每个开发人员都会在该服务器上安装一个虚拟工作站。坐在我们桌面上的电脑将是愚蠢的终端,每台400-500美元。

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

请包括支持或反对的论据,证据,如果您已经看过这种尝试以及它已经有多好(或没有)。

10 个答案:

答案 0 :(得分:10)

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

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

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

最终,它被误导了。如果这个想法增加了大量的构建时间,那么硬件的任何节省都将很快被生产力的损失所抹去。相反,为开发人员花费在体面的个人计算机上的资金很快会在减少的构建时间内反复收回成本。

高质量的个人机器是投资,而不是成本。

答案 1 :(得分:7)

开发受磁盘限制,即您花费时间等待构建,这在大多数情况下都是磁盘绑定进程。如果你们共享一台机器,那么构建时间会变得更糟。

答案 2 :(得分:5)

除了所有的数量(性能,磁盘空间等......):

只要我还有多个显示器支持,我就可以了。

如果没有,那就不行了。

答案 3 :(得分:3)

基本无法理解开发人员框实际上在做什么的时间:

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

我非常高兴地接受虚拟化的论点 - 一个好的开发盒应该能够托管多个并发的虚拟机,以便隔离上面的一些并为测试提供“干净”的环境。请注意,这是为一个开发人员的利益而为一个开发人员托管多个虚拟机 的开发人员的框...

答案 4 :(得分:1)

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

但是作为奖励,你可以发展自己(我们都有笔记本电脑),无论是在办公室,家里,阳光明媚的海滩(最后一个可能是夸大其词)。

Bute是的,当然,对于图形繁重的应用来说,这可能并不都很好。

答案 5 :(得分:1)

听起来你的小组并没有提供你已经考虑好的文件格式的解决方案,否则公司不会在你的喉咙里推迟决定。如果您有一个文档化的开发流程,企业可能希望与您讨论更改流程,但只要您说“这种变化会破坏我们的流程并且我们必须重新调整我们的开发工作流程”,他们就会看到痛苦在重新制作过程中的$$并且很可能退出。也就是说,一旦您的流程得到记录,您应该在内部无情地尝试提高其效率和成本效益,并对公司的建议持开放态度。

答案 6 :(得分:0)

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

答案 7 :(得分:0)

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

尽管如此,这是降低成本的可行解决方案。我曾经在一家公司工作,后来他们转投这些哑终端。它工作正常。我的大学的HP UNIX机器是哑终端。他们登录到一台服务器,分割处理器所有权,然而许多人都登录了。人们会做什么是登录服务器并检查登录的人数。如果有太多,他们会搜索下一个一,因为构建时间明显变慢。我永远不会登录易于记忆的服务器名称。 =)

它肯定有效,但由于更长的构建时间,也会降低生产力,尤其是当多个人同时建造时。由于生产率难以量化,因此可能很难说出自己的观点。

答案 8 :(得分:0)

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

答案 9 :(得分:0)

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