Currently, to make infrastructure HA and scalable using AWS I am using following components.
Ancestor
-- Which will be used by base-image
to launch new instances during high traffic.
autoscale
-- I have configured auto-scale
policies which launch new instances using above autoscaling
.
base-image
-- Whenever new code-deploy
gets launched by instance
, autoscale
deploy the latest successful revision to that instance.
Best thing is about code-deploy is that if current deployment fails then it will rollback to previous successful revision.
code-deploy
-- I have integrated jenkins
with code-deploy so that if there is commit on jenkins
branch then after running test cases it triggers master
.
Note : code-deploy
has a base-image
kept under cron job. Whenever new instance launched by chef-client
it gets registered in autoscale
and if I push any chef-server
recipes it is automatically deployed to respective nodes through new/updated
.
I am thinking it is pretty much good architecture BUT then I come across chef-client
.
Will I be able to achieve pretty much same functionality with opswork
OR should I go with my current setup ?
Any suggestions would be appreciated.
Thanks
答案 0 :(得分:2)
opsworks os图像中有一个客户端(包括厨师),但厨师以独奏模式运行(即没有中央服务器)。您几乎可以复制Opsworks所拥有的内容,但是您将放弃一些灵活性和控制权。
我要做的是进一步使用您的设置,并通过使用CloudFormation在每次部署流量并将流量从旧堆栈转移到新堆栈时启动新堆栈。这对于保持测试,预测和产品的多个环境也很棒。