« Power Line Innovations | Main | Designating Blog Collections by Photograph »

Controlling Amazon's EC2 with Capistrano and Rake

Steve Spigarelli sent me a link to this description of how to control EC2 from rake, the Ruby build manager. The implementation uses Capistrano, a Ruby utility for executing multiple commands on remote server in parallel.

This is very timely since I just posted the Technometria podcast with Doug Kaye and Jeff Barr on using Amazon’s Web services (AWS) for large, sophisticated applications. This has been on my mind of late and its nice to see some specifics about doing it. The Niblets post gives some great detail on how to manage the instances.

I just relistened to the conversation with Jeff and Doug again yesterday afternoon and was struck by some of the details about building applications on AWS.

  • You’ll probably need an external controller that runs the database and manages instances. You can’t put the whole application on AWS.
  • Applications that have a component of batch processing work well.
  • Management by SLA is a key topic that hasn’t been discussed enough. Automatically firing up new instances to meet SLA guidelines is a natural thing to do in this platform.
  • Building user interfaces to asynchronous applications is difficult and not well understood.
  • Queues provide a universal message buss for connecting and controlling instances.

I’m sure there’s more in there, but that’s what I impressed me at the moment.

Posted by windley on February 16, 2007 3:56 PM

See related posts:

1 Comments

Another issue is to consider (or design) applications in which certain components must be available 24x7 and others which are not as critical. For example, in the case of GigaVox Audio Lite, the CMS can survive certain outages. When it's down, our customers can't create or modify programs. Not the end of the world for short periods. However, when it comes to the *delivery* of programs to listeners, we need the high availability of a CDN. I've taken that into consideration for GVA Lite. If we lose our CMS Controller or database, no listeners/viewers are affected. The content delivery continues without interruption. Even the logging continues uninterrupted, since it just backs up in the queues. One of the greatest challenges was making sure that everything associated with content delivery would continue even if the database failed.

Leave a comment

I encourage you to leave a comment below. Your email address will not be displayed on Technometria, but allows me to communicate with you directly. Your email address won't be displayed, but will be used to compute a MicroID for your comment.