Once upon a time, before the word Internet (or cloud) put dollar signs in VC eyes, sites were built with static tools. All a good Webmaster needed was a text editor and a Web server – maybe a few images and blink tags if they were feeling fancy.
These days, most of the Web is powered by dynamic content management systems like WordPress or Drupal. But what if there was another way, a better way, leveraging cloud services like Amazon S3 or GitHub? Werner Vogels has done just that by using S3 and Jekyll.
Amazon S3 should require no introduction here, but an intro to Jekyll may be in order. Jekyll is a Ruby-based site generator that takes a directory of text (in Markdown, Textile or Liquid markup) and spits out a Web site.
Todd Hoff has followed Vogels' journey and answers the question on most people's minds: Why? Aside from the obvious geek angle ("because you can") why would anybody want to go to the trouble of putting together a static site using a bunch of tools rather than just going the standard CMS route? Obviously there's a good reason why the current crop of CMSes rose to prominence in the first place.
There's a couple of answers to that. Hoff notes that static sites are more scalable than dynamic sites. Filesystems are reliable – you don't have problems with database connections when the server only needs to spit out a static file. Not so with databases, says Hoff, which "tend to spike memory, fill up tables, hit slow queries, and have a myriad of other annoying failure modes."
If done right, this is also a cheaper way to serve sites. Hosting a few pages on Amazon S3 is cheaper than maintaining a virtual private server or similar to provide WordPress or another CMS.
The downsides? There are plenty. First off, while serving pages is scalable, editing isn't. Hoff notes that editing a static site can be a pain when multiple users are involved. It could be overcome with a sufficiently hackish set of collaborators, but this isn't a solution that you'd want to spring on the marketing department.
Another downside is that you lack comments and other niceties provided by CMSes. However, you can supplement a static site with services like Disqus if necessary. Hoff has a few other ideas about how to get around the lack of features on his post.
Vogels has an interesting approach that might work well for a limited set of sites. It's hard to see it catching on with the same audience that has made the easy install and easy manage CMS options popular, but maybe there's a market for management software that works with S3? What do you think, do static sites have a shot?