I'm using app engine for all my new app idea and here's why.
1. It's great for a one man show. Building an app takes a lot of time. I don't need to speed my time being a sysadmin. I want to spend it coding. I've used EC2 and a lot of my time was just spent tweaking and getting an instance working and making sure you don't lose your data.
2. The api's are great. I have instant access to memcache, mail, image and task queue apis, zero configuration.
3. I can build and test an app idea for free. If it gets traction it's already to be scaled.
4. I like Python. I used to be a php guy but after working with python my tastes have changed.
5. It's fast (most of the time). I do every once in awhile experience latency but no deal breakers.
Possible cons.
1. Technology lock in. Lets face it though, you're locked in with whatever stack you choose. If you get successful who cares, then you can hire so one to re-code your app if you desire.
2. Python and Java only, yep I can see this being a con. I had to learn Python to use app engine, which I don't think is a bad thing.
3. Terms and conditions. You are bound to their T's and C's
I'm sure there are more cons but in my situation I want to build an app quickly and it out the door. If it takes off I'm ready to scale and make some money:)
>3. I can build and test an app idea for free. If it gets traction it's already to be scaled.
I think this is huge reason to go with GAE. For instance I'm trying to launch a service to allow people to see deleted reddit comments (unedditreddit.com). It's a dinky little idea and I have no idea if it will get traction or not, but if it does get traction it will have to bear the load of the massive reddit userbase.
I could deal with this by trying to solve the scaling issue on my own from the beginning, making implementation take a lot longer and more complex. Or I could do a simple implementation not solve scaling, and try to panic patch as the site starts to break under pressure. Or I could do a GAE implementation and have the best of both world.
I've just launched LinkPeelr on App Engine: http://linkpeelr.appspot.com. It was seamless, quick and easy, and the app is getting a bit of traction already. I am estimating that with free quota I can support about 10,000 active users. LinkPeelr is a dead simple web, but this should give you some idea of how far you can scale without spending a cent.
For more on why this makes sense, see:
"PaaS as a satisfying and success-ready hobbyist platform" (with Google App Engine as the primary example)
http://stage.vambenepe.com/archives/1014
Apparently it's not only for hobbyists... it's the leading favorite amongst enterprise CIOs too, as seen in this Morgan Stanley survey which just came out last week: http://goo.gl/LcbS
Don't forget to use django-nonrel so that you can move apps b/w App Engine and any normal ISP supporting Django apps. You only need to change your database in settings.py! http://allbuttonspressed.com
1. It's great for a one man show. Building an app takes a lot of time. I don't need to speed my time being a sysadmin. I want to spend it coding. I've used EC2 and a lot of my time was just spent tweaking and getting an instance working and making sure you don't lose your data.
2. The api's are great. I have instant access to memcache, mail, image and task queue apis, zero configuration.
3. I can build and test an app idea for free. If it gets traction it's already to be scaled.
4. I like Python. I used to be a php guy but after working with python my tastes have changed.
5. It's fast (most of the time). I do every once in awhile experience latency but no deal breakers.
Possible cons. 1. Technology lock in. Lets face it though, you're locked in with whatever stack you choose. If you get successful who cares, then you can hire so one to re-code your app if you desire.
2. Python and Java only, yep I can see this being a con. I had to learn Python to use app engine, which I don't think is a bad thing.
3. Terms and conditions. You are bound to their T's and C's
I'm sure there are more cons but in my situation I want to build an app quickly and it out the door. If it takes off I'm ready to scale and make some money:)