Provision with Chef – baby steps (installation and initial configuration)
In the previous post I wrote about our pre-chef approach for instance bootstrapping.
Today I will explain the process of our migration to Chef. I’m sure that could be useful for someone down the road, who’s trying to travel on similar route. …
Provision machines with AWS – custom bootsrapper
In the previous post I wrote a little about our transition to AWS.
Now I will tell a little more about our instance bootstrap process.
Basically at the end of the previous post we discussed tree possible options for automated machine startup:
- Create different AMI for each server role. …
History of infrastructure at FastCompany
Recently I started doing quite a bit of operations stuff at FastCompany, so I decided to write couple articles to illustrate our transition to AWS and later to Chef. There were few bumps on the road, some of you may be able to avoid them by reading these posts .. …
Nullmailer and Fakemail – two little tools for every developer
From time to time I need to work with outgoing mails: change templates, make sure they display correct data etc. You could go with some full blown MTA like postfix and it’s actually pretty easy to install and configure for outgoing mail sending. I personally tend to not install MTA on my dev box, …
Bootsrap your aws nodes with chef using cloud-init
Recently I was trying to figure a way to setup chef-client on our AWS machines in a way we could start / reboot them through Amazon UI or knife.
It turns out that Amazon AMI and most official Ubuntu AMIs provide cloud-init tool which we can use to manipulate user-data. …
Proxy parts of Drupal site with Nginx.
Sometimes it could be quite useful to proxy a section of your site to the different multisite install, running different version of Drupal.
Real world scenario: When you go to www.fastcompany.com/mba (which is sadly still running on Drupal 5 at the time of writing ), …
Nginx proxy_read_timeout catch or double php script execution
I was working on import script recently. Expected execution time was more than 60 seconds, the default value of proxy_read_timeout directive in Nginx that’s why Nginx displayed nice 504 Gateway Timeout error every time I run the script, even though the script was still running on the back end. …