I run BuddyPoke, so let me chime in.  BuddyPoke is an OpenSocial
application that runs on Orkut, hi5, MySpace, netlog, friendster and
will soon be live on Ning. We have 17 million users, most of which has
come in the last two and half months.

I use App Engine to store user state in the App Engine datastore: a
user's avatar, pokes, moods, etc.  I use Amazon S3 to store icons.
Before App Engine came along I was using a hosted box and Amazon S3
for all the icons.  To this day I still use S3 for the icons, for the
simple reason that it's a significant amount of mostly static data.
Once App Engine is out of preview I will flip a switch and move all
the icons over to App Engine as well.

In terms of is App Engine ready for prime time. I can certainly stand
up and say yes it is for facebook, OpenSocial, iPhone apps, and really
any number of applications or websites where you may need to scale,
and scale rapidly, and it's not life or death for you to have 99.999%
up time.  We all know it's still in *preview* release.  So at the end
of the day you have to make your own decisions.  But typically the
number one question is: does App Engine scale??  And the resounding
answer from my experience is YES it scales beautifully.  There was one
week when Orkut went live to users in Brazil and my traffic went up 8x
overnight.  I would have had serious problems handling the traffic for
BuddyPoke had it not been for App Engine.  You could argue that I
could use EC2, or other platforms.  I know a lot of people that use
EC2 for popular facebook apps, and they still spend a huge amount of
time working on scaling-related problems.  With App Engine I'm working
on new features.. :)

As someone noted above App Engine still has short outages.  But over
the past several months, I've seen more server problems with the
OpenSocial containers' servers I work with, than I have with App
Engine. From a user's perspective I guarantee that if BuddyPoke is
broken it's mostly not App Engine's fault.  Normally BuddyPoke errors
are due to the OpenSocial container's proxy servers being overloaded
at peek hours, due to their own scaling problems.  (Or I've simply
screwed something up the Flash client, which happens..)  In that
regard I'm used to making calls that I expect might fail.  Whether
it's a failure at the OpenSocial proxy layer, or with App Engine
timing out a datastore put, it doesn't really matter. The client will
handle retries or will display error messages to the user. You
shouldn't be writing code expecting all your server calls will
succeed. Write code expecting failures.

I also got effected when Amazon S3's servers went down for 8+ hours
one weekend.  I don't quite understand the people that love AWS / S3
saying it never breaks, but are fast to criticize App Engine. I use
both, and I'm pretty sure if you add up all the short outages on App
Engine it still comes to less than the 8 hours that S3 experienced.

In terms of quota limits. The App Engine team has been incredibly
helpful in making sure that BuddyPoke can continue to grow.  All I can
say is shoot them an email if you need more quota, but make sure to
provide information on what the quota is being used for, what kind of
growth you expect, etc.  And make sure you profile and check your code
before you email them.  I'll freely admit to making some big mistakes
early on by not having things like sharded counters that can spike cpu
usage no end.

I should also mention that BuddyPoke does three levels of caching
above App Engine with the OpenSocial container's App Data cache, the
browser cache, and the Flash SharedObject cached.  So for the most
part, a cpu-intensive call is only made to App Engine when the user
does something - pokes a friend, changes their appearance etc.  99% of
profile page views, with BuddyPoke on it, will *not* make a call to
App Engine.  I'm saying that just to make the point that I'm not doing
a billion daily calls to App Engine.. ;)  But I am doing a significant
number of calls to know how well it scales, and to recommend it to
others.

-Dave


On Oct 3, 5:13 am, "Alexandru Zbarcea" <[EMAIL PROTECTED]> wrote:
> i don't know, images are sure from aws:
>
> "http://buddypoke.s3.amazonaws.com/images/install_orkut.jpg";
>
> but app itself, i don't know ... and I don't think it matters
> :-D
>
> On Thu, Oct 2, 2008 at 11:56 PM, Bill <[EMAIL PROTECTED]> wrote:
>
> > > nope ... it seems is using AWS now!
>
> > I met BuddyPoke's creator a week or so ago.  He was very happy with
> > App Engine and said how great it was to handle his significant load.
> > If you are seeing AWS, it's probably static flash files being served
> > off Amazon S3.  Let me know if that's incorrect.
>
>
--~--~---------~--~----~------------~-------~--~----~
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
-~----------~----~----~----~------~----~------~--~---

Reply via email to