

The Google App Engine Hoax - jjx
http://brokenpromisms.blogspot.com/2009/03/appengine-hoax.html

======
lacker
The article is wrong. You can get more than 500 requests per second, you just
have to contact Google first.

[http://code.google.com/support/bin/request.py?contact_type=A...](http://code.google.com/support/bin/request.py?contact_type=AppEngineCPURequest)

Also, the limit isn't 500 requests per second, it's 30,000 requests per
minute. So this doesn't kick in until you get 30,000 requests. The App Engine
help says this should be sufficient for a Digg or Slashdot link... seems
reasonable to me.

~~~
sam_in_nyc
Does anybody know what actual figures are for getting Dugg, Reddited,
Slashdotted, NYTimed, etc?

500 requests/second seems pretty high to me. But I'm admittedly new to the big
leagues.

~~~
timf
It varies with the emphasis (front page or not) etc., here is some of the
latest information I could find on super surges (some people reported over a
million viewers):

[http://www.datacenterknowledge.com/archives/2008/06/12/yahoo...](http://www.datacenterknowledge.com/archives/2008/06/12/yahoo-
buzz-traffic-the-slashdot-effect-squared/)

Here's someone saying that dramatic swings can happen inside 60 seconds:

[http://omniti.com/seeds/dissecting-todays-internet-
traffic-s...](http://omniti.com/seeds/dissecting-todays-internet-traffic-
spikes)

------
timf
This is overblown. Estimate 10 objects per page (if you don't have good cache
headers)... 43 million GETs a day (1.3 trillion requests a month) at 10/page
is around 4 million pages a day and 130 billion a month. Adjust your estimate
as necessary but it's quite a lot of page views...

Plus, you can request a quota increase here:

[http://code.google.com/support/bin/request.py?contact_type=A...](http://code.google.com/support/bin/request.py?contact_type=AppEngineCPURequest)

~~~
damienkatz
It's about fast scale-out. If you are getting that kind of sustained traffic,
then you can likely pay for the conventional hosting.

The problem is what happens when you have normal trafic but get spikes? The NY
Times links to your startup one morning and suddenly you have hundreds of
thousands potential new customers kicking the tires at the same time. You'd
like to be able to handle that easily, so you can convert some small % into
paying customers and take advantage of the free publicity. But if your site
goes down in flames you give a bad first impression to all those potential
sales, and they will likely never give you another chance.

~~~
timf
I agree but still think that's possible with the quota (before you request an
increase).

In an eight hour period (the work day), 500 requests per second is enough to
serve 1 million people 17 GETs. And the vast majority of people will bounce
away after one page view.

So unless you cured cancer or something, I wouldn't worry.

------
kg
I agree it seems weird the guy has been blogging since 1994 (per his Blogger
about page) with a whopping 2 posts, yet somehow ends up here on HN? Kinda
fishy... also, isn't Azure the polar opposite of the technology spectrum from
AppEngine? I would of expected "EC2 here I come" instead.

~~~
peregrine
There are people here who hate Google AppEngine and Google in general.

------
patio11
Umm, not to be picky, but can't a single server handle 500 requests a second
if (as is likely) most of them are for static content?

I just hit my site's homepage with ab (Apache Benchmark) just for giggles. Its
on a 256 MB Slicehost VPS ($20 a month), with a bog-standard install of Nginx
serving static content.

Nginx has a maximum of two processes.

Result of smashing it with 25 concurrent requests through AB: served 80
requests a second. I'm guessing I could set that number of child processes
higher and watch as it dutifully saturated my outbound link. 500 requests a
second is only a factor of six and change, that is probably easily doable.

90% of the workload going into an app engine app is going to be the same
stuff, right? Hitting small bits of static content, repeatedly.

Remind me why you need to rearchitecture your entire application if the limits
to what The Cloooooooooooud can scale to are in any way comparable to what you
can get from a single $20 VPS?

~~~
timf
If you are hosting predominantly static content there, then it doesn't make a
lot of sense for this level of traffic because your bandwidth bill is going to
be _sky high_ (put your static content elsewhere). Also there are uptime
properties with the app and its datastore you are not going to get at
slicehost without work and other instances.

And besides, this is not a limit on Google's architecture, this is an initial
limit they put in place for you to bump up against... which is why I find the
guy's argument inflammatory, there is no "hoax" here. EC2 has an initial
speedbump too (20 nodes) and they'll bump it up if you ask, our max is at 200
right now.

(btw I'm using slicehost, EC2 etc. myself, and I don't see appengine as some
silver bullet. I just don't think this article's argument holds any water)

~~~
irrelative
Even for dynamic content, VPS can push through stuff. I can hit a page that's
generated dynamically at about 170 requests per second. On my $30 a month VPS.
For a page requiring database access, I can run about 40 per second... with
the DB running on the same VPS.

Frankly, this is pretty embarrassing for google.

~~~
timf
But you can ask for more and you'll get it. Is it embarrassing for EC2 that
their initial cap is at 20 nodes?

~~~
irrelative
Since their goal is to have as many resources as you need, then yes I think it
is.

~~~
timf
I don't remember seeing "infinite" in any marketing material. I'm not trying
to be snarky... I think both Google and Amazon are upfront about this.

------
jjx
jjx here (The original poster). My blog post is accurate. Read the description
of scalability that Google provides. It implies that you can scale to any
degree. 500 request a second is an absolute joke. I can use any web
development environment (like Rails), and get 500 requests per second on a
crappy little machine. So App Engine doesn't scale, at all.

The main reason I wrote this post is out of utter frustration with Google.
They should get out of the developer tools business. For months I have been
coding around their onerous and ridiculous quotas, waiting for the nirvana of
paid quotas, only to be horrified by the new quotas. If these quotas are not
lifted, then I've completely wasted my time. As it stands now, I'm abandoning
App Engine.

~~~
timf
" _if these quotas are not lifted_ "

Did you ask them to increase your quota?

[http://code.google.com/support/bin/request.py?contact_type=A...](http://code.google.com/support/bin/request.py?contact_type=AppEngineCPURequest)

~~~
timf
On your blog, you put this in comments:

" _For all those saying that "all I need to do is ask (beg) Google for more
quota, read this:_ "

[http://www.reddit.com/r/programming/comments/81f1k/the_googl...](http://www.reddit.com/r/programming/comments/81f1k/the_google_app_engine_hoax)

I read that and it seems like the person is talking about not getting a
special _free quota_ he had and that he was in negotiations for (but had not
heard back yet)?

That seems like a completely different situation to me than a paying customer
who wants to increase their quota.

Note that this translates to "give Google more money" so I don't know why you
think this is something like begging.

On Amazon, they also want to make money and they happily increase quotas. They
just want to know what's up, if you're a legitimate customer who's really
going to pay them and not do a chargeback on the credit card the first month,
etc.

------
livando
my web apps only need to handle about 5 hits a minute, so I'm good.

------
DenisM
@jjx, you should have known better than investing your resources into a
platform that does not suit your needs. When buying a product buy it for it is
today, no what it may or may not become tomorrow.

------
pstatho
Gotta agree that 500 req/s for a _scale on demand_ service. I'm building my
service on the Azure platform, though nothing has been officially announced,
it doesn't look like they'll have similar limits.

~~~
vegai
But doesn't Azure have a much worse limitation: Microsoft?

------
ajkirwin
Talk about much ado about nothing.

If Google's limits are, somehow, a problem for you.. go get yourself some EC2
servers, or co-locate or.. a hundred other possible things.

~~~
mseebach
The promise of the cloud was a goodbye to limits. Deploy to the cloud, and
you'll never run out of anything. Ever.

Amazon (, promise of): We add resources faster than you can use them, kthxbye.

Google apps: Hit the once-in-a-lifetime really, really big one, and we'll be
serving up 503's to your customers instead of writing invoices to you. Oh, and
if it's sustained we might need you to spend critical time re-deploying to a
different architecture.

~~~
redrobot5050
The difference between the two is that Amazon isn't free. Its pay-per-use.

Provided that you stay within the "free" quota, an AppEngine app can be
developed/deployed for free.

One is more "hobbyist" than the other. S3/EC2 is used all over the place by
professionals, whereas AppEngine has yet to to really achieve that same kind
of ubiquity (in terms of developer mindshare).

------
TweedHeads
Fake blog, disperse posts, incendiary article against google.

Smells like propaganda, follow the money trail to redmond.

~~~
jjx
jjx here. This is not propaganda, nor is it incendiary. It's the truth. I have
been promoting App Engine to everyone I talk to, because of the ease of
deployment and the promise of scalability. I have been waiting for months for
the beta quotas to be lifted. My wait has been in vain. It seems that
scalability to Google means it will scale on one little machine in their
infrastructure. If 500 requests per second is the best I can get from "10
years of knowledge Google has in running massively scalable, performance
driven systems", then the hype of Google is a fiction.

~~~
mcantelon
All you have to do is ask them to raise your quota.

Why are you omitting this fact?

[http://code.google.com/support/bin/request.py?contact_type=A...](http://code.google.com/support/bin/request.py?contact_type=AppEngineCPURequest)

