Since 2011 this site has been powered by WordPress running on m1.medium Amazon EC2 instance. It became neglected once HipChat took off and the version of Ubuntu it was running, Natty Narwhal (11.04), stopped being supported on October 2012... Oops! Instead of trying to upgrade the host I figured I’d take the opportunity to simplify things and try out some new tools.
From WordPress to Jekyll
First off, I really don’t need a beefy database-backed CRM powering the site, so WordPress is out. In its place I’ve chosen Jekyll, the static website tool that powers GitHub Pages. Hugo also looked appealing but lacks the ecosystem of themes and support that Jekyll has. Since I’d like to spend more time writing for the blog instead of tinkering with it, Jekyll wins. (I'm sure Hugo will catch up in time - it seems like a very well run project.)
Jekyll is also nicely supported by GitHub Pages but I saw scattered complaints about their CDN settings and limitations placed on Jekyll plugins so have decided to host the content on Amazon S3 instead.
Ideally I wouldn’t have to worry about deploying site updates to S3 at all, and Travis CI is the tool to make that happen. It watches the site's GitHub repo for changes and pushes them over to S3 with the help of the s3_website gem. This post from one of the Travis CI employees shows how easy it is to set up.
Note to self: ec2instances.info would benefit from some Travis CI love as well!
Over to Heroku
The few other non-static services and sites I hosted have been moved to Heroku and run fine on their free tier.
- s3browser, which powers files.powdahound.com, got some minor updates so it will run nicely on Heroku
- The nasty PHP script powering @SquawSnow was rewritten as a node.js app (will do a followup post on this)
Simple and cheap
I now have zero servers to worry about maintaining and will save $60/month in hosting costs. Now to kick off some of the other projects on my list and blog about them so this new setup gets some use!