[chef] Re: Re: Re: Re: Cloud Deployments


Chronological Thread 
  • From: Nick Peirson < >
  • To:
  • Subject: [chef] Re: Re: Re: Re: Cloud Deployments
  • Date: Tue, 24 Jul 2012 11:09:35 +0100

On 23/07/2012 19:37, John Martinez wrote:
" type="cite">We also use CloudFormation with Autoscaler for deploying Hosted Chef managed instances in AWS. The biggest issues are:

  • Chef bootstrap, since you can't use any of the knife bootstrap methods to launch instances
  • Dealing with the Chef validation key
  • Dealing with encrypted data bag secrets
We use a combination of EC2 instance metadata (user-data), custom bootstrap scripts and policy-secured S3 buckets to make this all work.

-john
I'd be interested to here how you do ongoing application deployments to your application servers. We've developed our template to the point the initial deployment works well and scales. Looking at deploying new versions of our application code to our server we've come up with suspending autoscaling on our app servers, deploying using capistrano with the capify_cloud plugin (previously capify_ec2), then resuming scaling. This prevents the race condition where new instances are started mid deployment and we'd get a mix of code versions deployed.

We've looked at a few alternatives such as starting a new stack and switching DNS entries to that, however we're using RDS which is part of the stack, so we'd lose data. We've also looked at creating new auto scaling groups and launch configs within the template and updating the stack with the new template, but there's no way to enforce (that I can see) that the new AS group is up and running and attached to the ELB before the old one is removed.

The solution we've got works, however I don't think it's very slick and I'd like to reduce the moving parts where possible.

Cheers
Nick



Archive powered by MHonArc 2.6.16.

§