(I am a member of the App Engine team)

Unless there is something that App Engine cannot do that you need e.g. 
transcoding video, it's a great choice for a number of reasons:

1. Low administration work for you:
  - No need to setup your own database.
  - No need to provision and run your own servers
  - Automatic scaling

2. Easy to use:
  - One simple configuration file.
  - One code file.

3. Free for low traffic apps.

One of the key issues for your app is what storage options are available. 
The main options in App Engine are

  - Datastore (based on BigTable) and/or Google Cloud SQL (NEW!) for your 
database
  - memcache - Low latency but not persistent storage for frequently 
accessed data.
  - blobstore and/or Google Cloud Storage for "large" files (a row in 
Datastore must be < 1MB)

Another major issue is off-line work. There are a number of services to 
help you with that:

  - cron for work that needs to happen on a schedule
  - Task Queue - A mechanism for distributing work. Can be used in push and 
pull modes.
  - backends - Larger servers that can take as much time as they want to 
perform units of work.

Things that may block you from using App Engine:

  * No native code. You can bring along third-party libraries that don't 
use native code. App Engine includes some (not many) third-party libraries 
though.
  * No syscalls:
    * No writing to local disk.
    * No opening sockets. You can make HTTP requests using URL fetch, and 
(modified versions) of Python's standard libraries such as urllib. There is 
also email, XMPP (instant messaging), and the Channel API (allows clients 
to have a persistent connection to your app, allowing your app to push data 
to clients).
  * <strike>SSL is only available on appspot.com</strike> This is no longer 
true as of 1.7.0.
  * <strike>Datastore goes into read-only mode</strike> This is true for 
legacy Master/Slave Datastore apps. All new apps should use 
High-Replication Datastore, which doesn't have this problem (M/S apps 
should migrate). I think all new apps are forced into HRD now, so there's 
nothing to really think about here.
  * Resource limits. The ones that matter to you depend on your app. 
Because these get raised semi-frequently, you should refer to the 
documentation: https://developers.google.com/appengine/docs/quotas
  * Other limits. Not sure if there's a single page where all other limits 
are detailed. You should look at the documentation pages for the services 
that you think you might use to find this sort of information.

An issue which is probably not blocking for you is web frameworks. 
Generally speaking, you can bring whatever you like, but the ORM component 
might not be a good fit for App Engine. Maybe with the introduction of 
Google Cloud SQL, this has become a non-issue.

This probably isn't a comprehensive list of pros and cons, but I think I've 
hit the main points. This question comes up on other parts of the Web (e.g. 
stackoverflow and Quora), but be careful of information that's out of date. 
App Engine is continually improving with the addition of features, and 
reduction or removal of restrictions. Therefore, double check with the 
documentation when you come across something that says "you can't do X", or 
"the limit on Y is Z".

Good luck on your decision on what cloud services to use, and may the force 
be with you.

PS: I think you'll be very happy with App Engine ;)

On Friday, August 3, 2012 2:37:36 AM UTC-7, Levi Campbell wrote:
>
> I'm building a startup, and I'm considering GAE as the platform, however 
> I've been having a hard time finding information on why a startup might 
> consider GAE instead of the many cloud providers out there. Let me explain 
> what I'm working on.
>
> I'm a big fan of David Allen's Getting Things Done: The Art of 
> Stress-Free 
> Productivity<http://www.amazon.com/Getting-Things-Done-Stress-Free-Productivity/dp/0142000280/ref=sr_1_1?ie=UTF8&qid=1343984264&sr=8-1&keywords=Getting+things+done>,
>  
> and after trying several tools and online services that (claim to) 
> implement the GTD methodology, I couldn't find anything that I loved, so I 
> decided to build my own and make it available as a SaaS offering. This app 
> will allow users to pull in their info_crap from email, facebook, twitter 
> (and yes, I do have plans to add support for more social networks.), and 
> RSS feeds and organize it by relationship to the sender (i.e. family, 
> work colleague, vendor, and the like), project (i.e. planning a family 
> vacation.), and context (Either the when or where something should 
> happen.).\
>
> Would GAE be a good fit for the application I'm developing? Why?
>
>
On Friday, August 3, 2012 2:37:36 AM UTC-7, Levi Campbell wrote:
>
> I'm building a startup, and I'm considering GAE as the platform, however 
> I've been having a hard time finding information on why a startup might 
> consider GAE instead of the many cloud providers out there. Let me explain 
> what I'm working on.
>
> I'm a big fan of David Allen's Getting Things Done: The Art of 
> Stress-Free 
> Productivity<http://www.amazon.com/Getting-Things-Done-Stress-Free-Productivity/dp/0142000280/ref=sr_1_1?ie=UTF8&qid=1343984264&sr=8-1&keywords=Getting+things+done>,
>  
> and after trying several tools and online services that (claim to) 
> implement the GTD methodology, I couldn't find anything that I loved, so I 
> decided to build my own and make it available as a SaaS offering. This app 
> will allow users to pull in their info_crap from email, facebook, twitter 
> (and yes, I do have plans to add support for more social networks.), and 
> RSS feeds and organize it by relationship to the sender (i.e. family, 
> work colleague, vendor, and the like), project (i.e. planning a family 
> vacation.), and context (Either the when or where something should 
> happen.).\
>
> Would GAE be a good fit for the application I'm developing? Why?
>
>

-- 
You received this message because you are subscribed to the Google Groups 
"Google App Engine" group.
To view this discussion on the web visit 
https://groups.google.com/d/msg/google-appengine/-/iD3YZAL7s18J.
To post to this group, send email to google-appengine@googlegroups.com.
To unsubscribe from this group, send email to 
google-appengine+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/google-appengine?hl=en.

Reply via email to