Datastore timeouts, which some users on this thread mentioned, are the most disturbing issue for me at this point. I'm getting timeouts on 3-5% of all write requests.
This is especially bad if you're using GAE as a back-end data layer that your front-end server talks to through a REST API. Each timeout ties up a thread on your front-end server for 5 seconds, which is kind of scary, since timeouts on GAE seem to happen in batches - I often get 5 timeouts in a row one minute and then 5 more in a row 10-20 minutes later, etc., and this continues 24/7. On Oct 4, 6:20 pm, Nash <[EMAIL PROTECTED]> wrote: > Great article Aral, > > My strong suggestion at this stage to anyone considering GAE for a > production, business use DO NOT USE GAE. > > GAE has significant flaws; these are basic flaws and the time spent > writing a work-around to these problems is far too great for very > short internet times. > > Let me add some basic very necessary items (I am going to do a blog > entry as well on these issues) > > 1. No Bulk Delete/Update: If you ever create a one-to-many or many-to- > many relation; you will inevitably come to a point when you have to > remove an object. In doing so, if that object was being referred by > 400 objects; you have to read, change and write those objects back. > GAE does not allow you to change that this many objects. A user might > leave your service, you would want to remove all their data or mark it > as unavailable. A large tweet comes in, 20,000 followers need to be > updated. A group gets deleted, all the contacts referring to that > group need to be updated. > > 2. Random Datastore timeouts: The most annoying issue is that a single > object read/writeback can sometimes be <1000mc or can be more than > 5000mc. This random behavior cripples the app and makes it impossible > to optimize > > 3. The Google Quota Bad: if your app exceeded it's short-term quota > the punishment is very excessive: a 24 hour ban. This is the worst > possible action you can take on a dot com: You take it offline. > > 4. No sorting: When using lists, inequalities etc you can't sort on > multiple properties. You just can't. > > 5. Limited Datastore functionality and very poor workarounds: Want to > use OR? Sorry, you can't. What to simulate OR in memory? Sorry, your > process will be killed either because of high quota or long response > time. Even if you get your app to do it in memory, it is a ticking > timebomb, it will explode when more users come in. Very unsalable in > that regard. Want to use two inequalities? Sorry. > > 6. Magic Exploding Indexes: Yes, Lists are a great concept but they > can cut you in half. You cannot mix multiple lists in a single WHERE > clause, or suffer explosion. You cannot create too many (20< if that > sounds like too many) indexes, you will have them explode. Lists are a > double-edged sword which cut you a lot more than help you. > > 7. In 2008, GAE keeps on making you reinvent the wheel: As a > webapplication/startup, the most important thing is feature velocity. > How fast can you deliver features? With GAE, some very common > functionality has to be reinvented over and over. To the point where > it consumes so much time that the cost-time benefits are completely > lost. > > 8. No HTTPS. Toy apps aside (apologies to wordle and buddypoke), if > google wants serious applications it NEEDS to add HTTPS support. In > this day and age of trust building, colored address-bar to peace of > mind; you cannot leave this feature out. > > 9. Dev Server is broken. The local test server doesn't work on half > our development systems. Its broken. Its results do not reflect the > behavior of GAE itself. It won't do simple things like load static > files. > > 10. No support: Ofcourse, this is a preview, if you get in a mess and > need a Googler's attention; it's up to their discretion and leisure > time do they respond to you. Nothing is binding at this time; you're > not paying them anything yet. > > 11. GAE Admin is NO replacement for the Django Admin. But that's how > it is portrayed in the GAE's documentation. You think that Google's > Admin is a replacement for django's admin. Boy, are you wrong. The GAE > admin is a very limited app; on dev server it will keep throwing > errors at you. The app looks more like a backend for programmers where > as the whole point of the django admin was to allow for "admin USERS" > to access it and make changes to the data. In its current form, it > can't be used by non-tech-savy users. > > 12. Very slow GAE upgrades: The GAE team is very slow on introducing > changes to appengine. For something that's targeted for release by the > end of the year, this is not at all going to the pace required. > > 13. No roadmap shared: We'd all shutup on the features if Google said > "we're working on it, it'll be out"; Google won't even say it's > working on it or that there is work being done > > I'm a big fan of Django and when Google announced a scalable web > application framework with Django, I was thrilled! But I have been > very disappointed. This "preview" is not up to the level of Google's > "previews". Google has shown us that it has high quality standards so > much so that we trust it with our private email, docs etc whereas all > these services are in Beta. > > My software shop had a team of 6 GAE developers, but until GAE can get > it's act together, we're pulling away from it. The time and money > wasted on getting simple things to work is atrocious and the light at > the end of the tunnel is just way too far away. > > WS > -Nash > > On Oct 3, 11:52 pm, Aral Balkan <[EMAIL PROTECTED]> wrote: > > > I just wrote up a blog post summarizing the biggest issues I have with > > App Engine:http://aralbalkan.com/1504 > > > If you are developing real-world/commercial apps with App Engine, > > please add your thoughts to the discussion. > > > Thanks, > > Aral --~--~---------~--~----~------------~-------~--~----~ 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 [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en -~----------~----~----~----~------~----~------~--~---