在工作中,我们正在将生产应用程序迁移到 VM 基础架构,到目前为止一切顺利。
我们提出的一个想法与我们的软件部署流程有关。这个想法是,当我们部署应用程序时,我们不会部署到现有的虚拟机,而是创建一个新的虚拟机,将应用程序部署到该虚拟机,对其进行测试,然后一旦看起来不错,就将其添加到负载均衡器。
我们期望的一个主要优势是,这将有助于控制测试和生产环境配置之间发生的偏差。如果我们在每次部署时都抛弃虚拟机,那么即使有人对单个服务器进行了更改,也不会持续很长时间。(最终,我们将转向集中配置管理,尽管我们认为虚拟机方法仍然有帮助。)
有人有这方面的经验或想法吗?我的一位同事提出的一个挑战是,我们可能需要转向每台虚拟机一个应用程序的配置,这样在部署其中一个应用程序时,我们就不会被迫关闭同一台虚拟机上的多个应用程序。另一个潜在的问题是,在部署时,多个虚拟机具有相同的主机名。
有兴趣听听你的经验和想法。这对我的组织来说是一个相当新的领域。
答案1
我认为每次都部署到新的虚拟机是个好主意。每个虚拟机拥有多个应用程序应该不是问题,只要您在切换到生产之前有一个流程来测试每个应用程序。您应该能够创建一个自定义启动脚本,为每个虚拟机提供一个唯一的主机名,以避免与生产虚拟机发生冲突。
您需要考虑以下几件事(我相信还有很多):
- 如何维护用于克隆其他虚拟机的主配置,并防止他人无意间更改配置,以免影响生产环境
- 如何自动将虚拟机从测试切换到生产,并可选择将其替换的旧虚拟机从生产负载均衡器中取出。