jordanryanmoore

So Long, Tumblr

published on at with comments and reactions

According to Pingdom, my website had an abysmal 99.67% uptime over the past year. It was down 68 times for a total of 1 day, 5 hours, and 20 minutes. Why?

Tumblr…

So, over the past few weeks, I have been looking at other low cost (or free) options for jordanryanmoore.com. I didn’t want to suffer using Wordpress.com again. I’ve built enough of my own custom blogging solutions over the years to know it’s not worth the time, plus the minimal amount of traffic this site receives doesn’t justify paying for most hosting options.

I had been hearing more and more about generated static websites lately. Instead of dynamically rendering all of the content at run-time, they generate static pages at build time. This works well for websites where content doesn’t change often (like my blog), but wouldn’t work for those that are rapidly-changing or have user-specific content.

After looking at a couple of options, I settled on jekyll — a Ruby-based solution. It supports Markdown, Liquid, and has a fairly flexible plug-in system.

One of the benefits of a generated static website is that your hosting provider just needs to be able to serve static files. There’s no need to worry what version of PHP or Java they’re running. It means you can do cool stuff like host on Amazon’s Simple Storage Service. There’s even a library for uploading a jekyll site to S3 that almost makes it too easy. As for uptime… Amazon’s S3 SLA promises 99.9% uptime, and if they drop below that, they’ll reduce my bill.

Alas, it’s not all wine and roses. Everything dynamic needs to be client-side, meaning I need to use Disqus for comments, and I don’t have a good solution for site search yet. I also can’t post to my blog from a mobile device since I need to run jekyll and jekyll-s3 (although I’m working on my own solution for this).

Finally, as you can probably see (as long as you’re not using a feed reader), I took this opportunity to redesign things a bit here as well. I’m taking an iterative approach, so things are still unfinished, but I’ll be making small tweaks here and there over time. Feel free to leave your thoughts.