Provision for the poor man's server
For some weeks now, one of my website has started to be heavy loaded and needs to move to a new home. Iy cost me 2 hard days last time to install the server, It’s boring to plan it again. Also I start to think about what could happen if the server crashes and if I need 2 days (less because I have written down the procedure) to get a new slice up. Here start my journey to find a simple solution to automate this deployment from scratch OS to a full running rails stack.
Common solution for big guys
- chef: used or promoted by EY and 37s’ it s the most popular, ruby syntax, quite Ubuntu oriented
- puppet: written in ruby, has it s own DSL, more open to other systems
- moonshine combine the best of the two worlds with a ruby DSL, but sadly it s opinionated and not easy to find recipes or to build recipes if you choose another road (example: nginx).
Currently using FreeBSD, I’d like to keep this config, that doesn’t seem to be an option in these solutions. Also they require a server to dispatch configurations as they are build for provisioning clusters and clouds solutions (chef supports a solo version).
to mention: puppetshadow, the DSL extracted from moonshine to use on puppet
Then I dug further to find some solution for the poor man’s server.
Capistrano
Since the beginning I feel like capistrano could do this job. I use it a lot to remote administrate and deploy application, then why not for setting up my server. And then i started to find some products doing it:
- carpet: still alive ?
- sprinkles with the passenger-stack
- deprec, old friend I’d like to see the evolution
Then I will try those 2 and give feed back later on.
Mixin
To mention also, initiatives built on sprinkles to start working with chef:
- chef bootstrap : to setup a chef client server
- sprinkle_chef same same but different
Take a look to solution as vagrant to setup a full VM stack with rails, quite useful for development and ensure every developer use the same environment. You can also build your own box.
If you know any other solution that can fit in this post (ruby, one server deployment, etc…), leave a comment.
Most used front end: poll results
For severals month now I put a poll about which front end people use for their website. Even if it s not a reference with only 85 votes I would like to publsih some result. Of course as the content of this website is ruby oriented, then the results will be also.
First it started with most of votes for apache. At the end Apache it’s still the first:
- 47%: apache
- 40%: nginx
- 7% : lighttpd
- 5% : others
The result for nginx is over general real stats but for the trend is here and nginx is more and more the choice for a ruby stack as I did present in my last post