Reputation: 1666
Currently, to make infrastructure HA and scalable using AWS I am using following components.
base-image
-- Which will be used by autoscale
to launch new instances during high traffic.
auto-scale
-- I have configured autoscaling
policies which launch new instances using above base-image
.
code-deploy
-- Whenever new instance
gets launched by autoscale
, code-deploy
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.
jenkins
-- I have integrated jenkins
with code-deploy so that if there is commit on master
branch then after running test cases it triggers code-deploy
.
Note : base-image
has a chef-client
kept under cron job. Whenever new instance launched by autoscale
it gets registered in chef-server
and if I push any new/updated
recipes it is automatically deployed to respective nodes through chef-client
.
I am thinking it is pretty much good architecture BUT then I come across opswork
.
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
Upvotes: 0
Views: 97
Reputation: 10566
There is a client (that includes chef) in the opsworks os images, but chef runs in solo mode (ie no central server). You can pretty much replicate what you have with Opsworks but you're going to give up some of the flexibility and control you have.
What I would do is take your setup ever further and make it awesome by using CloudFormation to spin up a new stack every time you deploy and shift traffic from the old stack to the new stack. This is also awesome for keeping multiple environments for test, preprod and prod.
Upvotes: 2