AWS Ops 工作对比(基本图像 + 代码部署 + 自动缩放)

AWS Ops work vs ( base-image + code deploy + autoscaling )

目前,为了使用 AWS 实现基础设施高可用性和可扩展性,我使用了以下组件。

  1. base-image -- autoscale 将使用它在高流量期间启动新实例。

  2. auto-scale -- 我配置了 autoscaling 策略,使用上述 base-image.

  3. 启动新实例
  4. code-deploy -- 每当 autoscale 启动新 instance 时,code-deploy 将最新的成功修订部署到该实例。 关于代码部署的最好的事情是,如果当前部署失败,那么它将回滚到以前的成功修订。

  5. jenkins -- 我已经将 jenkins 与代码部署集成在一起,这样如果 master 分支上有提交,那么在 运行 测试之后它触发的案例 code-deploy .

注意:base-image 有一个 chef-client 保持在 cron 作业之下。每当 autoscale 启动新实例时,它都会在 chef-server 中注册,如果我推送任何 new/updated 配方,它会通过 chef-client.

自动部署到相应的节点

我认为这是非常好的架构,但后来我遇到了 opswork

我能否使用 opswork 实现几乎相同的功能,或者我应该使用当前设置?

如有任何建议,我们将不胜感激。

谢谢

opsworks os 图像中有一个客户端(包括 chef),但 chef 以单机模式运行(即没有中央服务器)。您几乎可以复制 Opsworks 的内容,但您将放弃您拥有的一些灵活性和控制权。

我要做的是通过使用 CloudFormation 在每次部署时启动一个新堆栈并将流量从旧堆栈转移到新堆栈,使您的设置更进一步,并使它更棒。这对于为测试、预生产和生产保留多个环境也很棒。