3 ms·
Heavy EC2 user here. This doesn't solve your problems, if you want to do this right, setup an EC2 Auto Scaling group and build an image each time you need to ch
by oellegaard 12y ago
Heavy EC2 user here. This doesn't solve your problems, if you want to do this right, setup an EC2 Auto Scaling group and build an image each time you need to change your server. That is the proven way most large deployments work, including Netflix.
- oellegaard 12y agoI have a semi-old blog post about how we do it here: http://blog.kristian.io/aws/2014/06/28/how-we-moved-from-heroku-to-aws-and-improved-our-setup.html http://blog.kristian.io/aws/2014/06/28/how-we-moved-from-her...
- jontro 12y agoIs there any guide on how to integrate this in a deployment workflow? I would be very much interested in reading up on how to do this the best way.
- lebski88 12y agoWe use this approach at MixRadio, you can read about it on our blog: http://dev.mixrad.io/blog/2014/10/31/How-we-deploy-at-MixRadio/ http://dev.mixrad.io/blog/2014/10/31/How-we-deploy-at-MixRad... There is also a video of a talk about it: https://skillsmatter.com/skillscasts/6057-herding-cattle-with-clojure-at-mixradio https://skillsmatter.com/skillscasts/6057-herding-cattle-wit... We based our approach on Netflix but ended up building our own tools which we've now open sourced.
- oellegaard 12y agoIf you're interested, shoot me an email and I will be happy to go through our setup. You can find my contact info at kristian.io
- discodave 12y agoYes but most people don't have large deployments like Netflix. The main reason Neftlix and co build entire images is because if you're scaling up and down by thousands of instances then the extra time for those instances to do all the build, configuration and so on is material. So you're better to do it once and essentially CTRL+C CTRL+V. If you're only scaling up a few instances at a time then your number one consideration is probably making life easy for yourself.
- bkirkbri 12y agoWe tend to take an in-between approach, baking base AMIs as needed but configuring and installing code with Ansible at boot time. We've got scripts to cut tarballs with an Ansible playbook plus support files from any tag in our repo. Then it's just a matter of specifying the tag in user-data when starting an instance. We do that through CloudFormation. edit: grammar