Aeroplane Software

Messing about since 1975.

Continuous Delivery == Awesome

Continuous Delivery, by Jez Humble and David Farley, is one of the best software engineering books I’ve ever read. The ideas in this book are going to transform the industry.

The general idea is that deployments and upgrades are only as painful as they are because we do them infrequently. The release process should be so routine that performing a release is the most boring thing in the world. Continuous delivery takes continuous integration to the natural next level.

Read this book. You’ll see that we needn’t endure the difficulties that we take for granted when we maintain a software system.

Continuous Delivery

Werner Vogels Keynote at Amazon re:Invent

Amazon CTO Werner Vogels gave the day 2 keynote address at the recent re:Invent conference. I highly recommend the video for anyone interested in where web architecture is heading (elastic scaling, fault tolerance, etc.).

If you are using ssh to change something on your server, your automation is broken.

Colophon

I love Amazon Web Services. Their organization has been innovating at a breakneck pace. Since about a year and a half ago, they have supported hosting a static website on S3.

I finally switched over to that. This post is invaluable for getting all the configuration right to make the website work.

The other technology I’m using this time around is a blogging engine called Octopress which is tailor-made for a web nerd like me. It’s meant for editing GitHub pages, but since it generates a static website, it’s also ideal for publishing to S3.

A typical blogging engine like Wordpress store posts, tags, etc. in a relational database and then uses some kind of server technology like PHP to dynamically generate a page for every web request. Not only does this make hosting and setup more complicated, this places a burden on your web server to do some actual computation whenever it needs to serve a page. Under normal circumstances, it’s not much work, and your blog can hum along happily on a very inexpensive shared hosting account. The problem comes when circumstances become abnormal, such as when something on your blog gets linked from Reddit, Slashdot (yes, it still exists), or Daring Fireball.

What ought to be a happy day for the life of your blog becomes an emergency when your little server can no longer keep up. I should point out that in a shared hosting environment, you can expect downtime if any of the customers on your shared host suddenly go viral.

You can solve this problem with Wordpress by adding a plugin called WP Super Cache. How does it work? It bypasses the dynamic generation of pages and serves static files! With Octopress, I skip the middleman and simply generate static pages from the get-go. This isn’t actually a new technique for blogging; This is how Movable Type has always worked, among others. But with Octopress, I get the alpha nerd pleasure of creating a new post like this:

rake new_post["What the What?!"]

Testing Some Code

I just want to try to show some support for code highlighting.

1
2
3
$ git checkout -b my-cool-new-feature
$ git checkout master
$ git merge --squash my-cool-new-feature

So Long and Thanks for All the Fish

I have decided to return to the workaday Joe Sixpack, 9-to-5 world. Aeroplane Software, the company, will cease to exist. Aeroplane Software will continue life as this blog.

It was a great five-and-a-half years. Thanks to everyone who helped make it possible.