#Devops

  • First impressions deploying to Heroku

    My new place is moving from being a startup to having to put in places some things you need for the longer term running of a charity. So, I’ve been fiddling with a few apps. I’d deployed one which works perfectly in dev and test and one of my staff, when I said i was about to spin up an EC2 instance to host it, mentioned it was small enough we could run probably run it for free on the everyone-gushes-about-it Heroku (which is something I’ve thought about some of my other personal apps).

  • Great Memcached screencast on scaling Rails

    At some point all web applications and sites, if they’re popular, need to think about how to scale past their database bottleneck. All the big boys these days are using memcached, and with very good reason (even those not using Rails).

    Rails has fantastic support for memcached and this great screencast bad link from the guys at RailsEnvy goes over when and how you should use it in your app with some very good real life examples.

  • Setting time zone on Ubuntu Hardy

    Noticed for the first time in ages that my server was not set to the correct timezone since DST started. Oops. Very easy to fix on Hardy. Just ssh into your box and

    sudo dpkg-reconfigure tzdata
    

    then pick your geographical time zone.

    Et voila.

  • IaaS, Heroku and the 2 minute Rails deploy

    Devs hate dealing with infrastructure. They’d much rather code solutions than worry about whether the servers have been updated, a piece of software is there or the environment differs from what they have on their development boxes.

    Amazon EC2 started it (though really you still need to manage the hardware), Google app engine (if you like python) followed, and Heroku made it seemingly effortless to deploy and run Rails apps. It’s now following with pricing plans, both Shared and Dedicated that can handle production deployments (I love the pricing tier names : Blossom, Koi, Crane, Ronin, Fugu and Zilla… ;-) ). IaaS (Infrastructure as a Service) is now becoming the increasingly accepted standard for devs in both startup staging and business production.

  • Scalr - Roll your own server farm on top of Amazon's Web Services

    I figured someone was going to do it before long, because I’d already thought this would make a great business (provided Amazon don’t just do it and eat your lunch):

    Put an easy to use console over Amazon’s Elastic Computer Cloud (EC2) and Simple Storage Services (S3) for people who don’t want to mess with infrastructure so you can focus on the dev side.

    So, Scalr’s web service is fundamentally a management, deployment and monitoring web console that sits on top of Amazon’s EC2, EBS and S3 services to let you roll your own automatically scalable server farm with failover via web interface at just $50/m over the Amazon charges.

  • Pushr for painless github deploys and notification

    If you’ve been keeping up with the blog, it’s probably not hard to figure out that I really, really like git and capistrano. They’ve made my development and deployment better and much less painful. I’ve also been using github quite a bit lately (as well as pondering here on the ranch how we need to redesign our set of development and deployment tools in order to gain some consistency over our php, java and rails development as well as make them as painless and easy as possible).

  • Flickr's PHP architecture

    As mentioned in the previous post, Flickr kind of rocks as a photo sharing community. Besides the taggability of photos and creation of feeds, you can even mark up photos and add notes for emphasis inside photos, tag and comment on them which is the bomb. Oh, and it has easy posting of photos to any blog service as well as creating arbitrary xml rss feeds. Quite cool.

    Besides the fact it is a great little Canadian company out of Vancouver, BC they also use one of my favourite languages, PHP to get a lot of their functionality in place.