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 [email protected] 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 -~----------~----~----~----~------~----~------~--~---
