If you think puppet/chef is too much complexity you might find saltstack worth some attention. I haven't used it in real anger yet, but I've really liked what I've seen so far. I see they've even got instructions specific to aws now too [1] Also worth mentioning cloud formation as well [2]. That might make the pain of chef/puppet more of a worthwhile investment! [1] https://salt-cloud.readthedocs.org/en/latest/topics…
Ansible is another alternative that is relatively simple.
Why I left Heroku, and notes on my new AWS setup
81–90 of 231 posts
Re: Why I left Heroku, and notes on my new AWS setup
#82I get a 500 when I go to the site. It seems like a bad omen for an article about your hosting setup.
Re: Why I left Heroku, and notes on my new AWS setup
#83http://i.imgur.com/UEHzaOL.png
EDIT: Back online, the site migrated to AWS is not the blog.
Re: Why I left Heroku, and notes on my new AWS setup
#84> The way we set up Soundslice is relatively simple. We made a custom AMI with our code/dependencies, then set up an Elastic Load Balancer with auto-scaling rules that instantiate app servers from that AMI based on load. Doesn't sound that simple to me (as a complete sysadmin noob). Somebody should write a book about this.
That's actually, honestly, a bad way to do it. It's fine to pre-load an instance with source and application/package dependencies. At this point though, you really should be backing those up with it being deployed by Puppet/Chef. Essentially you pre-run a puppet manifest and have it do all the first-run processing and then store THAT as the AMI/instance. This way you have an instance that only needs a few seconds to…
There are 3 general levels you can take with AMIs:
1) Vanilla instance AMI, have puppet/chef install everything for you, then fetch your app code and configure that
2) Use another tool to have your instance built with puppet/chef and then capture that into an AMI. Once it spins up it just needs to get your app code. Idea here is your services arent likely to need updated as fast as your app code.
3) Same as two, but when your production code is in release/maintenance mode, bake everything into an AMI. When you need to deploy new code, you need to create a new AMI, but you are creating an AMI with scripts so its no big deal :) All you have to do now is update your cloudformation
Re: Why I left Heroku, and notes on my new AWS setup
#85Yet another post about scalability/architecture that goes down under load. There should be some rule for that. http://i.imgur.com/UEHzaOL.png EDIT: Back online, the site migrated to AWS is not the blog.
Re: Why I left Heroku, and notes on my new AWS setup
#86> The way we set up Soundslice is relatively simple. We made a custom AMI with our code/dependencies, then set up an Elastic Load Balancer with auto-scaling rules that instantiate app servers from that AMI based on load. Doesn't sound that simple to me (as a complete sysadmin noob). Somebody should write a book about this.
Would you be interested in a blog post about it? I'm a sysadmin/devops with 12 years in, and build stuff like this on a daily basis. I wouldn't mind sharing how the sausage is made.
Re: Why I left Heroku, and notes on my new AWS setup
#87Yet another post about scalability/architecture that goes down under load. There should be some rule for that. http://i.imgur.com/UEHzaOL.png EDIT: Back online, the site migrated to AWS is not the blog.
Re: Why I left Heroku, and notes on my new AWS setup
#88Yet another post about scalability/architecture that goes down under load. There should be some rule for that. http://i.imgur.com/UEHzaOL.png EDIT: Back online, the site migrated to AWS is not the blog.
Re: Why I left Heroku, and notes on my new AWS setup
#89Earlier quoted context omitted.
That's actually, honestly, a bad way to do it. It's fine to pre-load an instance with source and application/package dependencies. At this point though, you really should be backing those up with it being deployed by Puppet/Chef. Essentially you pre-run a puppet manifest and have it do all the first-run processing and then store THAT as the AMI/instance. This way you have an instance that only needs a few seconds to…
Depends on how fast you want new instances to be online. Sometimes you want to respond to demand very fast, it can take a few minutes for an instance to register with ELB, if you have to download/build/configure packages prior you are just adding minutes on time. The faster you can spin up instances the higher you can run your servers as you need to tell amazon at what threshold should I spawn more instances There ar…
Obviously if you have a setup with rapidly deployed code changes you'll want to have your puppet manifest grab the latest version before deploying live when spinning up a new instance.
Re: Why I left Heroku, and notes on my new AWS setup
#90Earlier quoted context omitted.
RDS is pretty expensive for what you get. You can't restore to a running instance from snapshots, you get very little control over the environment, and you can't replicate between geographic regions (only availability zones). I know you said you're a two man shop, but in this case it may make more sense to leverage other IaaS DB services instead of RDS.
I am not sure what you mean by "You can't restore to a running instance from snapshots" cause, well, I've done it a few times. Could you expand a bit maybe?