作为系统设计师,您会将负责核心基础设施(dns/dhcp/directory/web/wiki/repos/file share 等)的虚拟机和用于开发和测试的虚拟机放在同一台物理机器上吗?
我的看法:
为了
- 更好的硬件利用率 - 大多数 IT VM 的负载相对较低
- 有能力花更多的钱购买更好的硬件/w $来自不同的项目
- 总体支出减少
反对
- IT 和开发可能有不同的(独立)预算
- 失控的开发虚拟机可能会对核心 IT 服务产生不利影响
答案1
一般来说,我会建议不要这样做。我们认为开发是一个可能并且会因为工作性质而出现问题(无限循环、优化不佳的 SQL 语句以及所有那些有趣的东西)的领域
我实际上将开发环境视为运营/网络部门的测试环境。不过,如果您需要 5 个 9 的开发环境正常运行时间,那么这可能不适合您。
如果必须将它们放在同一台主机上,那么我会严格限制分配给它们的资源,以便如果它们遇到上述任何问题,它们就不会关闭任何其他服务。
将它们放在单独主机上的另一个好处是,您可以设计一些包含所有必需软件的模板,然后授予开发人员部署它们并在其上安装软件的权限。这样,如果他们需要启动新服务器或安装软件,就不必打扰任何人。
还有一件需要注意的事情是失控进程写入或读取磁盘会导致磁盘争用。
答案2
答案3
在小店里,我会这么做。
我可能会尝试进行设置,以便开发虚拟机位于具有单独物理适配器和 VLAN 的单独 vm-net 上,并将开发虚拟机锁定到特定的 CPU,以减少对核心服务虚拟机造成严重影响的可能性。
此外,如果情况变得太糟糕,您可以随时将虚拟机移动到另一台服务器,对吗?
答案4
你应该总是独立的生产和开发/QA 环境