AWS Ops 工作对比(基本图像 + 代码部署 + 自动缩放)
AWS Ops work vs ( base-image + code deploy + autoscaling )
目前,为了使用 AWS 实现基础设施高可用性和可扩展性,我使用了以下组件。
base-image
-- autoscale
将使用它在高流量期间启动新实例。
auto-scale
-- 我配置了 autoscaling
策略,使用上述 base-image
.
启动新实例
code-deploy
-- 每当 autoscale
启动新 instance
时,code-deploy
将最新的成功修订部署到该实例。
关于代码部署的最好的事情是,如果当前部署失败,那么它将回滚到以前的成功修订。
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 在每次部署时启动一个新堆栈并将流量从旧堆栈转移到新堆栈,使您的设置更进一步,并使它更棒。这对于为测试、预生产和生产保留多个环境也很棒。
目前,为了使用 AWS 实现基础设施高可用性和可扩展性,我使用了以下组件。
base-image
--autoscale
将使用它在高流量期间启动新实例。auto-scale
-- 我配置了autoscaling
策略,使用上述base-image
. 启动新实例
code-deploy
-- 每当autoscale
启动新instance
时,code-deploy
将最新的成功修订部署到该实例。 关于代码部署的最好的事情是,如果当前部署失败,那么它将回滚到以前的成功修订。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 在每次部署时启动一个新堆栈并将流量从旧堆栈转移到新堆栈,使您的设置更进一步,并使它更棒。这对于为测试、预生产和生产保留多个环境也很棒。