Hacker News new | ask | show | jobs
by marram 6031 days ago
I would suggest starting with Google App Engine (the Python version). For the following reasons:

1. Python is a good language to learn. You can use it for other things beside building a web app. GAE is similar to Django.

2. The GAE datastore is easier to fathom than a traditional database. For some reason, I always found databases hard to understand, and it seems that designing schemas for non trivial projects is a separate and distinct skill set from software engineering.

3. GAE solves the updating/patching of working code by providing a sane environment and tools to update and version your app. You can easily switch back to a previous version. Patching datastore schemas is slightly harder.

4. You get scalability out of the box. You don't have to worry about hardware, or even configuring "virtual" instances. None of that. But you probably won't have to worry about scalability for a while.

5. You can easily deploy code to multiple environments. You just need to signup for more apps, and update your app.yaml file to point to a new app name. You can do this in a simple build script.

I hope this helps.

Cheers.

1 comments

Because of GAE's odd architecture, a lot of things that you could get away with elsewhere (especially at non-mega-scale) will give you obvious latency hits.

The upside is that the issues are easy to find, and your code doesn't get any slower if you jack up the load!

It leads you to think about scaling in a most pleasant way.