This past week, at work, I did a major architecture overhaul. Where previously LendSquare had been running on a poorly cobbled together union of Apache and Passenger, it is now running much smoother with easier deploys on a poorly cobbled together union of Nginx and Unicorn. The decision was made to avoid Apache’s behaviour where it restarts Ruby processes only when a new request comes in after a deploy. That was agony, waiting for the page to load after a deploy, because the application processes hadn’t been restarted yet. Now we have close to zero downtime deploys. Or we did, until Wordpress happened.
Part of our architecture troubles was that a Wordpress site for documentation and frequently asked questions was improperly deployed and configured. The new architecture meant that we’d be using fastcgi for Wordpress, though, and it wasn’t immediately apparent how that would impact our site. It turns out that it caused the available memory to diminish to a tiny sliver and a whole bunch of swap space to get eaten up. The fastcgi processes for Wordpress were taking up huge resources, and these were pages that didn’t really need to change that often! So, we started looking at Jekyll, which seemed really promising, then we looked at Octopress, which is almost like a distribution of Jekyll (Jekyll plus niceties and plugins that make the Jekyll experience a lot smoother).
In the interest of dogfooding and trying things out before I buy them, I decided to replace my blog here at maxthomstahl.com with an Octopress blog. That blog is this blog, the one you are looking at right now. I have to say that Octopress, particularly the ease with which you can install themes and deploy to any server you have SSH access to, made this process almost laughably simple, and it brings my blogging process more in line with my programming process (I am, right now, editing this blog post in Vim). Good times all around, space cadets.