Old blog, new code

(3 minute read)

It occurred to me the other day that this blog has been living since about 1998 (closest date I could find.) That makes it about 15 years old - that’s very old for internet years.

Over the past 15 years the site has run:

  • hand managed HTML
  • ASP (classic)
  • Drupal 5
  • Drupal 6
  • Jekyll/HTML

I’ve recently updated the site to run Jekyll. First, let me say, I’m not leaving the Drupal community. In fact, I’m working on more Drupal projects than I ever have before. After discounting the idea of upgradding to Drupal 7 I decided to check out the competition and finally decided to go with Jekyll. It gives me the flexibility I need while being lightweight and not requiring me to learn yet another system. Is Jekyll for everybody? No but that can be said for just about every piece of software. There is no one size fits all.

Part of my motivation of going with Jekyll is it easily allows me to add/edit/delete blog posts in an environment I’m used to (shell/vim) and host on Amazon S3 (or just about any host out there.) This allows me to work in a very simple environment in an open format (Markdown) and gives me tons of cheap hosting options that will scale very well. I have made some consessions in moving to Jekyll. All of my pages are static html so that means no more built in search or user comments. It is possible to both of these items with external services but my site is so small I felt they weren’t really needed in the long run.

Detractors for Amazon S3 hosting:

  • It’s slow (a basic page request takes about 300-400ms and most of that time is “waiting”)
  • My pages can’t be dynamic on the server side, it has to be just HTML
  • Horrible integration with Cloudfront CDN
  • Log formats are difficult to read

Positive items for Amazon S3 hosting:

  • It’s cheap
  • It can handle millions of page requests without a problem
  • It has redirects now (a.html -> b.html) even to other domains
  • It can host on a root domain (no www needed)
  • It routes 404s to a custom page.

Overall I’ve found a workaround from all of S3’s detractors with the exception of the Cloudfront integration. Until Amazon fixes Cloudfront’s ignoring of S3’s redirects I cannot use the service. This is a shame since using S3 my page request is about 1.2s where it would be about 400ms on Cloudfront. (See the update below.)

I’ll post again about this subject if I hear any word on Cloudfront respecting S3 redirects.

I also moved my projects from being hosted on this site to Github. Hopefully this will allow the projects to continue living rather than being locked away in my somewhat abandoned site.

Either way, welcome to the new site and my apologies for blasting your RSS reader with a copy of every blog post.

Update: I’ve found a workaround for the interaction of S3 and Cloudfront.

  1. You must have Cloudfront pull from the S3 Web URL, not from the S3 bucket.
  2. If you are doing redirects on S3 you cannot go http -> https on a redirect.
Categories: