最佳策略:将新代码部署到现有实例或新实例?

时间:2016-01-19 16:52:18

标签: ruby-on-rails deployment digital-ocean

需要思考:在部署新代码时,部署到全新实例(数字海洋上的水滴)与部署到现有实例是否有好处?

现在很容易部署新实例,我想知道现在更好的方法是简单地部署一个新实例并将路由更改为新实例...

我知道您是否使用Chef或其他部署工具可能会指示一个解决方案,但会寻找有关该主题的一般想法......

1 个答案:

答案 0 :(得分:1)

这完全取决于您的基础架构有多大以及在显示停止和错误的情况下调试系统所需的工作量。可以在一定程度上维护小规模部署到现有机器,但是当系统占用空间变大时,应该是Immutable infrastructure的时间;你在哪里部署新机器并摆脱旧机器。而不是对现有的更改应用新方法。

这种方法的好处是:

  1. 在机器级别上更容易进行更多封装部署。你附加了新的实例,等待流量停在旧的实例上,然后将它们关闭。
  2. 对所有机器进行日志记录更加集中,这在调试时非常方便; 问题来自哪台机器正在创建此不良行为
  3. 灵活地杀死提出问题和创建的服务器 新的,可以将它们连接到负载均衡器。