| App Engine is a pain in the ass, and I wouldn't recommend it to anyone. Heroku is so simple to use that I've many times felt that someone needs to build a Heroku for Python. The only thing really wrong with App Engine is the datastore: - It's very different than anything you've come across before
- The docs are not sufficient for it's complexity. You end up having to read lots of blogs and watch lots of videos to figure it out.
- It is ridiculously difficult to learn (one of the hardest things I ever had to do)
- Important parts of your stack won't work, like Admin
- You can't just add the fields you like to an object. Instead you need to meticulously plan _how_ your data is going to be accessed. This is exactly the wrong thing for a startup, since you can't get up and running fast.
- You can't iterate fast, because any schema change is very risky and very slow.
- If you don't get everything exactly right, your app will be very slow.
- There isn't much in the ecosystem. By contrast, none of these are true for Heroku. There are some things that are pretty good about App Engine: - the tools are pretty good. Not as good as Heroku, but good.
- the billing is spot on. They give you about $1 per day of free stuff, which can maintain a site with hundreds of thousands of users. And it's pretty cheap from there on.
- They scale it automatically. On Heroku, it's really hard to tell how many "dynos" (whatever the hell that is) you need, except by trial and error. I would expect that nearly all Heroku apps are overprovisioned. App Engine just nails the scaling - it happens automatically, and you specify a maximum amount to pay per day, with lots of different dials to control it more precicely if you like. I hope Djangy takes the best of both worlds. |