Server-less Does Not Mean Service-less

For a few weeks now, all of mine and my family’s online presence and services have been running exclusively using free services. Before, we shared a rented server with some friends, and that server hosted all the services provided by all of our domains: zzamboni.org, sorianoramirez.org, newmoms.ch and virtsecurity.org.

Now, with our moving to a different country and all that, we decided to eliminate the need to rent a server, and even reduce costs in the process. The fact that this transition could be done without breaking any previously existing links is a testament to the flexibility of the services and the infrastructure.

The one big change I decided to make was to retire my old blog (BrT) and some other private blogs, and start them anew in posterous.com. I decided this mostly to avoid having to deal with import issues from Wordpress into Posterous, and because I wanted to use Posterous - otherwise I could have migrated to Wordpress.com and kept things essentially the same. However, I made static versions of the old sites, so that existing links don’t break.

Here’s the new setup for zzamboni.org (the most complex one):

  • Email: served by Google Apps for your domain, standard edition. It was nice that I could upgrade to a 30-day trial version of the Premium Edition, which allowed me to use the IMAP migration tool to migrate all of our users’ email (we offer email accounts to our families), so that for them the transition was completely transparent, apart from getting a new and much nicer web interface (most of our users, except for my wife and me, access their email through the web and not IMAP, we were using Roundcube email before, which is quite nice, but certainly not as nice as the Gmail UI).
  • Blogs: served by posterous.com, an amazing small company that allows you to post anything by email, doing the “right thing” with embedded media, URLs to many sites, etc. My new blog (Ideally Blue), and some private family blogs, are served by Posterous now.
  • Old web sites: served by Google App Engine using DryDrop. As I said before, this includes my old blog BrT and some private blogs and web sites. I made static copies of them using wget by following these instructions, put them on per-domain GitHub repositories, created as many GAE instances, installed DryDrop on them, and configured it to access the corresponding Git repos. I had to make some changes to the DryDrop code to make it serve index.html by default on all directories. I’m still working on this code, but I will be publishing my changes in my fork of the DryDrop repository.
  • Project pages: I maintain a few open-source projects whose web pages and code repositories ┬áhave been sometimes hosted by myself (e.g. CopperExport), in sourceforge.net, berlios.de or github.com. I am in the process of moving all of them to GitHub.
That’s about it. The other domains saw similar (albeit simpler) transitions. For zzamboni.org, my ultimate goal is to have a completely transparent experience, where everything is available inside the zzamboni.org domain, with a common look-and-feel, even though different pieces are served from different places. I haven’t had much time since the move to work on it, so things are still a bit disparate.

My overall impression is that the transitions was fairly simple. Most of the time went in planning, and in finding out how the different services work. I have to say I’m profoundly impressed by the quality and reliability of the free services available online, not only from Google, but also from smaller companies like Posterous. They make it quite possible to have a strong and reliable online presence without spending much money. As of now, our only expenses are the domain registration fees!