Daily Archives: July 20, 2008

Where do you put your web application?

Here is my question: say you have a pet project and you would like to put it live for a couple of friends to get feedback or for a very private alpha. What solution do you use?

I’ve been thinking about this for the last couple of days and even if I don’t have an answer, here is what I’ve looked at.

Google App Engine

Considering you have already got your Google App Engine account, then it looks like for a pet project/private alpha this option will be free. But you’ll have to conform to a set of very strong constraints:

  • the app must be developed in Python
  • you don’t have access to a real filesystem
  • you don’t have any scheduling capabilities
  • your app must be developed using the framework from Google. More or less – and this is not intended to start a flamewar – your app is locked in

Now, what I think is quite limiting with Google App Engine is the lack of any scheduling capabilities. Considering you can overpass all the other constraints, this one seems to me a very important missing part.

Amazon Cloud

The 2nd option I’ve been looking at is the Amazon cloud offering. The clear advantage over Google App Engine is the fact that you get a real OS where you can install everything you’d like. So, even a multi-language environment is ok.

The downside is evidently the fact that you have to take care yourself of the installation, upgrades, etc. Secondly, afaik, the Amazon EC2 is not yet offering a persistent local filesystem — it was announced for later this year — and so you’ll have to set up a custom solution for backing up your FS on Amazon S3. This is a constraint also for using normal relational databases. For dedicated persistence, Amazon has the SimpleDB, but this will also lead to have a locked-in-like app.

Traditional solutions

You can probably always go for the traditional solutions of using either a self-hosted server or use an ISP hosting. For these the pros and cons are quite clear and so I will not spend time on them.

As you can probably read between the lines, I’d prefer:

  • to have an environment that would allow me to use different language environments (Java, Python, Php, Ruby, etc.)
  • not be required to create a framework locked-in application

I would really appreciate if you can share what is your experience and what solution are you using.
Emphasizing the pros/cons that made you pick your choice will also help me a lot.

If you are interested in the Romanian online market (and you read in Romanian), you can follow my other blog: Koolapp: web-ul viitorului. web de calitate



Filed under technolog