Friday, February 20, 2009

routefriend infrastructure

Unnoticed by non-techies these past few years, it has become easier and easier to build a web-based application. Free, easy-to-use tools for development and hosting have significantly reduced the barriers to getting a web app developed and off-the-ground.

At Routefriend, we're taking full advantage of these innovations. Our infrastructure:
  • Python with Django framework - We chose this initially to be compatible with Google App Engine. However, Google App Engine has significant obstacles at present for serious web application development. Principal among these are (1) no multithreading, (2) inability to install c-based libraries like lxml, and (3) short time-out limits for requests limit the scale of behind-the-scenes computation.
  • MySQL - We're using this popular relational database for now. However, as much as possible, we're moving things that can be cached to memcached and exploring scalable key-value databases such as SimpleDB from Amazon.
  • Amazon Web Services - Amazon's cloud hosting solutions, EC2 and S3, provide a flexible pay-as-you-go solution ideal for a bootstrapped startup. The best aspect of EC2 is its scalability for when traffic increases. The downside is, the price is much higher than more limited hosting solutions from godaddy or webfaction. For a web and database server I currently pay $0.50 per hour which adds up to a few hundred dollars monthly. It's not much, but it is Routefriend's biggest expense.
  • Google Maps API - Routefriend's map-driven user-interface leverages the awesome power of Google Maps for geocoding and map-based presentation.
  • jQuery - It's called "The Write Less, Do More Javascript Library". That about sums it up. It makes javascript even easier and allows impossibly slick plugins. My favorite is the datepicker.

No comments: