作为系统设计师,您是否会将负责核心基础架构(dns/dhcp/directory/web/wiki/repos/file share 等)的虚拟机和用于开发和测试的虚拟机放在同一台物理机器上?
我的看法:
为了
- 更好的硬件利用率 - 大多数 IT 虚拟机的负载相对较低
- 能够在来自不同项目的更好的硬件上花费更多/w $
- 总支出减少
反对
- 无论如何,IT 和开发可能有不同的(单独的)预算
- 失控的开发虚拟机可能对核心 IT 服务产生不利影响
作为系统设计师,您是否会将负责核心基础架构(dns/dhcp/directory/web/wiki/repos/file share 等)的虚拟机和用于开发和测试的虚拟机放在同一台物理机器上?
我的看法:
为了
反对
一般来说,我会说不要这样做。我们将开发视为一个可以并且将会因工作性质而中断的领域(无限循环、糟糕优化的 SQL 语句以及所有有趣的东西)
我实际上将开发环境视为运营/网络部门的测试环境。尽管如果您的开发环境需要 5 9 的正常运行时间,这可能对您不起作用。
如果您必须将它们放在同一个主机上,那么我真的会严格限制它们分配的资源,这样如果它们有上述任何问题,它们就不能关闭任何其他服务。
将它们放在单独的主机上的另一个额外好处是,您可以设计一些包含所有必需软件的模板,然后授予开发人员部署它们并在其上安装软件的权限。这样,如果他们需要启动新服务器或安装软件,他们就不必打扰任何人。
还要注意的另一件事是由于写入或读取磁盘的失控进程导致的磁盘争用。
谈谈你的“反对”观点:
诚然,它们可能是大公司的单独预算,但一些小公司的资源可能更有限——尤其是在支出大幅削减的情况下。
借助 VMware DRS或Resource Pools等选项,您可以轻松地将失控 VM 的风险降至最低。
在一个小商店,我会。
我可能会尝试进行设置,以便开发虚拟机位于具有单独物理适配器和 VLAN 的单独 vm-net 上,并将开发虚拟机锁定到特定 CPU,以减少您对核心服务虚拟机的影响太大的机会。
此外,如果情况变得太糟,您总是可以将虚拟机移动到另一台服务器上,对吧?
我可以想到一种情况,您可能希望有一个单独的环境来特别进行测试。
假设您要测试用于运行和管理虚拟环境的虚拟机管理程序或虚拟工具的新版本。您不希望在生产环境中执行此操作。
您应该始终将生产和开发/QA 环境分开
我们以前做过,没有问题。
如果您使用的是 Hyper-V,并且希望开发人员能够管理他们自己的一组 VM,您将需要查看Authorization Manager。这将让您只允许他们访问某些 VM 和这些 VM 的某些操作。