Code On The Road

Posted by sam Fri, 01 Jul 2011 16:21:00 GMT

As I write this I am sitting on a wall in the Croatian town of Bol, on the isle of Brac. I am currently touring Europe on a motorbike (www.biketouraroundeurope.com, if you’re interested) and all the while I have been maintaining an application for a client.

Without sounding smug (although having said that, this will inevitably come across as exactly that) it has been satisfying to push code updates from the inside of a tent, receive SMS notifications of important events, and otherwise keep things ticking over from nothing more than a £70 netbook from ebay and the odd bit of wireless Internet access obtained with the unfortunate buying of a beer.

Whilst a bit extreme, this just goes to show you what a good, automated deployment system can do for you. If I had to hand-ball this stuff onto the multiple boxes that make up the production and staging servers I wouldn’t have been able to do keep the app running.

Now me, on my wall, is small-fry stuff I admit (the app maintains just over 1 million subscribers for a number of national newspapers, and is in no way mission critical). But if you’ve a big farm of boxes and a decently sized development team you’ll be wanting to get new code into live quite often. New code is change, and change is risk, and the more you can automate the risk out of the process the quieter your alerting systems and the happier your clients.

I’ve been keeping a close eye on CloudFoundry (www.cloudfoundry.org, but the real stuff goes on on github) recently. Even within the annexed datacenter walls products of this kind are most definitely the future of system administration. SCM + Capistrano (or Ant, or whatever else your world works best with) should certainly be a minimum, we all know this by now - but taking the abstraction a level higher as these tools do and thinking only in terms of “compute units” and request routing is, I am sure, the way forward. Leave one team to worry about the gear, and another to deploy things to it in an automated, repeatable, reconfigurable fashion.

Trackbacks

Use the following link to trackback from your own site:
http://blog.sam-pointer.com/trackbacks?article_id=98