As many people have stated about advantages of GAE for startup already, let
me provide some disadvantages. The purpose of this is not to discourage
people to use GAE but inform them about both sides of the story.

The first and most important issue is a vendor lock-in. GAE normally
requires you to spend significant efforts to develop and optimize
specifically for the platform to run your applications nicely and cost
effectively. For example, it is recommended to use a platform-specific
database layer like Objectify than the portable but heavy-weight one like
JPA or JDO. Another example is that it is recommended to minimize the size
of your applications to reduce the cold-start time. This also means that
very useful but heavy-weight frameworks like Spring are not going to be
comfortable with GAE unless you are willing to pay a steep price of
"reserved instances". As a result, if one day you have to move your
applications away from GAE to somewhere else, porting your applications is
not going to be an easy task. You might have to spend significant resources
for that. The possible reason for the movement might be that Google
increases the price significantly such that your business model is not
sustainable anymore. This happened before to many people. Have a look in
the highly popular forum topic (
https://groups.google.com/forum/?fromgroups#!topic/google-appengine/obfGjbIkOTI).
 Now, some people might argue by bringing up Opensource alternative of GAE
like Typhoonae (http://code.google.com/p/typhoonae/) or AppScale(
http://code.google.com/p/appscale/). Despite the fact those are great and
honorable attempts, neither of them are fully compatible with GAE. In other
words, if your applications run smoothly on GAE, they might simply break
apart on their platforms.

The second issue is the development efforts and learning curve required.
GAE is designed for highly scalable applications and require you as a
programmer to think the same. It certainly requires a new mindset compared
to a traditional web applications development. Generally speaking,
everything you do should be able to implement in a fully distributed way.
For instance, you should not use a relational database like Mysql because
it is a major bottleneck in traditional web applications. (You actually can
use it now with Google Cloud SQL. However, it deteriorates the purpose of
running an application for GAE).

The third issue is a sharing of fate. This is actually not just for GAE but
for any other cloud solutions. You are going to run your applications on a
shared infrastructure. You do not know what applications are run besides
you in the same IP. They might be spam or malicious software developed by
hackers. Then, the IP might be blocked for a security reason. An example of
this is the recent CloudFlare blocking issue (
https://groups.google.com/forum/#!msg/google-appengine/Q6yQ4d9ov-o/hAyrgn0xZQwJ
).

All in all, the major thing to concern is picking the right tool for the
right job. GAE is suitable if your applications require a very high
scalability and you don't have or want to operate an operation team (System
administrators). Other than that, I would recommend you to find other
options.

On Sat, Aug 4, 2012 at 1:03 AM, hyperflame <hyperfl...@gmail.com> wrote:

> It would be a good fit for most of those subjects, but keep in mind
> that GAE cannot access email through IMAP or POP3 because it doesn't
> support sockets, only standard url fetch. If you want to include email
> in your service, you'll have to base a proxy somewhere else, such as
> Rackspace, Heroku/AWS, etc.
>
> On Aug 3, 4:37 am, Levi Campbell <levicc00...@gmail.com> 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...>,
> > 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 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.
>
>


-- 
Best Regards,
Rerngvit Yanggratoke

-- 
You received this message because you are subscribed to the Google Groups 
"Google App Engine" group.
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