by Brandon Rhodes • Home

The Road to WebFaction

Date: 1 August 2009
Tags:computing, python

I am very happy with my first weeks of hosting sites at WebFaction. They have taken so much responsibility off of my shoulders. They run nginx in front of my web applications on my behalf. I fill out a simple form, placing Pylons under / and Wordpress under /blog, and they write all of the redirect rules to accomplish it. I list the domains and sub-domains on which my site should appear, and they configure the virtual hosting for me.

WebFaction has even finally wrested domain name control from my fingers. Gone are the installations of bind that used to be running everywhere, and the smattering of shell scripts with which I wrapped “nsupdate” to publish new host names. Now, I accomplish host name changes in a few moments through the control panel on WebFaction. This gives me more time to do creative things for my customers, and gives me one less daemon that I have to keep upgraded if I want to avoid security problems. (If you want to try them out for yourself, using this WebFaction sign-up link will credit me as the one who recommended them.)

This move to making WebFaction my default choice for hosting new client projects is only the most recent chapter in the very long story of my devolving responsibilities on to other people. The previous steps went something like this:

Two quick notes before closing.

First, I should stress that the earlier steps in this process would have been difficult to skip. To this day, writing input and output code in Python is often helped by knowing something about what the buffering code underneath must look like. Making final tweaks to my WebFaction hosting accounts is helped by having written end-to-end Apache configurations before, so that I recognize the options I am looking at when one of them needs to be tweaked. And so forth. That is why I try never to show impatience when I tell another programmer about some wonderful convenience which I have discovered, and they frown and say they would rather do it themselves: they are probably obeying a deep and important engineering instinct, that tells them to understand a layer of functionality quite thoroughly before letting it disappear into an additional layer of abstraction. Sometimes an inexperienced person has to do it themselves first, however imperfectly, before they can move on. Think, for example, of all that the Django guys must have learned by now.

Second, I should note that I have told this story for its own sake, and not for the smattering of referral links above. They are included simply because I myself enjoy the chance to reward people who point out new services to me. Please just ignore the links if they make you feel like you are reading an advertisement! This blog post grew organically out of the post that I will now sit down to write next, about compiling lxml under one of my WebFaction accounts. I started explaining what it has meant for me to give up control over my front-end web server by moving to WebFaction, and once I was a few paragraphs in I realized that I had a whole separate blog post on my hand. I hope you have enjoyed it!

©2021